﻿@charset "utf-8";

/*すべて共通*/
html, body{
    font-size: 14px;
    font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    color: #595959;
    background: #ffffff;
	width: 100%;
	height: 100vh;
}

body,div,h1,h2,h3,h4,p,ul,figure {
	margin: 0;
	padding: 0;
	font-weight: normal;
	font-size: 14px;
}
p,td,th,li{
    line-height: 1.8;
}
li{
	list-style: none;
}

img{
    width: 100%;
    height: auto;
}
a{
    color: #595959;
	text-decoration: none;
}
/*各要素を初期化*/
button{
	background: none;
	border: none;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
input, textarea {
	padding: 0;
	border: none;
	border-radius: 0;
	outline: none;
	background: none;
	box-sizing: border-box;
}
select{
   -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: none;
    outline: none;
    background: transparent;
	box-sizing: border-box;
	cursor: pointer;
}
select::-ms-expand {
	display: none;
}
input[type=checkbox]{
	display: none;
}
input[type=radio]{
	display: none;
}
label > input[type=file] {
	display: none;
}
/*header*/
header {
	position: fixed;
	top: 0px;
	left: 0px;
	min-width: 1024px;
	width: 100%;
	height: 30px;
	background-color: #ffffff;
	border-bottom: #EEEFF7 solid 2px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	z-index: 100;
}
.header-left {
	align-items: center;
	margin-left: 20px;
	display: flex;
	justify-content: flex-start;
}
.header-logo{
	display: block;
}
.header-logo a {
	vertical-align: middle;
	display: flex;
	height: 100%;
	justify-content: center;
	align-items: center;
}
/*回転するロードアイコンの*/
.loading-icon {
	display: block;
}

.loading-icon img.loading-detail-disp {
	cursor: pointer;
	vertical-align: middle;
	height: 90%;
	width: auto;
	justify-content: center;
	align-items: center;
	-webkit-animation: spin 1.5s linear infinite;
	-moz-animation: spin 1.5s linear infinite;
	-o-animation: spin 1.5s linear infinite;
	animation: spin 1.5s linear infinite;
}

.loading-icon img.loading-detail-disp-stop {
	cursor: pointer;
	vertical-align: middle;
	height: 90%;
	width: auto;
	justify-content: center;
	align-items: center;
}

@-webkit-keyframes spin {
	0% {
		-webkit-transform: rotate(0deg);
	}

	100% {
		-webkit-transform: rotate(360deg);
	}
}

@-moz-keyframes spin {
	0% {
		-moz-transform: rotate(0deg);
	}

	100% {
		-moz-transform: rotate(360deg);
	}
}

@-o-keyframes spin {
	0% {
		-o-transform: rotate(0deg);
	}

	100% {
		-o-transform: rotate(360deg);
	}
}

@keyframes spin {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
	}
}

/*ロード情報のポップアップ*/
.loadinfo {
	background: #fff;
	height: auto;
	border: solid #EEEFF7 2px;
	position: fixed;
	top: 30px;
	left: 100px;
	box-shadow: 0px 5px 5px rgba(0,0,0,0.2);
	border-radius: 0 0 8px 8px;
	padding: 5px;
	box-sizing: border-box;
}

.loadinfo-item-box {
	display: flex;
	margin: 5px 0;
	height: 17px;
	align-items: center;
}

.loadinfo-item-title, .loadinfo-item-status, .loading-item-statusicon {
	font-size: 12px;
	height: 17px;
}

.loadinfo-item-title {
	max-width: 350px;
	margin-right: 20px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	display: inline-block;
}
.flex-right {
	display: flex;
	margin-left: auto;
	width: auto;
	align-items: center;
}
.loadinfo-item-status {
	width: 50px;
	margin-right: 5px;
}

.loading-item-statusicon {
	height: 14px;
	width: 14px;
}

.box-loading-icon {
	background: url("../images/ic_loading.png") no-repeat;
	-webkit-animation: spin 1.5s linear infinite;
	-moz-animation: spin 1.5s linear infinite;
	-o-animation: spin 1.5s linear infinite;
	animation: spin 1.5s linear infinite;
	background-size: contain;
}

.box-loading-complete {
	background: url("../images/ic_play_ok.png") no-repeat;
	background-size: contain;
}

.box-loading-error {
	background: url("../images/ic_play_ng.png") no-repeat;
	background-size: contain;
}
.header-right{
    vertical-align: middle;
	margin-right: 15px;
	display: flex;
	justify-content: flex-end;
}
.header-right li{
	display: block;
	padding: 0 15px;
}
.header-right a {
	color: #00479d;
	text-decoration: none;
	font-weight: bold;
}
.header-right a:hover {
	border-bottom: 2px solid #00479d;
}
.header-right a:active {
	color: #595959;
	border-bottom: 2px solid #595959;
}
.header-right input {
	color: #00479d;
	text-decoration: none;
	font-weight: bold;
}
.header-right input:hover {
	border-bottom: 2px solid #00479d;
}
.header-right input:active {
	color: #595959;
	border-bottom: 2px solid #595959;
}

/*main*/
section {
	/*min-width: 1100px;*/
	width: 100%;
	/*	height: calc(100vh-95px);*/
	padding: 32px 0 22px 0;
	position: fixed;
	top: 0px;
	bottom: 0px;
	left: 0;
	box-sizing: border-box;
}
.container{
	display: flex;
	height: 100%;
}
/*サブナビゲーション*/
.sub-nav {
	background: transparent linear-gradient(135deg, #003366 0%, #00479D 100%) 0% 0% no-repeat padding-box;
	border-right: #F1F4F7 solid 2px;
	flex: 0 0 200px;
	color: #fff;
	height: 100%;
	overflow-y: auto;
	overflow-x: hidden;
	z-index: 2;
	-webkit-transform: translate3d(0, 0, 1px);
	transform: translate3d(0, 0, 1px);
}
.menu-close, .menu-open {
	width: 25px;
	height: 30px;
	background-size: contain;
	vertical-align: middle;
	margin: 0px 0px 0px auto;
	display: block;
	background-color: #fff;
	border-radius: 4px 0 0 4px;
	cursor: pointer;
	margin-top: 6px;
}
.menu-open {
	background-color: #8caf23;
	border-radius: 0 4px 4px 0;
	margin-top: 0;
	margin-right: 6px;
	margin-left: -6px;
}
.subnub-close-box {
	height: auto;
}
.sub-nav-wrapper{
	padding-bottom: 10px;
}
.sub-nav-main-box {
	margin: 0 0 0 auto;
	height: 35px;
	width: 100%;
	margin: 0;
	position: relative;
	color: #ffffff;
}
.sub-nav-main-left-box {
	margin-left: 15px;
	display: flex;
	align-items: center;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.sub-nav-main-right-box{
	margin-right: 10px;
}
.sub-nav-main-box img {
	width: 18px;
	height: 18px;
	margin-right: 10px;
	background-size: contain;
	vertical-align: middle;
	display: inline-block;
}
.sub-nav-main-box p {
	display: inline-block;
	width: 180px;
	margin-left: 5px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.sub-nav-return-box {
	height: 38px;
	display: block;
	color: rgba(255,255,255,0.7);
}
.sub-nav-return-box:hover {
	background-color: #0088FF;
	cursor: pointer;
}
.sub-nav-return-box:active{
}

.sub-nav-sub-box {
	width: 100%;
}

.sub-nav-sub-content {
	height: 35px;
	color: #fff;
	background: rgba(0,0,0,0.2);
	display: block;
}
.sub-nav-sub-content p,
.sub-nav-sub-content-select p {
	line-height: 35px;
	margin-left: 24px;
}
/*
.sub-nav-sub-content-select p::before,
.sub-nav-sub-content:hover p::before {
	content: "";
	display: inline-block;
	width: 22px;
	height: 22px;
	margin-left: -37px;
	margin-right: 15px;
	background: url("../images/ic_select.png") no-repeat;
	background-size: contain;
	vertical-align: middle;
}
*/
/*
.sub-nav-user-area{
    animation: slidein 1s;
}
@keyframes slidein{
    0%{
        opacity: 0;
        transform: translateY(50px);
    }
    100%{
        opacity: 1;
        transform: translateY(0);
    }
}
*/

.sub-nav-user-area .sub-nav-sub-content {
	background: rgba(240, 243, 250, 1);
	color: rgba(0, 71, 157, 0.7);
}

.sub-nav-sub-content-select,
.sub-nav-sub-content:hover,
.sub-nav-user-area .sub-nav-sub-content:hover,
.sub-nav-user-area .sub-nav-sub-content-select {
	background-color: #0088FF;
	color: #ffffff;
}
.sub-nav-user-area {
	background-color: #fff;
	border-radius: 24px 0px 0px 0px;
	margin-top: 10px;
}

.sub-nav-user-area .sub-nav-main-box {
	color: #00479D;
}

.sub-nav-manage-user {
	background: transparent linear-gradient(to bottom, #003366 150px, #fff 150px) 0% 0% no-repeat padding-box;
}

.sub-nav-common-user {
	background: transparent linear-gradient(to bottom, #F0F3FA 100px, #fff 100px) 0% 0% no-repeat padding-box;
}

.sub-nav-mini {
	flex: 0 0 40px;
	height: 100%;
	z-index: 2;
	background-color: #fff;
}
/*
.menu-open {
	background-color: #00479d;
	height: 50px;
	width: 100%;
	border-radius: 0 4px 4px 0;
	margin: 0;
	position: relative;
	cursor: pointer;
}
.menu-open img {
	width: 40px;
	height: 50px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
*/
/*メインコンテンツ*/
.main-container {
	flex: 1 1 auto;
	/*	height: 100%;*/
	overflow: auto;
	padding: 6px 0 0 6px;
	z-index: 1;
	-webkit-transform: translate3d(0, 0, 1px);
	transform: translate3d(0, 0, 1px);
}
.sub-nav-content,.main-content{
/*	height: 100%;*/
	overflow-y: clip;
}
.main-content {
	min-width: 810px;
	padding-right: 6px;
}
.title-container{
	display: flex;
	justify-content: space-between;
	vertical-align: middle;
}
.title-text{
	font-size: 24px;
}
.search-box, .movie-select-box {
	border: 1px solid #d3d3d3;
	border-radius: 5px;
	padding: 10px 10px 5px;
	margin: 5px 0 20px 0;
	position: absolute;
	top: 30px;
	right: 0;
	background-color: #fff;
	z-index: 100;
	-webkit-transform: translate3d(0, 0, 1px); /*safarでポップアップが前面に表示されない対応*/
	transform: translate3d(0, 0, 1px); /*safarでポップアップが前面に表示されない対応*/
	box-shadow: 0px 5px 5px rgba(0,0,0,0.2);
}
.movie-select-box {
	right: -50%;
}
.search-box-close{
	position: absolute;
	top:10px;
	right:15px;
	height: 18px;
	width: 18px;
	background: url("../images/search_close.png") no-repeat;
	background-size: contain;
}
.search-box-close:hover{
	opacity: 0.5;
	cursor: pointer;
}
.search-title{
	font-size: 16px;
}
.search-item {
	margin-top: 10px;
	overflow: hidden;
	display: flex;
	align-items: center;
	height: 30px;
}
.child-search-item {
	margin-left: 50px;
}
.search-input{
	float:left;
}
input[type=text],
input[type=password],
input[type=email],
input[type=tel],
input[type=number],
select,
textarea {
	border: 1px solid #666666;
	border-radius: 4px;
	padding-left: 10px;
	padding-right: 10px;
}
textarea {
	padding-top: 10px
}
input[type=text]:focus,
input[type=password]:focus,
input[type=email]:focus,
input[type=tel]:focus,
select:focus,
textarea:focus {
	border: 1px solid #0088FF;
	caret-color: #0088FF;
}
.search-input input{
	height: 30px;
	width: 327px;
}
.search-input select{
	height: 30px;
	width: 327px;
}
.search-input-date,
.search-input-date input {
	width: 150px;
}
.search-input-time,
.search-input-time input {
	width: 90px;
	margin-left: 10px;
}
.search-input-status, .movie-user-select, .movie-date-select {
/*	width: 327px;*/
}

.user-select-mobal-input {
	width: auto;
}

.movie-user-select, .movie-date-select, .user-select-mobal-input {
	display: flex;
}

	.search-input-status input, .movie-user-select input, .movie-date-select input, .user-select-mobal-input input {
		margin-right: 3px;
		display: inline-block;
	}

.search-input-status input {
	width: 298px;
}

.movie-user-select input, .user-select-mobal-input input {
	width: 284px;
}

.movie-date-select input {
	width: 214px;
}

.search-input-status input, .movie-user-select input {
	pointer-events: none;
}

.search-input-status button, .movie-user-select button, .user-select-mobal-input button {
	display: inline-block;
}
.movie-user-select button, .user-select-mobal-input button {
	height: 30px;
	width: 40px;
}

.top-search-item {
	margin-top: 0px;
}

.user-select-mobal-note {
	margin-top: 5px;
	font-size: 12px;
}
.user-select-mobal-error {
	margin-top: 10px;
	font-size: 14px;
}
.movie-loading-popup-box {
	display: block;
	position: fixed;
	top: 0px;
	right: 6px;
	overflow-y: auto;
	max-height: 100%;
	z-index: 99990;
	-webkit-transform: translate3d(0, 0, 1px); /*safarでポップアップが前面に表示されない対応*/
	transform: translate3d(0, 0, 1px); /*safarでポップアップが前面に表示されない対応*/
}

.movie-loading-popup {
	width: 180px;
	min-height: 38px;
	height: auto;
	margin-top: 6px;
	background-color: #F0F3FAE6;
	border-radius: 5px;
	display: flex;
	align-items: center;
	padding: 3px 0;
}

	.movie-loading-popup img {
		margin-left: 8px;
		height: 22px;
		width: 22px;
		-webkit-animation: spin 1.5s linear infinite;
		-moz-animation: spin 1.5s linear infinite;
		-o-animation: spin 1.5s linear infinite;
		animation: spin 1.5s linear infinite;
	}

	.movie-loading-popup p {
		margin-left: 12px;
		font-size: 14px;
		line-height: 15px;
		color: #666666;
		flex: 1;
		width: 100%;
		overflow: hidden;
		margin-right: 8px;
	}

.loading-close-icon {
	content: '';
	display: block;
	position: relative;
	margin-right: 8px;
	width: 10px;
	height: 10px;
}

	.loading-close-icon::after, .loading-close-icon::before {
		border-bottom: 2px solid #00479D;
		content: '';
		display: block;
		position: absolute;
		top: 50%;
		margin-top: -2px;
		width: 12px;
		cursor: pointer;
	}

	.loading-close-icon::after {
		transform: rotate(45deg);
	}

	.loading-close-icon::before {
		transform: rotate(-45deg);
	}

	.loading-close-icon:hover {
		opacity: 0.5;
	}

	.loading-close-icon:active {
		opacity: 1;
	}
/*
.movie-user-select{
  height: 30px;
}
*/
/*
.user-select-dtn,.user-search-dtn{
  height: 30px;
  width: 40px;
}
*/

.period-select {
	/*    margin-right: 4px;*/
	font-size: 12px;
}

	.period-select select {
		height: 30px;
		width: 110px;
	}

.movie-select-title {
	width: 100px;
}
.date-select-note {
	font-size: 14px;
	margin-left: 6px;
	margin-right: 6px;
	color: #595959;
}
.add-edit-area{
	/*margin-top: 23px;*/
	margin-left: 15px;
}
.add-edit-item {
	margin-bottom: 10px;
	overflow: hidden;
	display: flex;
	align-items: center;
}
.add-edit-input{
	float:left;
	height: 33px;
	width: 460px;
}
.edit-noinput {
	height: auto;
}
.add-edit-input input{
	height: 33px;
	width: 460px;
}
.add-edit-input select{
	height: 33px;
	width: 460px;
}
.edit-noinput p {
	width: 460px;
	overflow-wrap: break-word;
}
.add-edit-select-btn {
	margin-left: 5px;
	height: 30px;
	width: 60px;
}

.readonly-input {
	pointer-events: none;
}
.add-edit-item-label {
	float: left;
	width: 160px;
	font-size: 14px;
	line-height: 33px;
}
.add-edit-item-label-top {
	align-items: flex-start;
}
.error-title {
	font-size: 12px;
	color: #ff0000;
}
.error-detail{
	font-size: 14px;
	color: #ff0000;
	margin-left: 160px;
}
	.error-detail:before {
		content: "";
		display: inline-block;
		width: 15px;
		height: 15px;
		background-image: url("../images/alert.png");
		background-repeat: no-repeat;
		background-size: contain;
		vertical-align: middle;
	}
.field-validation-error {
	font-size: 14px;
	color: #ff0000;
}
.field-validation-error:before {
	content: "";
	display: inline-block;
	width: 15px;
	height: 15px;
	background-image: url("../images/alert.png");
	background-repeat: no-repeat;
	background-size: contain;
	vertical-align: middle;
}
.error-box input,
.error-box select {
	background-color: #FFE5EB;
	border: 1px solid #E53E61;
	color: #E53E61;
}
/*
.error-box input:focus{
    border: 1px solid #0088FF;
    caret-color: #0088FF;
}
*/
.note{
	font-size: 14px;
}
.small_note {
	font-size: 12px;
}
.error-note{
	font-size: 14px;
	margin-bottom: 10px;
	color: #ff0000;
}
.submit-btn-area, .listdisp-option-btn-area {
	margin: 30px 0 10px;
}
.attribute-history-subtitle {
	display: flex;
	font-size: 14px;
}
.subtitle {
	font-weight: bold;
}
.page-operation-box {
	display: flex;
	justify-content: space-between;
	/*    margin-top: 10px;*/
	align-items: center;
}
.page-operation-left {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	position: relative;
}
.page-operation-right {
	vertical-align: middle;
	display: flex;
	justify-content: flex-end;
	font-size: 12px;
}
.page-select {
	margin-right: 4px;
	font-size: 12px;
}
.page-select select {
	height: 30px;
	width: 110px;
}
.font-small{
	font-size: 12px;
}
.page-operation-box .font-small {
	line-height: 30px;
}
.page-operation-box a {
	height: 30px;
}
.page-operation-box .listdisp-option-btn {
	margin-left: 8px;
	margin-top: auto;
	margin-bottom: auto;
	font-size: 12px;
}
.select-box{
	position: relative;
}
.select-box::before {
	position: absolute;
	top: 0.8em;
	right: 0.8em;
	width: 0;
	height: 0;
	padding: 0;
	content: '';
	border-left: 8px solid transparent;
	border-right: 8px solid transparent;
	border-top: 10px solid #666666;
	pointer-events: none;
}
.search-btn-area{
	margin: 15px 0 10px;
}
.round-text {
	height: 20px;
	width: 20px;
	border-radius: 50%;
	line-height: 20px;
	text-align: center;
	background-color: #00479d;
	color: #ffffff;
	font-size: 12px;
	margin-left: 2px;
}
.round-text-break {
	background-color: #707070;
}

.round-text-big{
	height:35px;
	width:35px;
	border-radius:50%;
	line-height:35px;
	text-align:center;
	font-size: 16px;
	box-sizing: border-box;
}
.round-text-big-on{
	background-color: #00479d;
	color: #ffffff;
}
.round-text-big-off{
	border: 2px solid #00479d;
	background-color: #ffffff;
	color: #00479d;
}
.status-text {
	color: #595959;
	vertical-align: middle;
	display: inline-block;
	box-sizing: border-box;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	padding-left: 2px;
}
.square-text {
	border: 1px solid #595959;
	border-radius: 3px;
	padding: 0 3px;
	height: 24px;
	width: auto;
	background-color: #ffffff;
	font-size: 12px;
	display: inline-block;
	box-sizing: border-box;
	max-width: 100%;
	line-height: 22px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.square-text span {
	margin: 0;
	font-size: 12px;
}
.map-change-operation{
	height: 50px;
}
.map-select {
	display: inline-block;
	margin-left: 15px;
	font-size: 12px;
}
.map-select select {
	height: 30px;
	width: 140px;
}

/*チェックボックス*/
.checkbox-item-label-nocheck{
	float:left;
	width: 120px;
}
.checkbox-item-label {
	float: left;
	width: 120px;
	height: 22px;
	line-height: 22px;
}
.checkbox-item-label {
    cursor: pointer;
    padding: 0 10px 0 40px;
    position: relative;
}
.checkbox-item-label::before {
	background: #fff;
	border: 1px solid #666666;
	border-radius: 4px;
	content: '';
	display: block;
	height: 20px;
	width: 20px;
	left: 5px;
	margin-top: -11px;
	position: absolute;
	top: 50%;
}
.checkbox-item-label::after {
    border-right: 3px solid #fff;
    border-bottom: 3px solid #fff;
	content: '';
    display: block;
    height: 9px;
    left: 12px;
    margin-top: -8px;
    opacity: 0;
    position: absolute;
    top: 50%;
    transform: rotate(45deg);
    width: 5px;
}
input[type=checkbox]:checked + .checkbox-item-label::after {
    opacity: 1;
}
input[type=checkbox]:checked + .checkbox-item-label::before {
	background-color: #00479d;
	border: 1px solid #00479d;
}
input[type=checkbox][readonly]:checked + .checkbox-item-label::before {
	background-color: #ccc;
	border: 1px solid #ccc;
}
/* addbutton*/
.add-button {
	cursor: pointer;
	background: #00479d;
	border-radius: 13px;
	content: '';
	display: block;
	height: 26px;
	width: 26px;
	position: relative;
	float: right;
	margin-right: 0;
	margin-top: 2px;
}

	.add-button::after, .add-button::before {
		border-bottom: 2px solid #fff;
		content: '';
		display: block;
		left: 8px;
		position: absolute;
		margin-top: -1px;
		top: 50%;
		width: 10px;
	}

	.add-button::after {
		transform: rotate(90deg);
	}

	.add-button:hover {
		background-color: #0088FF;
	}

	.add-button:active {
		background-color: #00479d;
	}

.clear-button {
	cursor: pointer;
	background: #9fa0a0;
	border-radius: 10px;
	content: '';
	display: block;
	height: 20px;
	width: 20px;
	position: relative;
	float: right;
	margin-right: 7px;
	margin-top: 0px;
	margin-left: -26px;
}

	.clear-button::after, .clear-button::before {
		border-bottom: 2px solid #fff;
		content: '';
		display: block;
		left: 5px;
		position: absolute;
		margin-top: -1px;
		top: 50%;
		width: 10px;
	}

	.clear-button::after {
		transform: rotate(45deg);
	}

	.clear-button::before {
		transform: rotate(-45deg);
	}

	.clear-button:hover {
		background-color: #0088FF;
	}

	.clear-button:active {
		background-color: #00479d;
	}

/*ラジオボタン*/
.original-radio{
	position: relative;
	padding: 0 10px 0 42px;
	display: inline-block;
	cursor: pointer;
/*	width: 120px;*/
	margin-left: 15px;
}
.original-radio::after, .original-radio::before {
	position: absolute; /* ボックスの位置を指定する */
	content: ""; /* ボックスのコンテンツ */ 
	display: block; /* ブロックレベル要素化する */ 
	top: 50%; /* 上部から配置の基準位置を決める */ 
}
.original-radio::before {
	left: 10px; /* 左から配置の基準位置を決める */
	margin-top: -12px; /*チェック枠の位置 */
	width: 20px; /* ボックスの横幅を指定する */
	height: 20px; /* ボックスの高さを指定する */
	border: 1px solid #666666; /* ボックスの境界線を実線で指定する */
	border-radius: 50%; /* ボックスの角丸を指定する */
}
.original-radio::after {
	left: 14px; /* 左から配置の基準位置を決める */
	margin-top: -8px; /* チェックマークの位置 */
	width: 14px; /* ボックスの横幅を指定する */
	height: 14px; /* ボックスの高さを指定する */
	background: #00479d; /* ボックスの背景色を指定する */
	border-radius: 50%; /* ボックスの角丸を指定する */
	opacity: 0; /* 要素を透過指定する */
}
input[type=radio]:checked + .original-radio::after {
	opacity: 1; /* 要素を表示する */
}
/*map関連*/
.map-area {
	position: relative;
	width: 100%;
	/*heightを%指定するとGoogleMapの計算がうまくいかなくなるらしい*/
	/*height: 100%;*/
	height: 500px;
	overflow-y: scroll;
	background-color: #d3d3d3;
}
.map-icon {
	height: 52px;
	width: 37px;
	line-height: 34px;
	text-align: center;
	font-size: 14px;
	z-index: 100;
	position: relative;
}
.map-icon12 {
	height: 52px;
	width: 37px;
	line-height: 34px;
	text-align: center;
	font-size: 11px;
	z-index: 100;
	position: relative;
}
.map-icon-on {
	background: url("../images/icon_plot_b_on.png") no-repeat;
	color: #ffffff;
	background-size: contain;
}
.map-icon-off {
	background: url("../images/icon_plot_b_off.png") no-repeat;
	color: #595959;
	background-size: contain;
}
.map-direction-icon {
	background: url("../images/icon_direction.png") no-repeat;
	background-size: contain;
	height: 16px;
	width: 16px;
	position: absolute;
	right: 0;
	top: 0;
	-moz-transform-origin: center center;
	-webkit-transform-origin: center center;
	-ms-transform-origin: center center;
	-o-transform-origin: center center;
	transform-origin: center center;
/*	-moz-transform: rotate(0deg);
	-webkit-transform: rotate(0deg);
	-ms-transform: rotate(0deg);
	-o-transform: rotate(0deg);
	transform: rotate(0deg);*/
}
.map-item-detail {
	border: 2px solid #00479d;
	background-color: #fff;
	z-index: 101;
	font-size: 12px;
	width: 120px;
	height: auto;
	padding: 6px 20px 6px 6px;
	position: relative;
}
.map-item-detail-loc {
	border: 2px solid #00479d;
	background-color: #fff;
	z-index: 101;
	font-size: 12px;
	width: 120px;
	height: 40px;
	padding: 10px 20px 10px 10px;
	position: relative;
}
.map-item-detail img {
	position: absolute;
	top: 4px;
	right: 4px;
	width: 15px;
	height: 15px;
	background-size: contain;
	cursor: pointer;
}
.map-item-detail-loc img {
	position: absolute;
	top: 4px;
	right: 4px;
	width: 15px;
	height: 15px;
	background-size: contain;
	cursor: pointer;
}
.map-item-detail-title {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.map-item-detail-text {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.map-item-detail-text-wrap {
	overflow-wrap: normal;
}
.map-item-detail-from-to-symbol {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	text-align: center;
	transform: rotate(-90deg);
}

.map-item-detail p {
	line-height: 1.2;
	font-size: 12px;
}
.map-item-detail-download-icon {
	position: absolute;
	bottom: 4px;
	right: 2px;
	width: 18px;
	height: 18px;
	background: url("../images/ic_download.png") no-repeat;
	background-size: contain;
	cursor: pointer;
}

.map-item-detail-download-icon:hover {
	opacity: 50%;
}
.map-status-icon-on {
	background: url("../images/icon_plot_r_on.png") no-repeat;
	color: #ffffff;
	background-size: contain;
}
.map-status-icon-off {
	background: url("../images/icon_plot_r_off.png") no-repeat;
	color: #595959;
	background-size: contain;
}
.map-break-icon-on {
	background: url("../images/icon_plot_g_on.png") no-repeat;
	color: #ffffff;
	background-size: contain;
}

.map-break-icon-off {
	background: url("../images/icon_plot_g_off.png") no-repeat;
	color: #595959;
	background-size: contain;
}

.map-icon-circle-on {
	background: url("../images/icon_circle_b_on.png") no-repeat;
	color: #ffffff;
	background-size: contain;
}

.map-icon-circle-off {
	background: url("../images/icon_circle_b_off.png") no-repeat;
	color: #595959;
	background-size: contain;
}

.map-status-icon-circle-on {
	background: url("../images/icon_circle_r_on.png") no-repeat;
	color: #ffffff;
	background-size: contain;
}

.map-status-icon-circle-off {
	background: url("../images/icon_circle_r_off.png") no-repeat;
	color: #595959;
	background-size: contain;
}

.map-break-icon-circle-on {
	background: url("../images/icon_circle_g_on.png") no-repeat;
	color: #ffffff;
	background-size: contain;
}

.map-break-icon-circle-off {
	background: url("../images/icon_circle_g_off.png") no-repeat;
	color: #595959;
	background-size: contain;
}

.map-status-item-detail {
	border: 2px solid #CC0047;
}
.map-status-item-detail img {
	position: absolute;
	top: 4px;
	right: 4px;
	width: 15px;
	height: 15px;
	background-size: contain;
	cursor: pointer;
}
.map-break-item-detail {
	border: 2px solid #707070;
}
.map-break-item-detail img {
	position: absolute;
	top: 4px;
	right: 4px;
	width: 15px;
	height: 15px;
	background-size: contain;
	cursor: pointer;
}
.map-line-detail {
	border: 2px solid #00479d;
	background-color: #fff;
	z-index: 101;
	font-size: 12px;
	padding: 6px 20px 6px 6px;
	position: relative;
}

.map-line-detail p {
	line-height: 1.2;
	font-size: 12px;
}

.map-line-detail img {
	position: absolute;
	top: 4px;
	right: 4px;
	width: 15px;
	height: 15px;
	background-size: contain;
	cursor: pointer;
}

/*ボタン*/
.btn {
	color: #ffffff;
	background-color: #00479d;
	padding: 0 5px;
	border-radius: 8px;
	font-weight: normal;
}
.positive-btn{
}
.positive-btn:hover {
	background-color: #0088FF;
	color: #fff;
	cursor: pointer;
}
.positive-btn:active{
	background-color: #00479d;
	color: #fff;
}
.positive-btn:disabled {
	background-color: #E3E7EB;
	color: #BFBFBF;
	cursor: default;
}
.negative-btn {
	background-color: #ffffff;
	border: 1px solid #00479D;
	color: #00479D;
}
.negative-btn:hover {
	background-color: #B9D9FC;
	border: 1px solid #B9D9FC;
	cursor: pointer;
}
.negative-btn:active {
	background-color: #ffffff;
	border: 1px solid #00479D;
}
.negative-btn:disabled {
	background-color: #E3E7EB;
	color: #BFBFBF;
	cursor: default;
}
.search-btn{
	width: 140px;
	height: 36px;
	margin-right: 15px;
}
.page-btn {
	height: 30px;
	width: 30px;
	font-size: 12px;
	margin-right: 4px;
}
#prev_page,#prev_mon
{
	background-image: url("../images/ic_prev.png");
}

#next_page, #next_mon {
	background-image: url("../images/ic_next.png");
}

.pd_r_4 {
	padding-right: 4px;
}

.search-open-btn {
	width: 110px;
	height: 30px;
	font-size: 12px;
	/*margin-left: 4px;*/
}
.movie-download-btn {
	margin-left: 4px;
	width: 60px;
	height: 30px;
	font-size: 12px;
	color: #fff;
}
.listdisp-option-btn {
	width: 80px;
	height: 30px;
	margin-bottom: 10px;
}
.return-btn {
	width: auto;
	height: 30px;
	margin: 0px;
}
.map-select-btn{
	width: 150px;
	height: 35px;
	margin-left: 15px;	
}
.submit-btn {
	width: 100px;
	height: 30px;
	margin-right: 20px;
}

/*footer*/
footer {
	position: fixed;
	bottom: 0px;
	left: 0px;
	width: 100%;
	height: 22px;
	min-width: 960px;
	background-color: #E3E7EB;
	display: flex;
	align-items: center;
}
.footer-content {
	margin: 0 30px;
	color: #fff;
	width: 100%;
}
.footer-content li {
	color: #3A444A;
	opacity: 0.75;
	display: inline-block;
}
.footer-content li:first-child {
	width: 100%;
	text-align: center;
	float: left;
	opacity: 0.5;
}

.footer-content li:nth-child(2),
.footer-content li:nth-child(3) {
	text-align: right;
	float: right;
	margin-left: 20px;
}
.footer-content a{
	font-weight: bold;
}
.footer-content a:hover {
	color: #00479d;
	opacity: 0.75;
}
.footer-content a:active{
}
.footer-content p {
	font-size: 8px;
}
/*モーダルダイアログ関連*/
.modal{
	display: none;
    height: 100vh;
    position: fixed;
    top: 0;
    width: 100%;
	z-index: 99999;
}
.modal-bg{
    background: rgba(0,0,0,0.8);
    height: 100vh;
    position: absolute;
    width: 100%;
}
.modal-content {
	background: #fff;
	left: 50%;
	padding: 20px;
	position: absolute;
	top: 50%;
	transform: translate(-50%,-50%);
	width: 50%;
	height: 70%;
	box-sizing: border-box;
}
.modal-btn{
	height: 30px;
	width: 100px;
	margin-top: 10px;
	margin-right: 15px;
	font-size: 14px;
}
.user-select-mobal-content {
	width: 70%;
	min-width: 500px;
}

.user-select-mobal-form {
	height: 100%;
	padding-bottom: 20px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
}
/*ステータス選択ダイアログ中身*/
.select-status-form {
	height: 100%;
	display: flex;
	flex-direction: column;
}

.select-status-message {
	height: 40px;
}

.status-select-list {
	flex: 1;
	overflow-y: auto;
	overflow-x: hidden;
	margin-bottom: 10px;
}

.select-status-item {
	display: block;
	height: 30px;
	width: 100%;
}

	.select-status-item .checkbox-item-label {
		width: auto;
		box-sizing: border-box;
		max-width: 100%;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		/*  max-width: 100%;*/
	}


/*共通テーブル*/
.common-list, .modal-list {
	width: 100%;
	border-top: 2px solid #595959;
	overflow-y: auto;
	margin: 6px 0 0;
	border-collapse: collapse;
	height: 100%;
	z-index: 0;
	-webkit-transform: translate3d(0, 0, 1px);
	transform: translate3d(0, 0, 1px);
}
.common-table{
	border-collapse: collapse;
	width: 100%;
	table-layout: fixed;
}
.common-table-clickable:hover{
	cursor: pointer;
}
.common-table th {
	height: 36px;
	padding: 2px 15px 0px 10px;
	white-space: nowrap;
	border-bottom: 2px solid #535353;
	color: #595959;
	line-height: 38px;
	text-align: left;
	font-weight: normal;
	overflow: hidden;
}
.common-table td {
	border-bottom: 1px solid #d3d3d3;
	height: 36px;
	padding-left: 10px;
	text-align: left;
	font-weight: normal;
	background-color: #fafafa;
	overflow: hidden;
}
.common-table tr:nth-child(odd) td{
	background-color: #fff;
}
.common-table tr:hover td{
	background-color: #eaf2fc;
}
.common-table tr:hover th{
	background-color: #fff;
}

.common-table a{
	font-weight: normal;
}
.common-table a:hover{
	color: #595959;
}
.common-table a:active{
	color: #595959;
}
.common-table-btn {
	width: 60px;
	height: 28px;
	font-size: 12px;
}
.common-table-download-icon {
	width: 20px;
	height: 20px;
	background: url("../images/ic_download.png") no-repeat;
	background-size: contain;
	margin: 0 auto;
	cursor: pointer;
}

	.common-table-download-icon:hover {
		opacity: 0.5;
	}

	.common-table-download-icon:active {
		opacity: 1;
	}
/*モーダル内のテーブル*/
.modal-list {
	/*
  position: fixed;
  top: 0;
  padding:100px 35px 20px 0;
  height: 100%;
  box-sizing: border-box;
*/
	flex: 1;
}
.modal-table {
	overflow-y: scroll;
	overflow-x: hidden;
}

	.modal-table .user-code,
	.modal-table .car-name {
		/*  width: 40%;*/
	}

	.modal-table .select-user {
		width: 50px;
	}

	.modal-table td.user-code,
	.modal-table td.car-name {
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.modal-table th.user-code,
	.modal-table th.car-name {
		  width: 45%;
	}

	.modal-table th.select-user {
		width: 10%;
	}

	.modal-table th.imei,
	.modal-table th.carrier {
		width: 45%;
	}

	.modal-table th.select-imei {
		width: 10%;
	}

.red{
	color: #ff0000;
}

/**ヘッダーの**/
/*ボックス全体*/
.header-submenubox {
	padding: 0;
	max-width: 440px; /*最大幅*/
}

/*ラベル*/
.header-submenubox label {
	color: #00479d;
	text-decoration: none;
	font-weight: bold;
	display: block;
	width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/*ラベルホバー時*/
.header-submenubox label:hover {
	border-bottom: 2px solid #00479d;
}

/*チェックは隠す*/
.header-submenubox input {
	display: none;
}

/*中身を非表示にしておく*/
.header-submenubox .header-submenushow {
	height: 0;
	padding: 0;
	overflow: hidden;
	position: absolute;
}

/*クリックで中身表示*/
.cssacc:checked + .header-submenushow {
	background: #fff;
	height: auto;
	width: 200px;
	border: solid #EEEFF7 2px;
	position: fixed;
	right: 20px;
	top: 30px;
	box-shadow: 0px 5px 5px rgba(0,0,0,0.2);
	border-radius: 0 0 8px 8px;
}

.header-submenu {
	height: 45px;
	/*    padding-left: 10px;*/
	/*    border: solid #00479d 1px;*/
	line-height: 45px;
	background: #fff;
	display: block;
}

.header-submenu p {
	line-height: 45px;
	margin-left: 10px;
}
/*背景色の指定*/
.header-submenu:hover {
	background-color: #EEEFF7;
}

.header-submenushow a,
.header-submenushow a:hover {
	border-bottom: none;
	color: #595959;
}
/*リスト内ポップアップ*/
.list-popup {
	background: #fff;
	height: auto;
	width: 120px;
	border: solid #EEEFF7 1px;
	position: fixed;
	box-shadow: 0px 5px 5px rgba(0,0,0,0.2);
	border-radius: 8px;
}
/*背景色の指定*/
.list-popup-menu {
	height: 30px;
	line-height: 30px;
	background: #fff;
	display: block;
}

.list-popup-menu p {
	line-height: 30px;
	margin-left: 6px;
}

.list-popup-menu:hover {
	background-color: #EEEFF7;
}

.list-popup a,
.list-popup a:hover {
	border-bottom: none;
	color: #595959;
}
/*画面全体プログレス*/
.progress {
	height: 100vh;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 999999;
	background: rgba(0,0,0,0.8);
}

.progress-content {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit-transform: translateY(-50%) translateX(-50%);
}

.progress-content img {
	height: 60px;
	width: auto;
	-webkit-animation: spin 1.5s linear infinite;
	-moz-animation: spin 1.5s linear infinite;
	-o-animation: spin 1.5s linear infinite;
	animation: spin 1.5s linear infinite;
}

.progress-dialog {
	background-color: #fff;
	width: 300px;
	/*  min-height: 80px;*/
	border-radius: 5px;
	display: block;
	padding: 15px;
}

.dialog-btn {
	width: 100px;
	height: 30px;
	display: block;
	margin: 10px auto 0;
}
.radius-top {
	border-radius: 8px 8px 0 0;
}

.radius-bottom {
	border-radius: 0 0 8px 8px;
}

.logoutmenu p {
	color: #00479d;
}

#password_edit_btn {
	margin: 6px 0 0;
	width: 130px;
	height: 30px;
}

.height-auto {
	height: auto;
}

/*ツールチップデザイン*/
.tooltip_box {
	position: absolute;
	top: 0px;
	z-index: 99999999;
	-webkit-transform: translate3d(0, 0, 1px);
	transform: translate3d(0, 0, 1px);
}

.tooltip {
	position: relative;
	display: inline-block;
	margin: 1.5em 0;
	padding: 7px 10px;
	width: 100%;
	border-radius: 10px;
	color: #fff;
	font-size: 12px;
	background: #595959;
	overflow-wrap: break-word;
	word-break: break-all;
}

.tooltip_arrow {
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -8px;
	border: 8px solid transparent;
	border-top: 8px solid #595959;
}

p.user-edit-error {
	margin-left: 160px;
}
.table-font-small {
	font-size: 10px;
}

.font-large {
	font-size: 14px;
}
/*javasctipt用*/
.hidden{
	display: none;
}

img.original_img {
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
}

#original {
	overflow-x: hidden;
	overflow-y: hidden;
}

#original_canvas {
	background-color: transparent;
	position: absolute;
	top: 0px;
	left: 0px;
	z-index: 10;
	pointer-events: none;
}
@media screen and (max-width: 500px) {
	.for_sp {
		display: none;
	}

	footer {
		min-width: inherit;
	}
}