body {
	font-family: -apple-system, BlinkMacSystemFont, "Meiryo UI", "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"
}

/** 環境表示 */
.environment-name {
	margin-left: 10px;
	font-weight: bold;
	color: red;
}

/** ローディング設定 */
.loading {
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.6);
	position: fixed;
	top: 0;
	left: 0;
	z-index: 20000;
}
.loading .region {
	position: absolute;
	top: 50%;
	left: 50%;
	text-align: center;
	background-color: #fff;
	border-radius: 10px;
}
.loading .region.spinner {
	width: 100px;
	font-size: 50px;
	margin-top: -50px;
	margin-left: -50px;
	color: cornflowerblue;
}
.loading .spinner .message {
	position: relative;
	top: -5px;
	width: 100px;
	font-size: 1rem;
	font-weight: bold;
	color: gray;
	text-align: center;
	animation: flash 0.7s ease-in-out infinite alternate;
}
@keyframes flash {
	0%{opacity:1.0;}100% {opacity:0;}
}
.loading .region.progress {
	width: 400px;
	margin-top: -40px;
	margin-left: -200px;
	display: block;
	overflow: visible;
}
.loading .region.progress .card-header {
	padding: 0.5rem 0.75rem;
	text-align: left;
	background-color: #fff;
	font-size: 1rem;
	font-weight: bold;
	color: #666;
}
.loading .region.progress .card-body {
	padding: 0.75rem;
}

/** プレスフォルダー設定 */
input::-webkit-input-placeholder { /* WebKit, Blink, Edge */
	font-family: "FontAwesome" !important;
}
input:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
	font-family: "FontAwesome" !important;
}
input::-moz-placeholder { /* Mozilla Firefox 19+ */
	font-family: "FontAwesome" !important;
}
input:-ms-input-placeholder { /* Internet Explorer 10-11 */
	font-family: "FontAwesome" !important;
}
input::-ms-input-placeholder { /* Microsoft Edge */
	font-family: "FontAwesome" !important;
}
input::placeholder { /* Most modern browsers */
	font-family: "FontAwesome" !important;
}

/** サイズユーティリティ */
.w-50px {
	width: 50px;
}
.w-100px {
	width: 100px;
}
.w-120px {
	width: 120px;
}
.w-140px {
	width: 140px;
}
.w-160px {
	width: 160px;
}
.w-180px {
	width: 180px;
}
.w-200px {
	width: 200px;
}

.btn {
	min-width: 120px;
}
.btn.disabled, .btn:disabled {
	cursor: not-allowed;
}
.btn-xs {
	min-width: auto;
	padding: 0.25rem 0.5rem;
	font-size: 0.875rem;
	line-height: 1rem;
	border-radius: 0.2rem;
}
.btn-move {
	min-width: auto;
	padding: 0.25rem 0.5rem;
	font-size: 0.875rem;
	line-height: 1.5;
	border-radius: 0.2rem;
}

.form-inline {
	position: relative;
}
.form-inline label {
	justify-content: inherit;
	margin-left: 5px;
	margin-bottom: 0;
}
.form-inline label.range-label {
	margin-left: 0px;
	margin-right: 4px;
}
.form-check-label {
	width: inherit;
}
.form-search {
	margin-left: auto;
	height:26px;
}
.form-search .btn {
	position: relative;
	line-height: 1rem;
	top: -2px;
}

input.size-min {
	width: 50px !important;
}
input.size-code {
	width: 90px !important;
}
input.size-name {
	width: 270px !important;
}
input.size-120px {
	width: 120px !important;
}
input.size-160px {
	width: 160px !important;
}
input.size-200px {
	width: 200px !important;
}
input.size-240px {
	width: 240px !important;
}
input.form-number {
	text-align: right;
	width: 150px !important;
}
input.form-number-short {
	text-align: right;
	width: 60px !important;
}
textarea {
	resize: none;
}
.input-group-text {
	padding: 0rem 0.5rem;
}

.custom-control-inline {
	height: 24px;
}
.custom-control-label {
	width: auto;
	cursor: pointer;
}

.was-validated .form-control:invalid,
.form-control.is-invalid {
	padding-right: 10px;
	background-image: none;
}

/** カレンダー設定 */
input.datepicker {
	width: 120px !important;
}
.datepicker-days th.dow:first-child,
.datepicker-days td:first-child {
	color: #f00;
}
.datepicker-days th.dow:last-child,
.datepicker-days td:last-child {
	color: #00f;
}
.datepicker-append {
	cursor: pointer;
}

/** フォーム設定？ */
.form-inline .form-control {
	display: inline-block;
	vertical-align: middle;
}
.form-inline .input-group,
.form-inline .custom-select {
	width: auto;
}

.input-group .btn {
	width: auto;
	min-width: 0px;
	padding: 0rem 0.5rem;
	border: 1px solid #ced4da;
}

.btn-dss-navi {
	min-width: 120px;
}

fieldset {
	border: solid 1px #dee2e6;
	border-radius: 0.25rem;
	padding: 5px;
}
legend {
	width: auto;
	margin: initial;
	font-size: inherit;
	padding: 0rem 0.5rem;
}
legend.collapse-legend {
	cursor: pointer;
}

/** ファイル選択設定 */
.dss-file {
	position: relative;
	display: inline-block;
	width: 100%;
	height: 26px;
	margin-bottom: 0;
}
.dss-file-input {
	position: relative;
	z-index: 2;
	width: 100%;
	height: 26px;
	margin: 0 !important;
	opacity: 0;
	cursor: pointer;
}
.dss-file-input::-webkit-file-upload-button {
	display: none;
}
.dss-file-label {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1;
    height: 26px;
    padding: 0.375rem 0.5rem;
    font-weight: 400;
    line-height: 1.5;
    color: #495057;
    background-color: #fff;
    border: 1px solid #ced4da;
    border-radius: 0.25rem;
    margin: 0 !important;
}
.dss-file-label::after {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 3;
	display: block;
	height: 24px;
	padding: 0.375rem 0.75rem;
	line-height: 0.75rem;
	color: #495057;
	content: "参照";
	background-color: #e9ecef;
	border-left: inherit;
	border-radius: 0 0.25rem 0.25rem 0;
}

/** アコーディオン設定 */
.dss-accordion {
	cursor: pointer;
}
.card-header {
	padding: 5px;
}
.card-header .fa {
	position: relative;
	top: -1px;
}
.card-body {
	padding: 5px;
}
.card-body.collapse:not(.show) {
    display: none !important;
}

/** アコーディオン(アイコンなし)設定 */
.dss-collapse {
	cursor: pointer;
}

/** トップ／ボトム表示 */
.fixed-top,
.fixed-bottom {
	padding: 0px 10px;
	background-color: #fff;
}

/** 基本コンテナ設定 */
.dss-container {
	margin: 2.25rem 0rem 1.5rem;
	min-width: 960px;
}
.dss-container.maintenance {
	margin: calc(1.5rem + 1px) 0rem 2rem;
}

/** テーブル設定 */
.tabulator {
	border-radius: 0.25rem;
}
.tabulator .tabulator-header .tabulator-col {
	background-color: #daeef3;
	text-align: center;
}
.tabulator .tabulator-table .title-cell {
	background-color: #daeef3;
	font-weight: bold;
}

.tabulator-headers .col-center {
	text-align: center !important;
}
.tabulator-headers .col-right {
	text-align: right !important;
}
.tabulator-data-tree-branch {
	margin-left: 4px !important;
}
.dss-table {
	margin: 10px 0px;
}
.form-inline .dss-table {
	margin: 0px 0px;
}
.dss-table-header {
	position: relative;
	margin: 10px 0px 5px;
}
.dss-table-with-header {
	margin: 5px 0px 10px;
}
.dss-table.nostriped {
	background-color: #fff;
}
.dss-table.nostriped .tabulator-row .tabulator-cell {
	border-bottom: 1px solid #aaa;
}
.dss-table.nostriped .tabulator-row.tabulator-row-even {
	background-color: #fff;
}
.dss-table.nostriped .tabulator-row.tabulator-selectable:hover {
	background-color: #bbb;
}
.dss-table.nostriped .tabulator-row.tabulator-row-even.tabulator-selected {
	background-color: #9abcea;
}
.dss-table.nostriped .tabulator-row.tabulator-selected:hover {
	background-color: #769bcc;
}
.dss-table.nostriped .tabulator-row .tabulator-cell:last-child {
	border-right: 0px;
}
.dss-table.nostriped .tabulator-header {
	background-color: #daeef3;
}
.dss-table.nostriped .tabulator-headers .tabulator-col:last-child {
	border-right: 0px;
}
.tabulator-row.tabulator-moving {
	z-index: 10000;
}

.dss-table .tabulator-row .tabulator-cell.cursor-pointer {
	cursor: pointer;
}
.dss-table .tabulator-row .select-cell::after {
	font-family: "FontAwesome";
	content: '\f0d7';
	color: rgba(0, 0, 0, 0.4);
	float: right;
}

.dss-table.one-line-table {
	margin-right: 10px;
}
.dss-table.one-line-table .tabulator-footer {
	display: none;
}
.dss-page-view .btn-sm {
	min-width: 65px;
}
.dss-page-view .btn-sm:first-child {
	margin-right: 5px;
}
.dss-page-view .btn-sm:last-child {
	margin-left: 5px;
}
.dss-page-view label:first-child {
	margin-left: 0px;
}
.btn-table {
	height: 21px;
	line-height: 0rem;
	font-size: 0.8rem;
	vertical-align: initial;
	min-width: auto;
}

/** フォーム設定？ */
* .form-inline {
	margin: 3px 0px;
}
* .form-inline:first-child:last-child {
	margin: 0px 0px;
}
* .form-inline:first-child {
	margin-top: 0px;
	margin-bottom: 3px;
}
* .form-inline:last-child {
	margin-top: 3px;
	margin-bottom: 0px;
}
.form-control {
	height: 26px;
	padding: 1px 10px;
	width: auto;
}
.form-inline input,
.form-inline select {
	margin-right: 4px;
}
.form-inline input.w-100,
.form-inline select.w-100 {
	margin: 0px;
}

.input-group input {
	margin-right: 0px;
}

/*
.modal-header {
	padding: 0.25rem 1rem;
}
.modal-header .close {
	padding: 0rem 1rem;
	margin-right: -1rem;
	margin-top: -1px;
}
.modal-body {
	display: table;
}
.modal-body .message-icon {
	display: table-cell;
	padding-right: 10px;
}
.modal-body .message-body {
	display: table-cell;
	width: 100%;
	vertical-align: middle;
}
.modal-footer {
	border-top: none;
	padding-top: 0.25rem;
}
.modal-footer .btn {
	min-width: 100px;
}
*/
/*
a {
	color: initial;
}
a:hover {
	color: initial;
}
*/
ul {
	margin-bottom: 0.5em;
}

/** 強度メーター */
.strength-meter {
	font-size: 0.75rem;
	margin-top: 3px;
}
.strength-meter .label {
	height: 1rem;
}
.strength-meter .progress {
	width: 85%;
	margin-right: 4px;
}
.strength-meter .message {
	margin-left: 3px;
}
.strength-meter .score-na {
	width: 0%;
	color: #000;
	background-color: #dc3545;
}
.strength-meter .score-0 {
	width: 20%;
	color: #fff;
	background-color: #dc3545;
}
.strength-meter .score-1 {
	width: 40%;
	color: #fff;
	background-color: #ffc107;
}
.strength-meter .score-2 {
	width: 60%;
	color: #fff;
	background-color: #6c757d;
}
.strength-meter .score-3 {
	width: 80%;
	color: #fff;
	background-color: #17a2b8;
}
.strength-meter .score-4 {
	width: 100%;
	color: #fff;
	background-color: #28a745;
}
.strength-meter .progress-bar {
	text-align: initial;
}


/** ここから下は仮コード */
.scoring-table {
	display: table;
	width: 100%;
}
.scoring-left-cell {
	display: table-cell;
}
.scoring-right-cell {
	position: relative;
	top: -1px;
	display: table-cell;
	width: 35px;
	text-align: right;
	vertical-align: top;
}
.scoring-table-header {
	display: table-row;
	height: 1rem;
	background-color: #dff2fc;
}
.scoring-table-contents {
	display: table-row;
}
.left-cell {
	display: table-cell;
	vertical-align: top;
	width: 200px;
}
.right-cell {
	display: table-cell;
	vertical-align: top;
}

.right-cell .view-point {
	display: inline-block;
	vertical-align: top;
}
.view-point div[class*="point-"] {
	margin-bottom: 8px;
}
.view-point .point-results {
	width:32px;
	height:32px;
	font-size: 34px;
	line-height: 2.3rem;
}
.view-point .point-results .font-red {
	color: red;
}
.view-point .point-results .font-times {
	position: relative;
	left: -4px;
	top: -5px;
	font-size: 58px;
}
.view-point .point-results .font-circle {
	font-size: 38px;
}
.view-point .point-results .font-triangle {
	font-size: 33px;
}

/*
div[class*="canvas-header"] {
	font-size: 0.8rem;
	line-height: 1.4rem;
}

.scoring-buttons {
	margin-bottom:5px;
}
*/
/*
.btn-scoring i {
	font-size: 26px;
}
.btn-scoring i.fa-stack-1x {
	line-height: 1.8rem;
	font-size: 20px;
}
.btn-scoring i.fa-stack-1x,
.btn-scoring i.fa-stack-2x {
	top: 0;
}
*/
/*
.popup-partial {
	position: absolute;
	left: -100px;
	top: 60px;
	background-color: #fff;
}
.popup-pentool {
	position: absolute;
	left: -210px;
	top: 240px;
	background-color: #fff;
}

label.btn-pentool {
	padding: 2px;
	width: auto;
	cursor: pointer;
}
label.btn-pentool:hover {
	background-color: #ccffcc;
}
label.btn-pentool.active {
	background-color: #99ff99;
	border-color: #333333 !important;
}
label.btn-pentool img {
	width: 22px;
	height: 22px;
}
*/

/*
i.fa-red {
	color: red;
}
i.fa-blue {
	color: blue;
}
i.fa-rotate-45 {
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	transform: rotate(45deg);
}
i.fa-rotate-135 {
	-webkit-transform: rotate(135deg);
	-moz-transform: rotate(135deg);
	-ms-transform: rotate(135deg);
	-o-transform: rotate(135deg);
	transform: rotate(135deg);
}
i.fa-size-26 {
	font-size: 26px;
}
i.fa-score-tag {
	font-size: 1.5rem;
	position: absolute;
	cursor: pointer;
}

.selectable,
.auto-selectable {
	cursor: pointer;
}
.selectable.selected,
.auto-selectable.selected {
	box-shadow:0px 0px 0px 4px #00ee66;
}
.none-selectable.selected {
	position: relative;
	box-shadow: 4px 0px 0px 0px #00ee66, -4px 0px 0px 0px #00ee66;
	background-color: #00ee66;
}

.popup-partial .form-partial {
	padding: 0px 4px;
	width: 30px;
}
*/
/** ここから上は仮コード */

/** 採点領域 */
.scoring-area {
	font-size: 14px;
}
/** 採点領域（ヘッダー） */
.scoring-area .header {
	font-weight: bold;
	white-space: nowrap;
	text-align: center;
	color: #555;
	background-color: #daeef3;
}
/** 採点領域（正解例） */
.scoring-area .scoring-area-left {
	width: 250px;
}
.scoring-area .scoring-area-left .vertical-rl {
	writing-mode: vertical-rl;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	text-orientation: upright;
	padding-top: 0.25rem;
	padding-bottom: 0.25rem;
}
.scoring-area .scoring-area-left .btn-pdf {
	min-width: auto;
	padding: 0rem 0.25rem;
	font-size: 14px;
}

/** 採点領域（スプリッタ） */
.scoring-area .splitter {
	width: 3px;
	background-color: #dee2e6;
}
.scoring-area .splitter .btn-splitter {
	min-width: 9px;
	background-color: #dee2e6;
	border-color: #999;
	color: #999;
	height: 5rem;
	position: relative;
	left: -3px;
	padding: 0;
}
/** 採点領域（キャンバスヘッダー） */
.scoring-area .canvas-header {
	height: 1.25rem;
}
/** 採点領域（付箋） */
.scoring-area .canvas-header i.fa-scoring-tag {
	font-size: 1.5rem;
	line-height: 1rem;
	position: relative;
	top: 4px;
	z-index: 1;
	color: var(--danger);
	cursor: pointer;
	-webkit-transform: rotate(135deg);
	-moz-transform: rotate(135deg);
	-ms-transform: rotate(135deg);
	-o-transform: rotate(135deg);
	transform: rotate(135deg);
}
/** 採点領域（選択状態） */
.scoring-area .dss-canvas-container.canvas-selected {
	box-shadow:0px 0px 0px 4px #0f6;
}

/** 採点ボタン */
.scoring-button {
	position: relative;
}
.scoring-button .btn-scoring {
	padding: 0px;
/* 	width: 28px; */
	width: 40px;
	height: 28px;
	font-size: 0.75rem;
	font-weight: bold;
	min-width: 28px;
	margin-bottom: 0.25rem;
}
.scoring-button .btn-scoring i {
	font-size: 26px;
}
.scoring-button .btn-scoring i.fa-stack-1x {
	line-height: 1.8rem;
	font-size: 20px;
}
.scoring-button .btn-scoring i.fa-stack-1x,
.scoring-button .btn-scoring i.fa-stack-2x {
	top: 0;
}
.scoring-button .btn-scoring:hover {
	background-color: #e2e6ea;
}
.scoring-button .btn-success.btn-scoring:hover {
	background-color: #218838;
}
.scoring-button .btn-scoring:disabled {
	background-color: #dee2e6;
	filter: grayscale(100%);
}

/** 採点ボタン（サブパネル） */
.scoring-button .sub-panel {
	position: absolute;
	z-index: 1000;
	background-color: #fff;
}
.scoring-button .sub-panel .sub-panel-header {
	font-weight: bold;
	white-space: nowrap;
	text-align: center;
	color: #555;
	background-color: #dff2fc;
	cursor: pointer;
}
/** 採点ボタン（サブパネル[部分点]） */
.scoring-button .sub-panel.partial {
	left: -100px;
	top: 60px;
}
.scoring-button .sub-panel.partial .form-control {
	padding: 0px 4px;
	width: 30px !important;
}
.scoring-button .sub-panel.partial .btn-sm {
	min-width: auto;
	line-height: 1rem;
}
/** 加点ボタンと減点ボタン（サブパネル[加点入力と減点入力]） */
.scoring-button .sub-panel.partialAdd {
	left: -255px;
	top: 60px;
}
.scoring-button .sub-panel.partialDeduct {
	left: -255px;
	top: 90px;
}
.scoring-button .sub-panel.partialAddDeduct {
	width: 246px;
}
.scoring-button .sub-panel.partialAddDeduct .form-control {
	padding: 0px 4px;
	width: 30px !important;
}
.scoring-button .sub-panel.partialAddDeduct .btn-sm {
	min-width: auto;
	line-height: 1rem;
}
.scoring-button .sub-panel.partialAddDeduct select {
	width: 50px;
}
/** 採点ボタン（サブパネル[ペンツール]） */
.scoring-button .sub-panel.pentool {
	left: -425px;
	top: 24px;
}
.scoring-button .sub-panel.pentool .btn-pentool {
	padding: 2px;
	line-height: 1rem;
	min-width: auto;
	cursor: pointer;
}
.scoring-button .sub-panel.pentool .btn-pentool:hover {
	background-color: #ccffcc;
}
.scoring-button .sub-panel.pentool .btn-pentool.active {
	background-color: #99ff99;
	border-color: #333333 !important;
}
.scoring-button .sub-panel.pentool .btn-pentool img {
	width: 22px;
	height: 22px;
}

/* テーブルコンテキストメニュー設定 */
.dss-context.dropdown-menu {
	padding: 0rem 0.25rem;
	min-width: 200px;
	-webkit-box-shadow: 0px 2px 5px rgba(0, 0, 0, .5);
	box-shadow: 0px 2px 5px rgba(0, 0, 0, .5);
}
.dss-context .dropdown-item {
	padding: 0.25rem 2rem;
	margin: 0.25rem 0rem;
	cursor: pointer;
}
.dss-context .dropdown-item::before {
	position: absolute;
	left: 0.75rem;
	color: #2980b9;
}
.dss-context .dropdown-item.dss-context-hover {
	color: #fff;
	background-color: #2980b9;
}
.dss-context .dropdown-item.dss-context-hover::before {
	color: #fff;
	background-color: #2980b9;
}
.dss-context hr {
	margin: 0px;
}

/** タブ設定 */
.dss-nav-link {
	padding: 0rem 0.5rem;
	white-space: nowrap;
	border-top: 3px solid transparent !important;
	border-bottom: 1px solid #dee2e6 !important;
}
.dss-nav-link:hover {
	border-top: 3px solid #dee2e6 !important;
}
.dss-nav-link.active {
	border-top: 3px solid #007bff !important;
	border-bottom: 1px solid transparent !important;
}
.dss-tab-content {
	border-left: 1px solid #dee2e6;
	border-right: 1px solid #dee2e6;
	border-bottom: 1px solid #dee2e6;
}

/** タブ設定（オーバーフロウ対応） */
.overflow-nav .overflow-left,
.overflow-nav .overflow-right {
	width: 30px;
	border-bottom: 1px solid #dee2e6;
}
.overflow-nav .overflow-tabs {
	overflow-x: hidden;
}
.overflow-nav .overflow-tabs .nav.nav-tabs {
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
}
.overflow-nav .btn-overflow {
	min-width: auto;
	padding: 0rem 0.4rem;
	line-height: 0.75rem;
	margin-top: 0.25rem;
	border-color: #dae0e5;
	width: 27px;
}
.overflow-nav .btn-overflow i {
	font-weight: bold;
	position: relative;
	top: -1px;
}

/** バッジ設定 */
.input-mode.badge {
	padding: 0.1rem 0.4rem;
	line-height: 0.75;
}

/** ページ制御 */
ul.pagination {
	margin-bottom: 0px;
}
.pagination .page-link {
	padding: 0.25rem 0.75rem;
}

/** 数学記号ボタン*/
.math-sign .btn-pentool {
	padding: 2px;
	line-height: 1rem;
	min-width: auto;
	cursor: pointer;
}
.math-sign .btn-pentool:hover {
	background-color: #ccffcc;
	
}
.math-sign .btn-pentool.active {
	background-color: #99ff99;
	border-color: #333333 !important;
}
.math-sign .btn-pentool img {
	width: 22px;
	height: 22px;
}
.math-sign label {
	margin-left: 2px !important;
}

/**フリーハンド描画**/
.freehandModeOn {
	background-color: #99EDC3;
}
.selectedFreehandMode {
	background-color: #3DED97;
}