@charset UTF-8;

/*=======================================================================*/
/* FONTs */
/*=======================================================================*/
@font-face {
	font-family: 'Noto Sans Japanese';
	font-style: normal;
	font-weight: 300;
	src: url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-DemiLight.woff2) format('woff2'),
		url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-DemiLight.woff) format('woff'),
		url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-DemiLight.otf) format('opentype');
}
@font-face {
	font-family: 'Noto Sans Japanese';
	font-style: normal;
	font-weight: 500;
	src: url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.woff2) format('woff2'),
		url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.woff) format('woff'),
		url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.otf) format('opentype');
}


/*=======================================================================*/
/* COMMON */
/*=======================================================================*/

/*----------------------------------*/
/* GENERAL */
* {
	font-family: 'Noto Sans Japanese', sans-serif;
	font-weight: 300;
	color: #333;
	line-height: 1.4;
	box-sizing: border-box;
}

.cf::after {
	content: "";
	display: block;
	clear: both;
}

a:not(.btn) {
	color: #0061AB;
	text-decoration: none;
	cursor: pointer;
	outline: none;
}
a:hover {
	text-decoration: none;
}

i {
	color: inherit;
}

b {
	font-family: sans-serif;
	color: inherit;
	font-weight: bold;
}

.btn-default {
	background-color: rgba(0, 0, 0, 0.1);
	color: #333;
}
.btn-default:hover {
	background-color: rgba(0, 0, 0, 0.15);
	color: #333;
}

.text-sm {
	font-size: 0.875rem;
}


/*----------------------------------*/
/* Typo */

.text-light {
	color: #DDD !important;
}
.bg-light {
	background-color: #CCC !important;
}

/*----------------------------------*/
/*  */


/*----------------------------------*/
/* .btn */
.btn {
	border-radius: 0 !important;
}

.btn.disabled,
.btn[disabled] {
	pointer-events: auto !important;
}
.btn.disabled:hover,
.btn[disabled]:hover {
	cursor: not-allowed;
}

.btn-xs {
	font-size: 0.675rem;
	line-height: 0.75rem;
	padding: 0.15rem 0.25rem;
}

.btn-blue,
.btn-primary {
	background-color: #0061AB !important;
	border-color: #0061AB !important;
	color: #FFF !important;
}
.btn-blue:hover,
.btn-primary:hover {
	background-color: #FFF !important;
	border-color: #0061AB !important;
	color: #0061AB !important;
}
.btn-outline-primary {
	background-color: #FFF !important;
	border-color: #0061AB !important;
	color: #0061AB !important;
}
.btn-outline-primary:hover {
	background-color: #0061AB !important;
	border-color: #0061AB !important;
	color: #FFF !important;
}


/*----------------------------------*/
/* form */


/*----------------------------------*/
/* form */
form > h4 {
	width: calc(100% + 2rem);
	border-top: 1px solid #AAA;
	margin: 4rem -1rem 0.5rem -1rem;
	padding-top: 4rem;
}

form .col-form-label {
	font-weight: bold;
}
form .col-form-label > span.badge {
	border-radius: 0;
	font-size: 0.75rem;
	font-weight: 300;
}

select.form-control {
	-webkit-appearance: none;
	-moz-appearance: none;
}
.form-control,
.custom-select,
.custom-file-control,
.custom-file-control::before,
.input-group > .input-group-prepend > .input-group-text,
.input-group > .input-group-append > .input-group-text {
	border-radius: 0;
	border-color: #EEE;
	font-weight: 300;
}
.form-control[required],
.custom-select[required],
.custom-file-control[required],
.custom-file-control[required]::before,
.input-group[required] > .input-group-prepend > .input-group-text,
.input-group[required] > .input-group-append > .input-group-text {
	border-radius: 0;
	border-color: #999 !important;
}

.form-check {
	margin: 0.25rem 0;
}
.form-check-inline + .form-check-inline {
	margin-left: .75rem;
}

.form-horizontal > .form-group:last-child {
	text-align: center;
	margin-top: 2rem;
}

.form-horizontal.form-striped > .form-group {
	background-color: #FFF;
	margin: 0;
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
}
.form-horizontal.form-striped > .form-group:nth-child(odd) {
	background-color: #F2F2F2;
}

form > .form-group.row > .col-form-label > span.badge {
	float: left;
	margin: 0.2rem 0.5rem 0 0;
}

@media screen and (min-width: 768px) {
	form > .form-group.row > .col-form-label:not(.text-left) {
		text-align: right;
		padding-right: 2.5rem;
	}
	form > .form-group.row > .col-form-label:not(.text-left) > span.badge {
		float: right;
		margin: 0.2rem -2.5rem 0 0.6rem;
	}
}


.form-horizontal .form-group > .col-form-label > .badge {
	float: right;
	margin: 0.25rem 0 0 1rem;
}
.form-horizontal .form-group > .col-form-label.col-12 > .badge {
	float: left;
	margin: 0.25rem 1rem 0 0;
}
@media screen and (max-width: 768px) {
	.form-horizontal .form-group > .col-form-label {
		text-align: left;
	}
	.form-horizontal .form-group > .col-form-label > .badge {
		float: left;
		margin: 0.25rem 1rem 0 0;
	}
}

form > .form-row {
	margin-right: -15px;
	margin-left: -15px;
}
form > .form-row [class^=col-]:not(.col-form-label) {
	padding: 0.25rem 15px;
}
form > .form-row [class^=col-] > .col-form-label {
	display: block;
	width: 100%;
	padding-top: 0.25rem;
	padding-bottom: 0.25rem;
}
form > .form-row [class^=col-] > .col-form-label > .badge {
	margin-left: 0.5rem;
}
form > .form-row .custom-radio,
form > .form-row .custom-checkbox {
	margin-top: 0;
}


/* .no-gutter */
.row.no-gutter,
.form-row.no-gutter {
	margin-right: 0 !important;
	margin-left: 0 !important;
}
.row.no-gutter > [class^=col-],
.form-row.no-gutter > [class^=col-] {
	padding-right: 0 !important;
	padding-left: 0 !important;
}

/* .narrow-gutter */
.row.narrow-gutter,
.form-row.narrow-gutter {
	margin-right: -7.5px !important;
	margin-left: -7.5px !important;
}
.row.narrow-gutter > [class^=col-],
.form-row.narrow-gutter > [class^=col-] {
	padding-right: 7.5px !important;
	padding-left: 7.5px !important;
}

/* .gap-text */
.row > [class^=col-] > .gap-text,
.form-row > [class^=col-] > .gap-text {
	float: left;
	display: block;
	width: 30px;
	height: 38px;
	line-height: 38px;
	text-align: center;
	margin: 0 0 0 -30px;
}



/* .input-group */
.input-group > .input-group-prepend > .input-group-text,
.input-group > .input-group-append > .input-group-text {
	background-color: #EEE;
	border: none;
	border-radius: 0;
	font-weight: 300;
}
.input-group > .input-group-prepend > .input-group-text.unstyled,
.input-group > .input-group-append > .input-group-text.unstyled {
	background-color: transparent;
	border-color: transparent;
}

.input-group > .input-group-prepend > [class="btn"],
.input-group > .input-group-append > [class="btn"] {
	background-color: transparent;
	border-color: #999;
}

.input-group > .input-group-prepend.w-icon + .form-control {
	border-left: none;
}
.input-group > .input-group-append.w-icon + .form-control {
	border-right: none;
}
/* .custom-control */
.custom-control,
.custom-control-label {
	cursor: pointer;
}
.custom-radio,
.custom-checkbox {
	margin-top: 0.5rem;
	margin-bottom: 0;
}
.custom-control-label::before,
.custom-control-label::after {
	top: 0.2rem;
}



.custom-file-control::before {
	content: "Browse";
}
.custom-file-control:empty::after {
	content: "Choose file...";
}

.input-group > .form-control-plaintext {
	position: relative;
	flex: 1 1 auto;
	width: 1%;
	margin-bottom: 0;
}


/* validation */
.custom-radio .custom-control-input:indeterminate ~ .custom-control-indicator,
.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-indicator {
	background-color: #ddd;
	background-image: none;
}
.was-validated .custom-radio .custom-control-input:valid ~ .custom-control-indicator,
.was-validated .custom-checkbox .custom-control-input:valid ~ .custom-control-indicator {
	background-color: #ddd;
}
.was-validated .custom-radio .custom-control-input:invalid ~ .custom-control-indicator,
.was-validated .custom-checkbox .custom-control-input:invalid ~ .custom-control-indicator {
	background-color: rgba(220, 53, 69, 0.25);
}

.was-validated .custom-radio .custom-control-input:checked ~ .custom-control-indicator {
	background-color: #007bff !important;
}
.was-validated .custom-checkbox .custom-control-input:checked ~ .custom-control-indicator {
	background-color: #007bff !important;
}
.was-validated .custom-control-input:valid ~ .custom-control-description {
	color: inherit;
}

.custom-control-input.is-valid ~ .custom-control-label,
.was-validated .custom-control-input:valid ~ .custom-control-label {
	color: initial;
}
.custom-control-input.is-valid:checked ~ .custom-control-label::before,
.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before {
	background-color: #007bff;
}
.custom-control-input.is-valid ~ .custom-control-label::before,
.was-validated .custom-control-input:valid ~ .custom-control-label::before {
	background-color: #dee2e6;
}
.custom-control-input.is-valid:focus ~ .custom-control-label::before,
.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before {
	box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.custom-select.is-valid,
.form-control.is-valid,
.was-validated .custom-select:valid,
.was-validated .form-control:valid {
	border-color: #EEE;
}






/*----------------------------------*/
/* placeholder */
:placeholder-shown {
	color: #DDD !important;
	font-weight: 300;
}
:-moz-placeholder {
	color: #DDD !important;
	font-weight: 300;
	opacity: 1;
}
:-ms-input-placeholder {
	color: #DDD !important;
	font-weight: 300;
}
::-moz-placeholder {
	color: #DDD !important;
	font-weight: 300;
	opacity: 1;
}
::-webkit-input-placeholder {
	color: #DDD !important;
	font-weight: 300;
}
.was-validated :invalid:placeholder-shown {
	color: #dc3545 !important;
}
.was-validated :invalid:-moz-placeholder {
	color: #dc3545 !important;
	opacity: 1;
}
.was-validated :invalid:-ms-input-placeholder {
	color: #dc3545 !important;
}
.was-validated :invalid::-moz-placeholder {
	color: #dc3545 !important;
	opacity: 1;
}
.was-validated :invalid::-webkit-input-placeholder {
	color: #dc3545 !important;
}

/*----------------------------------*/
/* table */
.table > thead > tr > th {
	background-color: #EEE;
	font-weight: bold;
}
.table > thead > tr > th > span {
	font-weight: normal !important;
	font-size: 0.75rem;
}


.table > tbody > tr > th {
	background-color: #F6F6F6;
}

.table > thead > tr > th {
	text-align: center;
}
.table > thead > tr > th > a {
	font-weight: 500;
}
.table > thead > tr > th > a::after {
	content: "\f0dc";
	font-family: 'FontAwesome';
	color: #CCC;
	margin-left: 1rem;
}
.table > thead > tr > th > a.asc::after {
	content: "\f0de";
	color: #333;
}
.table > thead > tr > th > a.desc::after {
	content: "\f0dd";
	color: #333;
}


.table-responsive > .table {
	margin: 0;
}

.table-responsive > .table th,
.table-responsive > .table td {
	font-size: 0.875rem;
	white-space: nowrap;
	vertical-align: middle;
	padding: 0.5rem;
}
.table-responsive > .table th.bg-primary,
.table-responsive > .table td.bg-primary {
	color: #FFF;
}

/* tab */
.nav.nav-tabs {
	margin: 1rem 0;
}
.tab-content > .tab-pane {
	padding: 1rem;
}
.tab-content > .tab-pane > dl.row {
	margin-right: 0;
	margin-left: 0;
}
#review-tab .nav.nav-tabs > .nav-item {
	width: calc(100% / 6);
	text-align: center;
}
@media screen and (max-width: 767px) {
	.nav.nav-tabs > .nav-item > .nav-link {
		font-size: 0.875rem;
		padding: 0.5rem 0.5rem;
	}
}


u {
	font-weight: bold;
	margin: 0 0.25rem;
}


/* list */
ul:not(.list),
ol:not(.list),
dl:not(.list) {
	list-style: none;
	margin: 0;
	padding: 0;
}
ol.breadcrumb {
	padding: 0.75rem 1rem;
}

ul.list {
	padding: 0;
}
ul.list > li {
	position: relative;
	list-style: none;
	margin: 0;
	padding: 1.5rem 1.5rem 1.5rem 3rem;
}
ul.list > li::before {
	content: "●";
	position: absolute;
	top: 1.5rem;
	left: 1.5rem;
}
ul.list.striped > li:nth-child(odd) {
	background-color: rgba(0, 0, 0, 0.05);
}

dl.row,
.dl-horizontal {
	display: flex;
	flex-wrap: wrap;
}
dl.row > dt {
	text-align: right;
	font-weight: 500;
}
dl.row > dt,
dl.row > dd {
	position: relative;
	width: 100%;
	min-height: 1px;
	margin: 0;
	padding: 0.5rem 1rem;
}
@media screen and (max-width: 767px) {
	dl.dl-striped.row {
		margin-right: 0;
		margin-left: 0;
	}
	dl.row > dt {
		text-align: left;
	}
	.tab-pane dl.row > dd {
		padding-top: 0;
	}
}

.dl-striped > dt:nth-child(4n + 1),
.dl-striped > dd:nth-child(4n + 2) {
	background-color: rgba(0, 0, 0, 0.05);
}
.dl-striped > dt:nth-child(4n + 1),
.dl-striped > dd:nth-child(4n + 2) {
	background-color: rgba(0, 0, 0, 0.05);
}

/* .pagination */
.pagination {
	display: inline-block;
}
.pagination::after {
	content: "";
	display: block;
	clear: both;
}
.pagination > li {
	float: left;
}
.pagination > li > a {
	position: relative;
	display: block;
	width: 2.5rem;
	height: 2.5rem;
	line-height: 2.3rem;
	background-color: #fff !important;
	border: 1px solid #0061AB !important;
	border-radius: 0 !important;
	color: #0061AB !important;
	text-align: center;
	margin-left: -1px;
	padding: 0;
}
.pagination > li > a:hover {
	background-color: #0061AB !important;
	border-color: #0061AB !important;
	color: #fff !important;
	text-decoration: none;
}
.pagination > li.active > a {
	background-color: #0061AB !important;
	border-color: #0061AB !important;
	color: #fff !important;
}

.pagination > .page-item.disabled {
	display: none;
}


/*=======================================================================*/
/* MODIFY BOOTSTRAP */
/*=======================================================================*/

p {
	margin: 0;
}
p + p {
	margin-top: 0.75rem;
}



/*=======================================================================*/
/* BASE LAYOUT */
/*=======================================================================*/

/*----------------------------------*/
/* body */
body {
	width: 100%;
	min-width: 320px;
	height: auto;
}

/*----------------------------------*/
/* header */
header {
	position: fixed;
	top: 0;
	left: 0;
	display: flex;
	justify-content: space-between!important;
	width: 100%;
	height: 60px;
	background-color: #FFF;
	box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
	padding: 0;
	transition-duration: 0.5s;
	z-index: 20000;
}

/*----------------------------------*/
/* .contents */
.contents {
	display: block;
	width: 100%;
	min-height: calc(100vh - 60px - 42px);
	margin: 60px 0 0 0;
}
.contents > .current_date {
	float: right;
	display: block;
	font-size: 0.75rem;
	padding: 0.25rem 0.5rem;
	background-color: #ffc107;
}

/*----------------------------------*/
/* footer */
footer {
	display: block;
	width: 100%;
	height: 42px;
	background-color: #FFF;
	border-top: 1px solid #F2F2F2;
	padding: 0.7rem 0;
}


@media screen and (max-width: 575px) {
	header {
		height: 40px;
	}

	.contents {
		min-height: calc(100vh - 40px - 42px);
		margin-top: 40px;
	}
}

/*=======================================================================*/
/* HEADER STYLE */
/*=======================================================================*/

/*----------------------------------*/
/* header */
header > .brand {
	display: inline-block;
	margin: 0 1rem;
	padding: 0;
	transition-duration: 0.5s;
}
header > .brand > a {
	overflow: hidden;
	display: block;
	width: 300px;
	height: 60px;
	line-height: 44px;
	color: #000;
	font-weight: 300;
	font-size: 1.25rem;
	padding: 0.5rem;
	transition-duration: 0.5s;
}
header > .brand > a > img {
	float: left;
	width: auto;
	height: 60%;
	margin: 0.7rem 0.75rem 0.7rem 0;
}
@media screen and (max-width: 575px) {
	header > .brand > a {
		display: block;
		width: 52px;
		height: 40px;
		color: #FFF;
		padding: 0.25rem 0.5rem;
	}
	header > .brand > a > img {
		margin: 0;
	}
}


/*----------------------------------*/
/* .header-navi */
header > .header-navi {
	display: inline-block;
	margin: 0;
	padding: 0;
}
header > .header-navi::after {
	content: "";
	display: block;
	clear: both;
}
header > .header-navi > li {
	float: left;
	position: relative;
	margin: 0;
}
header > .header-navi > li > a {
	overflow: hidden;
	display: block;
	width: 66px;
	height: 60px;
	color: #CCC;
	font-size: 0.75rem;
	text-align: center;
	padding: 0.7rem 0 0 0;
}
header > .header-navi > li:hover {
	background-color: #0061AB;
}
header > .header-navi > li:hover > a {
	color: #FFF;
}
header > .header-navi > li > a > i {
	color: #CCC;
	font-size: 1.5rem;
}
header > .header-navi > li > a:hover > i {
	color: #FFF;
}

header > .header-navi > li.env-alert {
	overflow: hidden;
	height: 60px;
	line-height: 60px;
	padding: 0 2rem;
}

@media screen and (max-width: 575px) {
	header > .header-navi > li > a {
		color: transparent !important;
		width: 44px;
		height: 40px;
		padding: 0.55rem 0 0 0;
	}

	header > .header-navi > li.env-alert {
		height: 40px !important;
		line-height: 40px !important;
		padding: 0 1rem !important;
	}
}




/*=======================================================================*/
/* FOOTER STYLE */
/*=======================================================================*/
footer .rights {
	font-size: 0.75rem;
}


/*----------------------------------*/
/* .main-contents */
.main-contents {
	padding: 3rem 0;
}
.main-contents > .alert-message {
	margin: 0 0 3rem 0;
}
.main-contents > section {
	padding: 0 0 2rem 0;
}

/*=======================================================================*/
/* COMMON STYLE */
/*=======================================================================*/
.table > tbody > tr.st-DELETED > td {
	color: #CCC;
}

.alert {
	border-radius: 0;
}


/*=======================================================================*/
/* PRIVATE STYLE */
/*=======================================================================*/
#reviews-mid .editing .obj-value {
	display: none;
}

#reviews-mid .review-value {
	display: none;
}
#reviews-mid .editing .review-value {
	display: block;
}

#reviews-mid .edit-btn {
	float: left;
	margin: 0.5rem 0 0 -3rem;
}
#reviews-mid .editing .edit-btn {
	display: none;
}


#comments-final .editing .obj-value {
	display: none;
}

#comments-final .review-value {
	display: none;
}
#comments-final .editing .review-value {
	display: block;
}

#comments-final .edit-btn {
	float: left;
	margin: 0.5rem 0 0 -3rem;
}
#comments-final .editing .edit-btn {
	display: none;
}



.fixed-wrapper {
	position: relative;
	margin-bottom: 4rem;
}
.fixed-wrapper > .footer-fixed {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	background-color: #FFF;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.3), 0 0 10px rgba(0, 0, 0, 0.1);
	padding: 0.5rem 1rem 0 1rem;
}

.ev1:empty,
.ev2:empty,
.ev3:empty,
.ev4:empty,
.ev5:empty {
	height: 47px;
}



/* .datetime-picker */
.bootstrap-datetimepicker-widget {
	border-color: #EEE;
	border-radius: 0;
	box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.2);
}
.datepicker .table-condensed thead th {
	border-radius: 0;
	padding: 0;
}
.datepicker .table-condensed tbody td {
	border-radius: 0;
	padding: 0.2rem 0.25rem;
}

.bootstrap-datetimepicker-widget table td.old,
.bootstrap-datetimepicker-widget table td.new {
    color: #CCC;
}
.bootstrap-datetimepicker-widget table td.day:hover,
.bootstrap-datetimepicker-widget table td.hour:hover,
.bootstrap-datetimepicker-widget table td.minute:hover,
.bootstrap-datetimepicker-widget table td.second:hover {
    background-color: rgba(0, 97, 171, 0.2);
}

.bootstrap-datetimepicker-widget .picker-switch td span {
	width: 2rem;
	height: 2rem;
	line-height: 2rem;
	background-color: #e65251;
	border-color: #e65251;
	border-radius: 50%;
	color: #FFF;
}
.bootstrap-datetimepicker-widget .picker-switch td span:hover {
	color: #fff;
	background-color: #e13130;
	border-color: #e02624;
}

.bootstrap-datetimepicker-widget table td.active,
.bootstrap-datetimepicker-widget table td.active:hover {
	background-color: #0061AB !important;
	color: #FFF;
}

.bootstrap-datetimepicker-widget table td.today:before {
	border-bottom-color: #0061AB !important;
}

.table-condensed th {
	padding-top: 0.5rem !important;
	padding-bottom: 0.5rem !important;
}
.table-condensed td {
	padding-top: 0.25rem !important;
	padding-bottom: 0.25rem !important;
}


#final-point-table th,
#final-point-table td {
	text-align: center;
	font-size: 0.75rem;
	padding: 0.25rem;
}
#final-point-table .pt_personal,
#final-point-table .ev_personal,
#final-point-table .pt_wmj,
#final-point-table .ev_wmj {
	font-weight: bold;
}
#final-point-table .ev_personal,
#final-point-table .ev_wmj {
	font-size: 1rem;
}
