@charset "utf-8";

/*---------------------- 共通CSS　*/

@font-face {
    font-family: ns_r;
    src: url(../font/ns_Regular.woff) format("woff");
    font-weight: 400;
    font-style: normal
}

@font-face {
    font-family: ns_m;
    src: url(../font/ns_Medium.woff) format("woff");
    font-weight: 500;
    font-style: normal
}

@font-face {
    font-family: ns_b;
    src: url(../font/ns_Bold.woff) format("woff");
    font-weight: 700;
    font-style: normal
}

* {
/*    font-family: -apple-system, 'BlinkMacSystemFont', ns_r, sans-serif;
*/
		font-family: 'Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','メイリオ', 'Meiryo','ＭＳ ゴシック',sans-serif;
}

html, body {
    font-weight: 400;
}

html{
	font-size:14px;
	color:#333;
	font-family: 'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif, monospace;
}

.container {
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
}


.pc , .pc02 {
    display: block !important;
}
.sp , .sp02 {
	display: none !important;
}

@media screen and (max-width: 1024px){
	.pc {
	display: none !important;
}
	.sp {
	    display: block !important;
	}
	.info_user .sp {
	    display: inline-block !important;
	}
}
@media screen and (max-width: 786px){
	.pc02 {
	display: none !important;
}
	.sp02 {
	    display: block !important;
	}
}

.type_none {
    display: none !important;
}

.h2_ttl{
	margin-bottom:1em;
	border-bottom:2px solid #000;
	padding-bottom:15px;
}

.conts_box{
	padding:20px 1em;
	padding-bottom:200px;
	overflow: auto;
	background-color:#ebecee;
}

@media screen and (max-width: 786px){
.conts_box{
	padding:10px;
}

}

.conts_box h2{
	font-weight:bold;
	font-size:180%;
    margin-bottom: 0;
}

.title{
	padding-right:0;
	padding-left:0;

}


@media screen and (max-width: 834px){
.conts_box h2{
	font-size:140%;
}
}

.conts_box h3{
	font-weight:bold;
	font-size:150%;
}

@media screen and (max-width: 834px){
.conts_box h3{
	font-size:120%;
}
}

@media screen and (min-width: 1025px){
.info_user {
    display: inline-block !important;
}
}


.mb05{
	margin-bottom:5px;
}
.mb10{
	margin-bottom:10px;
}
.mb15{
	margin-bottom:15px;
}
.mb20{
	margin-bottom:20px;
}
.mb30{
	margin-bottom:30px;
}

a , a:link , a:visited , a:hover{
  text-decoration: none;
  color:#262626!important;
}

/*---------------------- bootstrap修正　*/

.btn-success {
  color: #fff;
  background-color: #228df5!important;
  border-color: #228df5!important;
}

.btn-success:hover {
  color: #fff;
  background-color: #185b9f!important;
  border-color: #045496!important;
}

.btn-success:focus, .btn-success.focus {
  box-shadow: 0 0 0 0.2rem rgba(72, 135, 180, 0.5);
}

.btn-success.disabled, .btn-success:disabled {
  color: #fff;
  background-color: #228df5!important;
  border-color: #228df5!important;
}

.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,
.show > .btn-success.dropdown-toggle {
  color: #fff;
  background-color: #045496!important;
  border-color: #004c8d!important;
}

.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,
.show > .btn-success.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(72, 135, 180, 0.5);
}

.btn-outline-success {
  color: #228df5;
  border-color: #228df5;
  background:#fff;
}

.btn-outline-success:hover {
  color: #045496;
  background-color: #fff;
  border-color: #045496;
  cursor:pointer;
}

.btn-outline-success:focus, .btn-outline-success.focus {
  box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
  color:#045496;
}

.btn-outline-success.disabled, .btn-outline-success:disabled {
  color: #228df5;
  background-color: transparent;
}

.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,
.show > .btn-outline-success.dropdown-toggle {
  color: #fff;
  background-color: #228df5;
  border-color: #228df5;
}

.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-success.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
}






.btn-primary {
  color: #fff;
  background-color: #ff9900;
  border-color: #ff9900;
}

.btn-primary:hover {
  color: #fff;
  background-color: #e07f00;
  border-color: #e07f00;
}

.btn-primary:focus, .btn-primary.focus {
  box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
}

.btn-primary.disabled, .btn-primary:disabled {
  color: #fff;
  background-color: #ff9900;
  border-color: #ff9900;
}

.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,
.show > .btn-primary.dropdown-toggle {
  color: #fff;
  background-color: #e07f00;
  border-color: #005cbf;
}

.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,
.show > .btn-primary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
}

.btn-outline-primary {
  color: #ff9900;
  border-color: #ff9900;
}

.btn-outline-primary:hover {
  color: #fff;
  background-color: #ff9900;
  border-color: #ff9900;
}

.btn-outline-primary:focus, .btn-outline-primary.focus {
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);
}

.btn-outline-primary.disabled, .btn-outline-primary:disabled {
  color: #ff9900;
  background-color: transparent;
}

.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,
.show > .btn-outline-primary.dropdown-toggle {
  color: #fff;
  background-color: #ff9900;
  border-color: #ff9900;
}

.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-primary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);
}


/*---------------------- ヘッダー　*/

.header_container{
	background:#268cf8;
	color:#fff;
	padding:0 0 5px 0;
	border-bottom:none;
	height: 45px;
}
.header_container .container{
	position: relative;
}

.header_container .logo{
	padding-right:0px;
}

.header_container .logo img{
	margin-right:0.5em;
}
.header_container .logo a span{
	display:inline-block;
	padding:10px 0;
	color:#fff!important;
}
.header_container .info_user{
	text-align:right;
	font-size: 12px;
	display: flex !important;
    justify-content: flex-end;
    align-items: center;
}

.header_container .info{
	text-align:right;
	color:#fddd3c;
	display:inline-block;
	padding-right:20px;
}

@media screen and (max-width: 786px){
	.header_container .user{
		font-size:12px;
	}

	.header_container .info{
		font-size:12px;
	}
}

/*---------------------- ログイン画面　*/

#login_ttl{
	text-align:center;
	font-size:26px;
	font-weight:bold;
	margin-top:30px;
	margin-bottom:30px;
}

#login_box{
	box-sizing: border-box;
    padding: 0rem 4.5rem 30px 4.5rem;
    letter-spacing: 1px;
    border: 1px solid #9e9e9f;
    border-radius: 7px;
    -webkit-box-shadow: -2px 2px 13px -44px #333333 inset, -4px 10px 8px -4px #DEDEDE;
    margin-bottom: 25px;
    /* text-align: center; */
    background: #fff;
}

.login_box{
	margin:5vw 0;
}
.login_box img{
	margin-bottom:56px;
}
.login_form_input {
	position: relative;
}
.login_form_input input {
	box-sizing: border-box;
	width: 100%;
	padding: 1.6rem;
	letter-spacing: 1px;
	border: 1px solid #9e9e9f;
	-webkit-border-radius: 7px;/* for Safari and Chrome */
	-moz-border-radius: 7px; /* for Firefox */
	-o-border-radius: 7px; /* for opera */
	border-radius: 7px;
	margin-bottom:23px;
	font-size:1.2rem;
	font-weight:bold;
}
.login_form_input input::placeholder{
	color:#989898;
}
.login_form_input input:focus {
	outline: none;
}
.login_form_input input:focus::after {
	outline: none;
}
.login_form_input i {
	position: absolute;
	top: 4px;
	left: 30px;
	padding: 9px 5px;
	transition: 0.3s;
	color: #aaaaaa;
}
.login_form_btn{
	border-style: solid;
    border-width: 1px;
    border-color: rgb(230, 230, 230);
	-webkit-border-radius: 6px;/* for Safari and Chrome */
	-moz-border-radius: 6px; /* for Firefox */
	-o-border-radius: 6px; /* for opera */
    border-radius: 6px;
    background-image: -moz-linear-gradient( -90deg, rgb(42,161,204) 0%, rgb(46,156,195) 43%, rgb(50,150,186) 100%);
    background-image: -webkit-linear-gradient( -90deg, rgb(42,161,204) 0%, rgb(46,156,195) 43%, rgb(50,150,186) 100%);
    background-image: -ms-linear-gradient( -90deg, rgb(42,161,204) 0%, rgb(46,156,195) 43%, rgb(50,150,186) 100%);
    box-shadow: 0px 1px 5px 0px rgba(176, 176, 176, 0.55);
    color:#fff;
    padding: 1.2rem;
    font-size:2.0rem;
    font-weight:bold;
    display:block;
    text-align:center;

	/*-webkit-border-radius: 7px;/* for Safari and Chrome */
	-moz-border-radius: 7px; /* for Firefox */
	-o-border-radius: 7px; /* for opera */
	border-radius: 7px;
	box-shadow: 0px 0px 7px -1px #ccc;
	-webkit-box-shadow: 0px 0px 7px -1px #ccc;
	-moz-box-shadow: 0px 0px 7px -1px #ccc;
	background-color:#2f9ac1;
	color:#fff;
	width:100%;
	padding: 1.0rem;
	font-size:1.6rem;
	border:1px solid #fff;
	margin-top:12px;
	font-weight:bold;
	letter-spacing: 0.3rem;*/
}
.login_form_btn:active {
	outline: none;
}
.login_form_btn:focus {
	outline: none;
}

.plan_shiyo_btn{
	border-style: solid;
    border-width: 1px;
    border-color: rgb(230, 230, 230);
	-webkit-border-radius: 6px;/* for Safari and Chrome */
	-moz-border-radius: 6px; /* for Firefox */
	-o-border-radius: 6px; /* for opera */
    border-radius: 6px;
    background-image: -moz-linear-gradient( -90deg, rgb(42,161,204) 0%, rgb(46,156,195) 43%, rgb(50,150,186) 100%);
    background-image: -webkit-linear-gradient( -90deg, rgb(42,161,204) 0%, rgb(46,156,195) 43%, rgb(50,150,186) 100%);
    background-image: -ms-linear-gradient( -90deg, rgb(42,161,204) 0%, rgb(46,156,195) 43%, rgb(50,150,186) 100%);
    box-shadow: 0px 1px 5px 0px rgba(176, 176, 176, 0.55);
    color:#fff;
    padding: 1.2rem;
    font-size:2.0rem;
    font-weight:bold;
    display:block;
    text-align:center;

	/*-webkit-border-radius: 7px;/* for Safari and Chrome */
	-moz-border-radius: 7px; /* for Firefox */
	-o-border-radius: 7px; /* for opera */
	border-radius: 7px;
	box-shadow: 0px 0px 7px -1px #ccc;
	-webkit-box-shadow: 0px 0px 7px -1px #ccc;
	-moz-box-shadow: 0px 0px 7px -1px #ccc;
	background-color:#2f9ac1;
	color:#fff;
	width:100%;
	padding: 1.0rem;
	font-size:1.6rem;
	border:1px solid #fff;
	margin-top:12px;
	font-weight:bold;
	letter-spacing: 0.2rem;*/
}
.plan_shiyo_btn:active {
	outline: none;
}
.plan_shiyo_btn:focus {
	outline: none;
}

.plan_shiyo_btn{
	background: #258cf7;
    width: auto;
    font-size: 14px;
    padding: 10px;
}

@media (max-width: 1024px) {
.plan_shiyo_btn{
    font-size: 10px;
}
}


/*---------------------- コンテンツ　*/

/*select*/
.org_select {
    width: 100%;
    padding: 15px 5px 15px 15px;
    border: 2px solid #d1d1d1;
    border-radius: 0px;
    color: #414141;
    font-size: 16px;
	height: auto;
}

.org_select:hover{
	cursor:pointer;
}
.org_select:focus{
	outline:none;
}
.org_select:active{
	outline:none;
}

.no_input .org_select {
	background-color:#ebecee;
	border:2px solid #ebecee;

}
.no_input .org_select::placeholder  {
	color:#ebecee;
}
.modal-message{
	color:#534741;
	font-weight:bold;
	font-size:18px;
}

.tag_link{
	padding-left:20px;
}

.tag_link a:link,.tag_link a:visited,.tag_link a:hover {
    text-decoration: underline;
    color: #258cf7!important;
    font-weight: bold;
}


/*---------------------- テーブル部分-1　*/


#base_table , #user_table{
	margin:10px 0
}

.table01{
	border-collapse:collapse;

}

.table th, .table td{
	border:1px solid #808080;
	vertical-align:middle;
}

.table01 th{
	text-align:center;
	background-color:#f2f2f2;
	vertical-align:middle;
	white-space:nowrap;
}

.table01 tr th.name{
	width:30%;
}

.table01 td{
	background-color:#fff;
}

caption{
	caption-side:top;
	color:inherit;
	font-weight:bold;
}

.table01 .btn , .heading .btn{
	padding-top:3.5px!important;
	padding-bottom:3.5px!important;
/*	font-size:10px;
*/	width:100%;
	padding:0 10px;
/*	background-color:#258cf7;
	color:#fff!important;
	border:1px solid #258cf7;
*/	white-space:nowrap;
}

.search{
	width:max-content;
	margin:2em auto 0;
}

.search span{
	display:inline-block;
	font-weight:bold;
}

.search input{
	margin-left:0.5em;
	margin-bottom:1em;
	padding-top:0.5em;
	padding-bottom:0.5em;
	padding-left:0.5em;
}
.search .btn{
	width:auto;
	margin-left:0.5em;
}

.radio_btn label , .check_btn label{
	margin-left:0.6em;
}

.radio_btn label{
	margin-right:2em;
}

input[type=radio] {
  transform-origin: center middle;
  transform: scale(1.5);
}
input[type=checkbox] {
  transform-origin: center middle;
  transform: scale(1.5);
  margin-right:5px;
}

.search input{
	margin-left:0.5em;
	margin-bottom:1em;
	padding-top:0.5em;
	padding-bottom:0.5em;
	padding-left:0.5em;
}

/*---------------------- テーブル部分-2　*/

.company_subttl{
    background: #333333;
    font-weight: bold;
    margin-top: 30px;
    padding-top: 15px;
    padding-bottom: 15px;
    color: #fff;
    letter-spacing: 0.2em;
}

.table02{
    border-collapse: separate;
    border-spacing: 8px;
	background-color: transparent;
	border: none;
	font-size: 16px;
	margin-bottom:0px;
}

.table-bordered > tbody > tr > th {
    border-left: solid 4px #808080;
	border-top: none;
    border-right: none;
    border-bottom: none;
	width: 25%;
	vertical-align: middle;
/*	padding: 20px 8px;*/
	position: relative;
}

.table-bordered > tbody > tr > td{
	border:none;
	vertical-align: middle;
}



/*---------------------- その他　*/

.error_holder {
    border: #c63944 1px solid;
}
.error_text_plan,
.error_text_plan_title_name,
.error_text {
    font-size: 14px;
    color: #c63944;
    margin: 0;
    padding-top: 5px;
}

.unnecessary_label {
    float: right;
    position: absolute;
    top: 50%;
    right: 0%;
    transform: translateY(-50%);
	font-size: 12px;
    font-weight: normal;
    background: #c63944;
    color: #fff;
    padding: 2px 5px;
    margin-left: 10px;
}

.any {
    background: #666666;
}

/* ページトップ */
#return-top {
    background-color: rgba(38, 140, 248, 0.72);
    border-radius: 50%;
    bottom: 20px;
    color: #fff !important;
    font-size: 24px;
    height: 50px;
    outline: 0;
    position: fixed;
    right: 10px;
    text-align: center;
    width: 50px;
	line-height: 0.2em;
    padding-top: 4px;
}

#return-top span{
	font-size:14px;
}

/* ON OFFボタン*/

.on_off{
    margin-top: 5px;
    padding: 10px;
    border: solid 2px #9f9e9f;
    border-radius: 5px;
}

.onoff_name{
    padding: 5px 10px !important;
    font-size: medium;
    font-weight: bold;
}

.onoffswitch2 {
    position: relative;
	width: 90px;
	height: 34px;
    -webkit-user-select:none;
	-moz-user-select:none;
	-ms-user-select: none;
}

.onoffswitch2-checkbox {
    display: none;
}

.onoffswitch2-label {
    display: block;
	overflow: hidden;
	cursor: pointer;
    border: 2px solid #999999;
	border-radius: 5px;
	margin: 0;
}

.onoffswitch2-inner {
    display: block;
	width: 200%;
	margin-left: -100%;
    -moz-transition:margin 0.3s ease-in 0s;
	-webkit-transition: margin 0.3s ease-in 0s;
    -o-transition: margin 0.3s ease-in 0s;
	transition: margin 0.3s ease-in 0s;
}

.onoffswitch2-inner:before, .onoffswitch2-inner:after {
    display: block;
	float: left;
	width: 50%;
	height: 30px;
	padding: 0;
	line-height: 30px;
    font-size: 16px;
	color: white;
	font-family: Trebuchet, Arial, sans-serif;
	font-weight: bold;
    -moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.onoffswitch2-inner:before {
    content: "ON";
    padding-left: 20px;
    background-color: #228df5;
	color: #FFFFFF;
}

@media screen and (max-width: 1920px){
.onoffswitch2-inner:before {
    padding-left: 33px;
}
}

@media screen and (max-width: 1600px){
.onoffswitch2-inner:before {
    padding-left: 20px;
}
}

@media screen and (max-width: 1366px){
.onoffswitch2-inner:before {
    padding-left: 10px;
}
}

.onoffswitch2-inner:after {
    content: "OFF";
    padding-right: 16px;
    background-color: #ccc;
	color: #fff;
    text-align: right;
}

@media screen and (max-width: 1920px){
.onoffswitch2-inner:after {
    padding-right: 30px;
}
}

@media screen and (max-width: 1600px){
.onoffswitch2-inner:after {
    padding-right: 16px;
}
}

@media screen and (max-width: 1366px){
.onoffswitch2-inner:after {
    padding-right: 7px;
}
}

.onoffswitch2-switch {
    display: block;
	width: 25px;
	margin: 0px;
    background: #FFFFFF;
    border: 2px solid #999999;
	border-radius: 5px;
    position: absolute;
	top: 0; bottom: 0;
	right: 63px;
    -moz-transition: all 0.3s ease-in 0s;
	-webkit-transition: all 0.3s ease-in 0s;
    -o-transition: all 0.3s ease-in 0s;
	transition: all 0.3s ease-in 0s; 
    background-image: -moz-linear-gradient(center top, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0) 100%);
    background-image: -webkit-linear-gradient(center top, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0) 100%);
    background-image: -o-linear-gradient(center top, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0) 100%);
    background-image: linear-gradient(center top, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0) 100%);
}

@media screen and (max-width: 1920px){
.onoffswitch2-switch {
	right: 93px;
}
}

@media screen and (max-width: 1600px){
.onoffswitch2-switch {
	right: 63px;
}
}

@media screen and (max-width: 1366px){
.onoffswitch2-switch {
	right: 45px;
}
}

.onoffswitch2-checkbox:checked + .onoffswitch2-label .onoffswitch2-inner {
    margin-left: 0;
}

.onoffswitch2-checkbox:checked + .onoffswitch2-label .onoffswitch2-switch {
    right: 0px; 
}

.cmn-toggle 
{
  position: absolute;
  margin-left: -9999px;
  visibility: hidden;
}

.cmn-toggle + label 
{
  display: block;
  position: relative;
  cursor: pointer;
  outline: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

input.cmn-toggle-round-flat + label 
{
  padding: 2px;
  width: 75px;
  height: 30px;
  background-color: #dddddd;
  -webkit-border-radius: 60px;
  -moz-border-radius: 60px;
  -ms-border-radius: 60px;
  -o-border-radius: 60px;
  border-radius: 60px;
  -webkit-transition: background 0.4s;
  -moz-transition: background 0.4s;
  -o-transition: background 0.4s;
  transition: background 0.4s;
}

input.cmn-toggle-round-flat + label:before, input.cmn-toggle-round-flat + label:after 
{
  display: block;
  position: absolute;
  content: "";
}

input.cmn-toggle-round-flat + label:before 
{
  top: 2px;
  left: 2px;
  bottom: 2px;
  right: 2px;
  background-color: #fff;
  -webkit-border-radius: 60px;
  -moz-border-radius: 60px;
  -ms-border-radius: 60px;
  -o-border-radius: 60px;
  border-radius: 60px;
  -webkit-transition: background 0.4s;
  -moz-transition: background 0.4s;
  -o-transition: background 0.4s;
  transition: background 0.4s;
}

input.cmn-toggle-round-flat + label:after 
{
  top: 4px;
  left: 4px;
  bottom: 4px;
  width: 22px;
  background-color: #dddddd;
  -webkit-border-radius: 52px;
  -moz-border-radius: 52px;
  -ms-border-radius: 52px;
  -o-border-radius: 52px;
  border-radius: 52px;
  -webkit-transition: margin 0.4s, background 0.4s;
  -moz-transition: margin 0.4s, background 0.4s;
  -o-transition: margin 0.4s, background 0.4s;
  transition: margin 0.4s, background 0.4s;
}

input.cmn-toggle-round-flat:checked + label 
{
  background-color: #27A1CA;
}

input.cmn-toggle-round-flat:checked + label:after 
{
  margin-left: 45px;
  background-color: #27A1CA;
}

/*---------------------- 処理中のスピナー　*/
#overlay{
	position: fixed;
	top: 0;
	z-index: 10000;
	width: 100%;
	height:100%;
	display: none;
	background: rgba(0,0,0,0.6);
}
.cv-spinner {
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}
.cv-spinner .spinner {
	width: 40px;
	height: 40px;
	border: 4px #ddd solid;
	border-top: 4px #2e93e6 solid;
	border-radius: 50%;
	animation: sp-anime 0.8s infinite linear;
}
@keyframes sp-anime {
	100% {
		transform: rotate(360deg);
	}
}
