@charset "UTF-8";

/*body {
   background-image: url("../img/bg.jpg");
   background-size: cover;
}*/

/*フォーム*/
input[type=text], select {
  -webkit-appearance: none;
  appearance: none;
}

/*幅調整*/
.container {
  width: 100%;
  min-width:800px;
  padding-top:80px;
}

@media (min-width: 576px) {
  .container-sm, .container {
    width: 100%;
	max-width: 100%;
  }
}
@media (min-width: 768px) {
  .container-md, .container-sm, .container {
    width: 100%;
  }
}
@media (min-width: 1000px) {
  .container-lg, .container-md, .container-sm, .container {
    width: 100%;
	min-width: 1000px;
  }
}
@media (min-width: 1200px) {
  .container-xl, .container-lg, .container-md, .container-sm, .container {
    width: 100%;
	max-width:1200px;
  }
}
@media (min-width: 1500px) {
  .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {
    width: 100%;
	max-width:1200px;
  }
}

/*コントローラー*/
#nav_controller {
  position: fixed;
  width: 100%;
  min-width:800px;
  display: flex;
  justify-content: center;
  align-items: center;
  padding:10px;
  background: rgba(0,0,0,0.9);
  z-index: 2000;
}

#realtime {
  color:#FFF;
  font-weight:bold;
}

#nav_controller button {
  border:solid 1px;
}

/*モーダル調整*/

.modal-dialog-fluid {
  max-width: inherit;
  width: 98%;
  max-width:1000px;
  margin: 80px auto 0;
  padding:10px;
}

/*メインパネル ホール*/

.main_whole {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.whole_container {
  display:flex;
  flex-direction: column;
  width: 18%;
  border:solid 3px #FFF;
  border-radius:5px;
  background-color:#FFF;
  margin:1%;
}

.whole_container a,
.whole_container a:hover,
.whole_container a:visited{
  text-decoration:none;
}

.whole_number {
  width: 100%;
  height:35px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color:#000;
  padding:5px;
  font-size:14px;
  font-weight:bold;
  color:#FFF;
  border-radius:5px 5px 0px 0px;
}

.whole_empty {
  width: 100%;
  height: 125px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight:bold;
  background-color:#00188C;
  color:#FFF;
  border-radius:0px 0px 5px 5px;
  font-size:24px;
}

.whole_use {
  width: 100%;
  flex-direction: column;
  justify-content: center;
  height: 125px;
  display: flex;
  background-color:#624735;
  border-radius:0px 0px 5px 5px;
}

.whole_use div {
  width: 100%;
  margin:0;
  padding:0;
  font-size:16px;
  line-height:20px;
  text-align:center;
  font-weight:bold;
  color:#fff;
}

.whole_use div.people {
}

.whole_use div.people span {
  font-size:18px;
}

.whole_use div.until {
  width: 90%;
  background:#FFF;
  color:#333;
  margin:4px auto;
  border-radius:5px;
  font-size:14px;
}

.whole_use div.until span {
  font-size:18px;
  color:#C89C7A;
}

.whole_use div.price {
  width: 90%;
  background:#333;
  margin:4px auto;
  border-radius:5px;
  font-size:14px;
  line-height:22px;
  color:#FFF;
  border:solid 1px #C89C7A;
}

.whole_use div.price span {
  font-size:18px;
}

.whole_enable {
  width: 100%;
  height: 125px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight:bold;
  background-color:#f76400;
  color:#FFF;
  border-radius:0px 0px 5px 5px;
  font-size:24px;
}

.whole_disable {
  width: 100%;
  height: 125px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight:bold;
  background-color:#666;
  color:#FFF;
  border-radius:0px 0px 5px 5px;
  font-size:24px;
}

.move_btn{
  cursor: pointer;
}

/*スピナー通常*/

.spinner-container {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  user-select: none;
  -ms-user-select: none;
  -moz-user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
}

.spinner {
  width: 70px;
  padding: 0;
  text-align: center;
  border: none;
  background: none;
  outline: none;
  pointer-events: none;
  font-size:28px;
  color:#FFF;
  font-weight:bold;
}

.spinner::-webkit-inner-spin-button,
.spinner::-webkit-outer-spin-button {
  -webkit-appearance: none;
}

.spinner-sub,
.spinner-add {
  display: flex;
  width: 40px;
  height: 40px;
  padding:0;
  justify-content: center;
  border: 1px solid #fff;
  border-radius: 10%;
  cursor: pointer;
  line-height: 33px;
  background-color:#F90;
  font-size:30px;
  font-weight:bold;
  color:#FFF;
}

/*メインパネル テーブル設定*/

.main_table {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  background: rgba(153,102,102,0.7);
  border-radius:5px;
  padding:10px;
  height: calc(100svh - 100px);
  overflow:hidden;
  overflow-y:scroll;
}

.main_table::-webkit-scrollbar{
  display: none;
}

.main_table * {
  -ms-touch-action: manipulation;
      touch-action: manipulation;
}

.table_title {
  border-radius:5px;
  padding:7px 30px;
  font-weight:bold;
  font-size:20px;
  letter-spacing:2px;
  color:#FFF;
}

/*人数用等*/

.table_panel_people {
  display: flex;
  justify-content: center;
  width:80%;
  background-color:#333;
  border-radius:5px;
  padding:15px;
}

.table_panel_people .spinner-container {
  display: flex;
  justify-content: center;
  align-items: center;
  user-select: none;
  -ms-user-select: none;
  -moz-user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
}

.table_panel_people .spinner {
  width: 100px;
  padding: 0;
  text-align: center;
  border: none;
  background: none;
  outline: none;
  pointer-events: none;
  font-size:40px;
  color:#FFF;
  font-weight:bold;
}

.table_panel_people .spinner-sub,
.table_panel_people .spinner-add {
  display: flex;
  width: 60px;
  height: 60px;
  padding:0;
  justify-content: center;
  border: 1px solid #fff;
  border-radius: 10%;
  cursor: pointer;
  line-height: 50px;
  background-color:#F90;
  font-size:60px;
  font-weight:bold;
  color:#FFF;
}

.table_panel_people input[type="radio"] {
	display: none;
}

.table_panel_people label{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  width:30%;
  height:50px;
  border-radius:5px;
  border: solid 2px #fff;
  font-weight:bold;
  line-height:18px;
  font-size:18px;
  /*transition: .1s;*/
  margin:0;
}

.table_panel_people input[type="radio"]:checked + label {
  background-color:#F60;
  color:#fff;
}

.table_panel_people label{
  background-color:#ccc;
  color:#000;
}

.table_panel_people select {
  width:10%;
  text-align-last: center;
  min-width:70px;
  padding:0 20px!important;
}

.table_panel_people span {
  display: flex;
  font-size:20px;
  font-weight:bold;
  padding:10px;
  justify-content: center;
  align-items: center;
  color:#FFF;
}

/*セット、料金・時間設定*/

.start_set_panel{
	width: 90%;
	padding:0;
	background-color:#333;
	border-radius:5px;
}

.set_table{
	width: 100%;
	padding:0;
	border-radius:5px;
}

.set_table th{
	padding:6px;
	vertical-align:middle;
	text-align:center;
	color:#FFF;
	background-color:#643200;
}

.set_table td{
	padding:0;
	vertical-align:middle;
}

.set_table td.name{
	font-weight:bold;
	color:#FFF;
	text-align:center;
}

.set_add{
  display: flex;
  align-items: center;
  margin:0;
  padding-left:5px;
}

.set_add .box{
  display: flex;
  flex-direction: column;
  margin-left:5px;
}

.set_add .box span{
  font-size:14px;
  font-weight:bold;
  color:#FFF;
  margin-bottom:-10px;
}


/*メインパネル セット関連*/

.set_menu_panel {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: space-between;
}

/*左レイアウト*/

.set_left {
  width: 50%;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.set_left_top{
  width: 100%;
  display: flex;
  justify-content: space-between;
}

.set_left_main{
  width: 100%;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  background:#460000;
  margin-top:10px;
  border-radius:5px;
  overflow:hidden;
 
}

.set_left_bottom{
  margin-top:10px;
  width: 100%;
  display: flex;
  justify-content: space-between;
}

.set_left_bottom button{
  width: 32%;
  border:solid 2px #FFF;
}

/*卓番*/

.set_left_top .table_num{
  width:70px;
  height:70px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color:#460000;
  border-radius:5px;
  border: solid 2px #FFF;
  color:#FFF;
  font-weight:bold;
  margin:0;
}


/*人数ボタン*/

.set_left_top .table_people{
  display: flex;
  flex-grow: 1;
  justify-content: space-between;
  align-items: center;
  margin-left:10px;
  padding:0 10px;
  background-color:#333;
  border-radius:5px;
}

.set_left_top .num_spinner{
  display: flex;
  justify-content: end;
  align-items: center;
}

.set_left_top .table_people .num{
  font-size:28px;
  font-weight:bold;
  color:#FFF;
  margin-right:10px;
}

.set_left_top .table_people .num span{
  font-size:16px;
}

/*延長ボタン*/

.encho_panel{
  width: 100%;
  display: flex;
  padding:5px;
}

.encho_panel button{
	border: solid 2px #FFF;
}

.encho_panel .nego{
  display: flex;
  width:85px;
  height:85px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right:5px;
  font-size:18px;
}

.encho_panel .encho{
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  background-color: #FC0;
  justify-content: center;
  align-items: center;
}

.encho_panel .encho div{
  width:100%;
  font-size:20px;
  color:#000;
}

.encho_panel .encho span {
  display: flex;
  justify-content: center;
  background-color:#FFF;
  width:98%;
  border-radius:5px;
  margin:7px auto 0;
  padding:5px;
  font-size:15px;
  color:#000;
}

.customer_panel{
  width: 100%;
  display: flex;
  flex-grow: 1;
  flex-direction: column;
  padding:5px;
  overflow:hidden;
  overflow-y:scroll;
}

.customer_panel::-webkit-scrollbar{
  display: none;
}

.customer_detail{
  display: flex;
  width:100%;
  margin:0 0 5px;
  padding:5px 10px;
  border-radius:5px;
  background-color:#222;
  font-weight:bold;
  color:#FFF;
  font-size:15px;
}


/*右レイアウト*/

.set_right {
  width: 49%;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.set_right_main {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  overflow:hidden;
}

.set_right_main .yobi {
  display: flex;
  flex-direction: column;
  overflow:hidden;
  height:160px;
  min-height:160px;
  margin-bottom:10px;
}

.set_right_main .set {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  overflow:hidden;
}

.set_right_main .rireki_box {
  display: flex;
  flex-direction: column;
  overflow:hidden;
  overflow-y:scroll;
}

.set_right_main .rireki_box::-webkit-scrollbar{
  display: none;
}

/*セット履歴*/
.set_cnt {
  width:100%;
  margin:0 0 3px;
  color:#FC0;
  font-size:13px;
  font-weight:bold;
}

.set_detail {
  display: flex;
  justify-content:space-between;
  align-items: center;
  width:100%;
  margin:0 0 5px;
  padding:0;
  border-radius:5px;
  background-color:#333;
  font-weight:bold;
  color:#FFF;
}

.set_detail .radio{
  padding:5px 0 5px 10px;
}

.set_detail label{
  flex-grow: 1;
  display: flex;
  justify-content:space-between;
  align-items: center;
  margin:0;
  padding:5px 10px;
}

.set_detail .tpm{
	text-align:right;

}

/*キャスト状況*/
.cast_detail {
  display: flex;
  justify-content:space-between;
  align-items: center;
  width:100%;
  margin:0 0 5px;
  padding:5px 10px;
  border-radius:5px;
  background-color:#333;
  font-weight:bold;
  color:#FFF;
}


/*メインパネル 注文*/

.main_order {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  background: rgba(153,102,102,0.7);
  border-radius:5px;
  padding:10px;
  height: calc(100svh - 100px);
}

.main_order * {
  -ms-touch-action: manipulation;
      touch-action: manipulation;
}

/*卓番*/

.order_table_select {
  width: 100%;
  margin-bottom:10px;
  
}

.order_table_select ul {
  display: flex;
  height:60px;
  margin:0 30px;
  padding:0;
  background-color:#460000;
  border-radius:5px;
  overflow:hidden;
  overflow-x:scroll;
}

.order_table_select ul::-webkit-scrollbar{
  display: none;
}

.order_table_select ul li{
  list-style:none;
  width:60px;
  height:60px;
  margin-right:10px;
}

.order_table_select ul li input {
	display: none;
}

.order_table_select ul li label{
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  width:100%;
  height:100%;
  background-color:#333;
  border-radius:5px;
  border: solid 2px #FFF;
  color:#FFF;
  font-weight:bold;
  margin:0;
}

.order_table_select ul li input[type="radio"]:checked + label {
  background-color:#F60;
  color:#fff;
}

/*メニュー部分*/

.order_menu_panel {
  display: flex;
  flex-grow: 1;
  justify-content:space-between;
  width:100%;
  height:100%;
  overflow:hidden;
}

.order_menu1 {
  display: flex;
  flex-direction: column;
  width:15%;
  height:100%;
  background-color:#333;
  border-radius:5px;
  margin-right:1%;
}

.order_menu2 {
  display: flex;
  flex-direction: column;
  width:19%;
  height:100%;
  background-color:#333;
  border-radius:5px;
  margin-right:1%;
}

.order_menu3 {
  display: flex;
  flex-direction: column;
  width:15%;
  height:100%;
  background-color:#333;
  border-radius:5px;
  margin-right:1%;
}

.order_menu4 {
  display: flex;
  flex-direction: column;
  width:15%;
  height:100%;
  background-color:#333;
  border-radius:5px;
  margin-right:1%;
}

.order_menu5 {
  display: flex;
  flex-direction: column;
  width:48%;
  height:100%;
  border-radius:5px;
}

.om_title {
  display: flex;
  justify-content: center;
  align-items: center;
  width:100%;
  height:30px;
  margin:0 0 10px;
  background-color:#000;
  border-radius:5px;
  color:#FFF;
  font-weight:bold;
}

.om_btn {
	width:100%;
	overflow-y:scroll;
}

.om_btn::-webkit-scrollbar{
  display: none;
}

.om_btn input {
	display: none;
}

.om_btn label{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  width:100%;
  height:50px;
  border-radius:5px;
  border: solid 2px #fff;
  font-weight:bold;
  line-height:14px;
  font-size:14px;
  /*transition: .1s;*/
  margin:0 0 10px 0;
}

.om_btn input[type="radio"]:checked + label {
  background-color:#F60;
  color:#fff;
}

.om_btn input[type="checkbox"]:checked + label {
  background-color:#F60;
  color:#fff;
}

.om_btn1 label{
  background-color:#ccc;
  color:#000;
}

.om_btn2 label{
  background-color:#FC0;
  color:#000;
}

.om_btn2 label span {
  display: flex;
  justify-content: center;
  background-color:#FFF;
  width:96%;
  border-radius:5px;
  margin:3px auto 0;
  font-size:12px;
  color:#000;
}

#cast_arr_list{
  display:none;
}

#cast_arr_list button{
  width:100%;
  border: solid 2px;
}

.om_btn4 label{
  background-color:#643200;
  color:#FFF;
}

/*注文内容表示部分*/

.order_detail_parent {
  flex-grow: 1;
  overflow-y: scroll;
}

.order_detail_parent::-webkit-scrollbar{
  display: none;
}

.order_detail_panel {
  width:100%;
}

.om_detail {
  display: flex;
  flex-direction: column;
  width:100%;
  margin:0 0 5px;
  padding:5px;
  border-radius:5px;
  background-color:#333;
}

.om_detail_txt {
  width:100%;
  color:#FFF;
  font-size:14px;
  line-height:14px;
  font-weight:bold;
}

.om_detail_box {
  display: flex;
  justify-content: space-between;
  width:100%;
}

.om_detail_left {
  display: flex;
  flex-direction: column;
  width:30%;
}

.om_detail_name {
  color:#FFF;
  font-size:14px;
  line-height:14px;
  margin-top:5px;
}

/*注文金額表示、数量部分*/

.om_detail_right {
  display: flex;
  justify-content: end;
  align-items: flex-end;
  width:70%;
}

.om_detail_price {
  color:#FFF;
  font-size:14px;
  text-align:right;
}

.om_detail_price span {
  font-size:20px;
  font-weight:bold;
}

/*数量カウント部分*/

.om_detail_panel div.om_detail_cnt {
  display: flex;
  width:40%;
}

/*合計金額部分*/

.order_sum_panel {
  display: flex;
  justify-content: space-between;
  width:100%;
  margin-top:10px;
  border-radius:5px;
  background-color:#333;
  padding:5px;
}

.order_sum_panel span {
	color:#FFF;
}

.order_sum_right {
  flex-grow: 1;
  display: flex;
  justify-content: end;
  align-items: center;
}

.order_sum_right span {
	color:#FFF;
	font-size:18px;
	font-weight:bold;
	margin-right:3px;
	padding-top:10px;
}

#order_sum {
	color:#FFF;
	font-size:30px;
	font-weight:bold;
	margin-right:20px;
}

.order_sum_panel button {
  border: solid 1px #FFF;
}

/*操作不可*/

.order_disabled {
    opacity: 0.3 !important;
    cursor: inherit !important;
}

/*明細*/

.main_statement {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  background: rgba(255,255,255,0.9);
  border-radius:5px;
  padding:10px;
  height: calc(100svh - 100px);
}

.smt_title{
  width: 100%;
  padding:10px 20px;
  background:#460000;
  border-radius:5px;
  font-size:24px;
  color:#FC0;
  text-align:center;
}

.smt_main{
  width: 100%;
  flex-grow: 1;
  display: flex;
  justify-content: space-between;
  margin-top:10px;
  border-radius:5px;
  overflow:hidden;
}

.smt_set{
  width: 49.5%;
  display: flex;
  flex-direction: column;
  border-radius:5px;
  border: solid 1px #999;
  
}

.smt_order{
  width: 49.5%;
  display: flex;
  flex-direction: column;
  border-radius:5px;
  border: solid 1px #999;
}

.smt_bottom{
  margin-top:10px;
  width: 100%;
  display: flex;
  justify-content: space-between;
  font-weight:bold;
  padding:10px;
  font-size:18px;
}

.smt_bottom button{
  width: 30%;
  font-size:20px;
}

.smt_bottom_left{
  width: 30%;
  display: flex;
  flex-direction: column;
}

.smt_bottom_left div{
  width: 100%;
  display: flex;
  justify-content: space-between;
}

.smt_bottom_right{
  width: 30%;
  display: flex;
  flex-direction: column;
  
}

.smt_bottom_right div{
  width: 100%;
}

.smt_bottom_right div.smt_sum{
  width: 100%;
  font-size:28px;
  text-align:right;
}

.smt_set_title {
  display: flex;
  justify-content: center;
  align-items: center;
  width:100%;
  margin:0;
  background-color:#f4a100;
  border-radius:5px;
  font-weight:bold;
  padding:10px;
  color:#FFF;
}

.smt_order_title {
  display: flex;
  justify-content: center;
  align-items: center;
  width:100%;
  margin:0;
  background-color:#f76400;
  border-radius:5px;
  font-weight:bold;
  padding:10px;
  color:#FFF;
}

.smt_box{
  width: 100%;
  flex-grow: 1;
  padding:10px 15px;
  border-radius:5px;
  font-weight:bold;
  font-size:18px;
  overflow-y:scroll;
}

.smt_box::-webkit-scrollbar{
  display: none;
}

.smt_box .list{
  width: 100%;
  margin-bottom:10px;
}

.smt_box .set{
  width: 100%;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.smt_box .set div{
  width: 25%;
  text-align:right;
}

.detail_box {
  display: flex;
  justify-content: space-between;
  width:100%;
}

.detail_left {
  display: flex;
  flex-direction: column;
  width:35%;
}

.detail_name {
  font-size:14px;
  line-height:14px;
  margin-top:5px;
}

.detail_right {
  display: flex;
  justify-content: end;
  width:65%;
}

.detail_right div{
  width: 30%;
  text-align:right;
}

/*会計*/

.main_bill {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  background: rgba(0,0,0,0.4);
  border-radius:5px;
  padding:10px;
  height: calc(100svh - 100px);
}

.bill_title{
  width: 100%;
  display: flex;
  padding:10px 20px;
  background:#460000;
  border-radius:5px;
  font-size:24px;
  color:#FC0;
}

.bill_main{
  width: 100%;
  flex-grow: 1;
  margin-top:10px;
  border-radius:5px;
  overflow:hidden;
  padding:0 20px;
}

.bill_main .form{
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  padding-bottom:10px;
}

.bill_main .form div{
  width: 50%;
  padding:0 10px 5px;
}

.bill_main .form div label{
  font-size:20px;
  font-weight:bold;
  color:#FFF;
}

.bill_main .form div input{
  color:#FFF;
  background-color:#333;
  text-align:right;
}

.bill_main .form div input:read-only{
  background-color:#666;
}

.bill_main .form2{
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  padding-bottom:10px;
  border-top: solid 1px #FFF;
  padding-top:20px;
}

.bill_main .form2 div{
  width: 33%;
  padding:0 10px;
}

.bill_main .form2 div label{
  font-size:20px;
  font-weight:bold;
  color:#FFF;
}

.bill_main .form2 div input{
  color:#FFF;
  background-color:#333;
  text-align:right;
}

.bill_main .form2 div input:read-only{
  background-color:#666;
}

.bill_main .total{
  width: 100%;
  display: flex;
  justify-content: space-between;
  background:#f4a100;
  border-radius:5px;
  font-size:24px;
  font-weight:bold;
  color:#FFF;
  padding:10px 20px;
  margin-top:10px;
  border:solid 2px #333;
}

.bill_main .total div{
  width: 50%;
}

.bill_bottom{
  width: 100%;
  display: flex;
  justify-content: space-between;
  padding:0 30px 10px;
}

.bill_bottom div{
  display: flex;
}

.bill_bottom button{
  border:solid 2px #FFF;
}


/*会計*/

.main_se {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  background: rgba(0,0,0,0.4);
  border-radius:5px;
  padding:10px;
  margin-bottom:20px;
}

.se_main{
  width: 100%;
  margin-top:10px;
  border-radius:5px;
  padding:0 20px;
}

.se_main input{
  font-size:18px !important;
  padding:15px !important;
}

.se_main .form1{
  width: 100%;
  display: flex;
  flex-direction: column;
}

.se_main .form1 input[type=text]{
  width: 80%;
}

.se_main .form1 input[type=number]{
  width: 19%;
  margin-left:1%;
  text-align:right;
}


.se_main .form1 div{
  width: 100%;
  display: flex;
  padding:0 10px 10px;
}

.se_main .form1 div label{
  font-size:20px;
  font-weight:bold;
  color:#FFF;
}


/*サイズ等調整*/

.card-header {
  font-size:150%;
  height:73px !important;
}

form:not(.search) select.form-control {
  font-size:20px !important;
  height:auto !important;
  padding: 18px;
  font-weight:bold;
  border-color:#999;
}

form:not(.search) select.spsel {
  font-size:16px !important;
  height:100%;
  padding: 18px 5px;
  font-weight:bold;
  border-color:#999;
}

form:not(.search) input.form-control {
  font-size:20px !important;
  height:auto !important;
  padding: 16.5px !important;
  font-weight:bold;
  border-color:#999;
}

.btn {
  font-weight:bold;
}

.btn_w {
  width: 50% !important;
}

/*テーブル*/

.table-responsive table th, .table-responsive table td {
    border: 1px solid #CCC;
}

.table-responsive table td {
  font-size:150%;
  font-weight:bold;
}

.table-responsive table td select {
  font-size:18px !important;
  height:100% !important;
  padding: 10px !important;
  font-weight:bold;
  border-color:#999;
}

.table-responsive table td input {
  font-size:20px !important;
  height:100% !important;
  padding: 10px !important;
  font-weight:bold;
  border-color:#999;
}

.table-input thead th {
  text-align:center;
  border: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  background: #F2F2F2;
}

.table-input td {
  padding:0;
  margin:0;
  border: 1px solid #ccc;
}

.table-input td div {
  padding:10px 20px;
  margin:0;
  font-size:16px;
  line-height:18px;
  font-weight:bold;
}

.table-input select {
  color:#333;
  width:100%;
  border:none;
  padding:10px 20px;
  font-size:18px;
  line-height:18px;
  font-weight:bold;
}

.table-input input {
  color:#333;
  width:100%;
  border:none;
  padding:10px 20px;
  font-size:18px;
  line-height:18px;
  font-weight:bold;
}

.table-input input::placeholder {
  color: #CCC;
}

.table-input textarea {
  color:#333;
  width:100%;
  border:none;
  padding:20px 20px;
  font-size:18px;
  line-height:18px;
  font-weight:bold;
}

/*カスタムスイッチ*/

.custom-switch {
  padding-left: 2.25rem;
  padding-bottom: 1rem; // added for positioning
}

.custom-control-label { // added for alignment with the switch
  padding-top: 0.5rem;
  padding-left: 2rem;
  padding-bottom: 0.1rem;
}

.custom-switch .custom-control-label::before {
  left: -2.25rem;
  height: 2rem;
  width: 3.5rem;    // it was 1.75rem before. Sliding way is longer than before.
  pointer-events: all;
  border-radius: 1rem;
}

.custom-switch .custom-control-label::after {
  top: calc(0.25rem + 2px);
  left: calc(-2.25rem + 2px);
  width: calc(2rem - 4px);
  height: calc(2rem - 4px) !important;
  background-color: #adb5bd;
  border-radius: 2rem;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out;
  transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .custom-switch .custom-control-label::after {
    transition: none;
  }
}

.custom-switch .custom-control-input:checked ~ .custom-control-label::after {
  background-color: #fff;
  -webkit-transform: translateX(1.5rem); //translateX(0.75rem);
  transform: translateX(1.5rem); //translateX(0.75rem);
}

/*簡易モーダル*/

#modalWrap {
	display: none;
	background: none;
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
	overflow: hidden;
	background: rgba(0,0,0,0.5);
}

.modalBox {
	position: fixed;
	width: 85%;
	max-width: 420px;
	height: 0;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	overflow: hidden;
	opacity: 1;
	display: none;
	border-radius: 3px;
	z-index: 1000;
}

.modalInner {
	padding: 10px;
	text-align: center;
	box-sizing: border-box;
	background: rgba(0, 0, 0, 0.9);
	color: #fff;
	font-weight:bold;
}

