@import url("reset.css");
@import url(https://fonts.googleapis.com/css?family=Exo:100,200,400);
@import url(https://fonts.googleapis.com/css?family=Source+Sans+Pro:700,400,300);


.dosp {
  display: block; /* または必要に応じてinline, flex等 */
}

.dopc {
  display: none;
}

body {
  margin: 0px;
  padding: 0;
  background: var(--theme-dark-color1);
  color: #cbcbcb;
  font-family: "YakuHanJPs","-apple-system","BlinkMacSystemFont","Segoe UI","Hiragino Sans","Hiragino Kaku Gothic ProN","Meiryo",sans-serif;
  font-size: 16px;
}

.body {
  position: absolute;
  top: -20px;
  left: -20px;
  right: -40px;
  bottom: -40px;
  width: auto;
  height: auto;
  background-size: cover;
  -webkit-filter: blur(5px);
  z-index: 0;
}

main {
  padding: 10px;
  top: 0;
  margin-left: 240px;
  width: calc(100% - 240px);
}

#wrap {
  width: 1200px;
  /* margin: 0 auto; */
  min-height: 100%;
}

#wrap-schedule {
  width: 1255px;
  /* margin: 0 auto; */
  min-height: 100%;
}

/* .btn {
  border-radius: 3px;
  font-size: 14px;
  text-align: center;
  cursor: pointer;
  height: 24px;
  line-height: 17px;
  font-weight: 400;
  text-decoration: none;
  padding: 3px 6px;
  color: #111;
} */
h3 {
  font-weight: bold;
}
h3::after {
  content: "";
  display: block;
  height: 3px;
  width: 100%;
  background: var(--gradientTheme);
}
.btn {
  display: inline-block;
  font-size: 14px;
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
  font-weight: bold;
  color-scheme: dark;
  padding: 5px;
  margin: 5px;
  border: solid 1px #277c95;
  border-radius: 4px;
  transition: all 0.5s ease;
  background: #141523;
  font-size: 16px;
}
.btn:hover {
  border: solid 1px #83bbcb;
  box-shadow: 0 0 8px #7ebdcf, 0 0 8px #7ebdcf inset;
  text-shadow: 0 0 5px #00fffb;
  color: #fff;
  cursor: pointer;
}
.btn-mini {
  padding: 0 6px;
  font-size: 10.5px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
}
.schDel, .schDel2 {
  background: var(--gradient3);
  color: #fff !important;
  cursor: pointer;
  border-radius: 3px;
  text-align: center;
  line-height: 31px;
}
.schDel {
  margin: 0 4px;
}
tr {
  line-height: 30px;
}
th {
  font-weight: bold;
}


ul,
li {
  margin: 0px;
  padding: 0px;
  list-style-type: none;
}

li {
  line-height: 20px;
}

a {
  /* color: #444653; */
  text-decoration: none;
}

h2 {
  font-size: 31.5px;
}

table {
  max-width: 100%;
  background-color: transparent;
  border-spacing: 0;
}
input {
  color-scheme: dark;
  padding: 5px;
  margin: 5px;
  border: solid 1px #277c95;
  border-radius: 4px;
  transition: all 0.5s ease;
  background: #141523;
}
input:hover {
  border: solid 1px #83bbcb;
  box-shadow: 0 0 8px #7ebdcf, 0 0 8px #7ebdcf inset;
  text-shadow: 0 0 5px #00fffb;;
  color: #fff;
  cursor: pointer;
}
input:focus {
  border: solid 1px #83bbcb;
  box-shadow: 0 0 8px #7ebdcf, 0 0 8px #7ebdcf inset;
  text-shadow: 0 0 5px #00fffb;;
  color: #fff;
  cursor: pointer;
}
input[type=checkbox] {
	margin: 0 6px 0 0;
  appearance: auto;
}
input[type=radio] {
	margin: 0 6px 0 0;
  appearance: auto;
}
select {
  background: #141523;
  color-scheme: dark;
  border: solid 1px #277c95;
  border-radius: 4px;
  padding: 3px 6px;
  appearance: auto;
  transition: all 0.5s ease;
  width: 100%;
  color: #fff;
}
select:focus {
  border: solid 1px #83bbcb;
  box-shadow: 0 0 8px #7ebdcf, 0 0 8px #7ebdcf inset;
  text-shadow: 0 0 5px #00fffb;;
}
textarea {
  padding: 3px;
  transition: all 0.5s ease;
}
textarea:focus {
  border: solid 1px #83bbcb;
  box-shadow: 0 0 8px #7ebdcf, 0 0 8px #7ebdcf inset;
  text-shadow: 0 0 5px #00fffb;;
}
tbody {
  /* background-color: var(--theme-dark-color2); */
}

.table {
  width: 100%;
  margin-bottom: 20px;
}

.table th, .table td {
  padding: 8px;
  line-height: 20px;
  text-align: left;
  vertical-align: top;
  border-top: 1px solid #676b85;
}

.disabled {
  background: #B3B3B3;
  color: #e6e6e6;
}


/* ログイン画面 */
#indexLogo {
  position: absolute;
  width : 100%;
  height : 100%;
  top: 0 ;
  left : 0;
  background-position:center;
    -moz-background-size:cover;
  -o-background-size:cover;
  -webkit-background-size:cover;
  background-size:cover;

}

.header {
  position: absolute;
  top: calc(50% - 60px);
  left: calc(50% - 255px);
  height: 150px;
  width: 150px;
  z-index: 2;
}

.header div {
  float: left;
  color: #fff;
  font-size: 25px;
  font-weight: 200;
}

.header div span {
  color: #fa539f !important;
}

.login {
  position: absolute;
  top: calc(50% - 75px);
  left: calc(50% - 50px);
  height: 150px;
  width: 350px;
  padding: 10px;
  z-index: 2;
}

.login input[type=text], .login input[type=password] {
  width: 100%;
  height: 38px;
  width: 200px;
  margin: 5px;
  border-width: 0px;
  border-style: None;
  background-color: var(--theme-dark-color1);
  color: #fff;
  outline: none;
  padding: 0 5px;
  color-scheme: dark;
  border: solid 1px #277c95;
  border-radius: 4px;
  font-size: 18px;
  font-family: 'Exo', sans-serif;
}
.login input[type=text]:focus, .login input[type=password]:focus {
  border: solid 1px #83bbcb;
  box-shadow: 0 0 8px #7ebdcf, 0 0 8px #7ebdcf inset;
  font-size: 18px;
  font-family: 'Exo', sans-serif;
  outline: none;
}
.login input[type=submit] {
  width: 200px;
  height: 40px;
  text-align: center;
  font-weight: bold;
  margin: 5px;
  border: 1px solid #191f61;
  border-radius: 4px;
  cursor: pointer;
  border-radius: 2px;
  font-family: 'Exo', sans-serif;
  font-size: 16px;
  margin-top: 10px;
  transition: all 0.5s ease;
}
.login input[type=submit]:hover {
  color: #fff;
  text-shadow: 0 0 5px #fff;
  letter-spacing: 3px;
  text-indent: 3px;
  border: 1px solid #fff;
  box-shadow:
    inset 0 0 5px #fff,
    inset 20px 0 40px #f0f,
    inset -20px 0 40px #0ff,
    inset 20px 0 200px #f0f,
    inset -20px 0 200px #0ff,
    0 0 20px #fff,
    -10px 0 40px #f0f,
    10px 0 40px #0ff;
}

input:-webkit-autofill,
input:-webkit-autofill:focus {
  font-size: 18px;
  transition: background-color 0s 600000s, color 0s 600000s;
}
input:autofill,
input:autofill:focus {
  font-size: 18px;
  transition: background-color 0s 600000s, color 0s 600000s;
}

textarea{
  border: 1px solid #277c95;
  border-radius: 4px;
  background: #141523;
  margin: 5px;
}




/* サイドメニュー */
nav {
  width: 240px;
  background: rgb(255 255 255 / 5%);
  background: -moz-linear-gradient(top, #1D1D26, #312F4C);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  height: 100vh;
  overflow-y: overlay;
  border: 1px solid rgba(255, 255, 255, 0.18);
  position: fixed;
  z-index: 1;
}

nav .inner {
  padding: 10px;
}

nav #logo {
  width: 50%;
  margin: 10px auto;
  display: block;
}

nav #sysName {
  font-size: 12px;
  font-weight: bold;
  text-align: center;
}

nav #welcome {
  font-size: 12px;
  text-align: center;
}

nav #welcome b {
  font-weight: bold;
}

nav ul.sidenav {
	list-style-type: none;
	margin: 0;
	padding: 0;
	width: 250px;
	position: relative;
	overflow: auto;
  flex-wrap: wrap;
}
nav ul.sidenav li {
  width: 100%;
  padding: 5px;
  font-size: 16px;
  transition: all 0.5s ease;
}
nav ul.sidenav li.active {
  position: relative;
  padding: 10px 15px;
  font-weight: bold;
	color: white;
}
nav ul.sidenav li.active::after {
  content: "";
  display: block;
  height: 3px;
  width: 100%;
  background: var(--gradientTheme);
}
nav ul.sidenav li a {
  display: block;
  color: #fff;
  text-decoration: none;
}
nav ul.sidenav li a.active {
	background-color: #da3c41;
	color: white;
}
nav ul.sidenav li:hover:not(.active) {
  position: relative;
	background-color: var(--theme-dark-color1);
  padding: 5px 15px;
  font-weight: bold;
	color: white;
}
nav ul.sidenav li:hover:not(.active)::after {
  content: "";
  display: block;
  height: 3px;
  width: 100%;
  background: var(--gradientTheme);
}
div.content {
	margin-left: 25%;
	padding: 1px 16px;
	height: 1000px;
}
@media screen and (max-width: 900px) {
	nav ul.sidenav {
		width: 100%;
		height: auto;
		position: relative;
	}
	nav ul.sidenav li a {
		float: left;
		padding: 15px;
	}
	div.content {
		margin-left: 0;
	}
}
@media screen and (max-width: 480px) {
	nav ul.sidenav li a {
		text-align: center;
		float: none;
	}
}

nav hr {
  height: 1px;
  background: #444653;
}

nav #logOut {
  color: var(--theme-dark-color1);
  background: #ddd;
  margin: 10px;
  display: block;
  height: 30px;
  padding: 5px;
  line-height: 18px;
  border: solid 1px #444653;
}

nav {
  -ms-overflow-style: none; /* IE, Edge 対応 */
  scrollbar-width: none;    /* Firefox 対応 */
}

nav::-webkit-scrollbar {
  display: none; /* Chrome, Safari 対応 */
}

/* 女の子一覧画面 */
#order_list {
  margin: 10px 0;
  float: left;
  cursor: move;
}

#order_list li {
  padding: 5px;
  width: 100px;
  margin: 3px;
  background: #fff0;
  box-shadow: 3px 3px 6px var(--theme-dark-color1);
  border: solid 1px #444653;
  float: left;
  cursor: move;
  transition: all 0.5s ease;
}
#order_list li:hover {
  border: solid 1px #83bbcb;
  box-shadow: 0 0 8px #7ebdcf, 0 0 8px #7ebdcf inset;
  text-shadow: 0 0 5px #00fffb;;
}
.glist {
  display: block;
  font-size: 10px;
  width: 90px;
}

.glist a {
  display: block;
  margin-bottom: 3px;
  line-height: 10px;
  text-align: center;
  box-shadow: 1px 1px 2px var(--theme-dark-color1);
  border: solid 1px #333;
  padding: 2px;
}

.checkflg {
  box-shadow: 0px 0px 3px var(--theme-dark-color1)inset !important;
  color: #f11185 !important;
  font-weight: bold;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0.00, #fffefe), color-stop(0.50, #f7e5e5), color-stop(0.51, #f8d2d2), color-stop(1.00, #fef1f1));
  background: -webkit-linear-gradient(top, #fffefe 0%, #f7e5e5 50%, #f8d2d2 51%, #fef1f1 100%);
  background: -moz-linear-gradient(top, #fffefe 0%, #f7e5e5 50%, #f8d2d2 51%, #fef1f1 100%);
  background: -o-linear-gradient(top, #fffefe 0%, #f7e5e5 50%, #f8d2d2 51%, #fef1f1 100%);
  background: -ms-linear-gradient(top, #fffefe 0%, #f7e5e5 50%, #f8d2d2 51%, #fef1f1 100%);
  background: linear-gradient(to bottom, #fffefe 0%, #f7e5e5 50%, #f8d2d2 51%, #fef1f1 100%);
}

.delbtn {
  background: var(--gradient3);
  color: #fff !important;
}

.grdbtn {
  --border-color: linear-gradient(-45deg, #ffae00, #7e03aa, #00fffb);
  --border-width: .125em;
  --curve-size: .5em;
  --blur: 30px;
  --bg: #080312;
  --color: #afffff;
  color: var(--color);
    /* use position: relative; so that BG is only for .grdbtn */
  position: relative;
  isolation: isolate;
  display: inline-grid;
  place-content: center;
  padding: .5em 1.5em;
  font-size: 17px;
  border: 0;
  text-transform: uppercase;
  box-shadow: 10px 10px 20px rgba(0, 0, 0, .6);
  clip-path: polygon(
  /* Top-left */
  0% var(--curve-size),

  var(--curve-size) 0,
  /* top-right */
  100% 0,
  100% calc(100% - var(--curve-size)),

  /* bottom-right 1 */
  calc(100% - var(--curve-size)) 100%,
  /* bottom-right 2 */
  0 100%);
  transition: color 250ms;
}

.grdbtn::after,
.grdbtn::before {
  content: '';
  position: absolute;
  inset: 0;
}

.grdbtn::before {
  background: var(--border-color);
  background-size: 300% 300%;
  animation: move-bg7234 5s ease infinite;
  z-index: -2;
}

@keyframes move-bg7234 {
  0% {
    background-position: 31% 0%
  }

  50% {
    background-position: 70% 100%
  }

  100% {
    background-position: 31% 0%
  }
}

.grdbtn::after {
  background: var(--bg);
  z-index: -1;
  clip-path: polygon(
  /* Top-left */
  var(--border-width) 
  calc(var(--curve-size) + var(--border-width) * .5),

  calc(var(--curve-size) + var(--border-width) * .5) var(--border-width),

  /* top-right */
  calc(100% - var(--border-width)) 
  var(--border-width),

  calc(100% - var(--border-width)) 
  calc(100% - calc(var(--curve-size) + var(--border-width) * .5)),

  /* bottom-right 1 */
  calc(100% - calc(var(--curve-size) + var(--border-width) * .5)) calc(100% - var(--border-width)),
  /* bottom-right 2 */
  var(--border-width) calc(100% - var(--border-width)));
  transition: clip-path 500ms;
}

.grdbtn:where(:hover, :focus)::after {
  clip-path: polygon(
  /* Top-left */
  calc(100% - var(--border-width)) 

  calc(100% - calc(var(--curve-size) + var(--border-width) * 0.5)),

  calc(100% - var(--border-width))

  var(--border-width),

  /* top-right */
  calc(100% - var(--border-width))

  var(--border-width),

  calc(100% - var(--border-width)) 

  calc(100% - calc(var(--curve-size) + var(--border-width) * .5)),

  /* bottom-right 1 */
  calc(100% - calc(var(--curve-size) + var(--border-width) * .5)) 
  calc(100% - var(--border-width)),

  /* bottom-right 2 */
  calc(100% - calc(var(--curve-size) + var(--border-width) * 0.5))
  calc(100% - var(--border-width)));
  transition: 200ms;
}

.grdbtn:where(:hover, :focus) {
  color: #fff;
}

/* 女の子編集登録画面 */
td .top1Img .dropify-wrapper {
  width: 600px !important;
  height: 800px !important;
}

.labelList li {
  width: 154px;
  float: left;
}

label input {
  display: none;
}

label span {
  color: #333;
  font-size: 14px;
  border: 1px solid #333;
  border-radius: 20px;
  padding: 0px 10px;
}

label input:checked + span {
  color: #FFF;
  background: #FBB;
  border: 1px solid #FBB;
}

/* スケジュール系のテーブル */
#todayList table {
  width: 100%;
  margin-bottom: 10px;
  border-collapse: collapse;
}

#order_list {
  margin: 10px 0;
  float: left;
  cursor: move;
}

#todayList th {
  background: #e3e3e31f;
}

#todayList th, #todayList td {
  padding: 3px;
  border: solid 1px #676b85;
  border-collapse: collapse;
}

/* 出勤画面 */
.today {
  background: #ffffff61 !important;
  color: #fff;
  box-shadow: 0 0 8px #7ebdcf, 0 0 8px #7ebdcf inset;
  text-shadow: 0 0 5px #00fffb;;
}
#attend_list .selected {
  background: #75ff9a61 !important;
  color: #fff;
  box-shadow: 0 0 8px #7ecf88, 0 0 8px #7ecf97 inset;
  text-shadow: 0 0 5px #c6ff00;
}

#schAggListWrap {
  position: fixed;
  bottom: 0px;
  height: 70px;
  width: 100%;
  z-index: 200;
}

#schAggList {
  bottom: 0px;
  height: 50px;
  width: 1180px;
  padding: 10px;
  border-top: solid 3px #A2A4A6;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0.00, #fff), color-stop(1.00, #cecece));
  background: -webkit-linear-gradient(#fff, #cecece);
  background: -moz-linear-gradient(#fff, #cecece);
  background: -o-linear-gradient(#fff, #cecece);
  background: -ms-linear-gradient(#fff, #cecece);
  background: linear-gradient(#fff, #cecece);
  margin: 0 auto;
}

.table-bordered {
  /* border: 1px solid #dddddd; */
  border-collapse: separate;
  *border-collapse: collapse;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}



.table-condensed th, .table-condensed td {
  padding: 4px 5px;
}

.gNameHeader {
  background: #7c5bec29;
  position: relative;
  line-height: 30px !important;
}

.weekDisp {
  float: left;
  margin-right: 5px;
}

.monthEdit {
  float: right;
}

.wLE {
  height: 0px;
}

/* 本日出勤 */
#todaySch_list li {
  float: left;
  width: 148px;
  margin: 4px;
  border: solid 1px #4b4f6d;
  position: relative;
  background: #e5e5e526;
}

#todaySch_list .monthEdit {
  position: absolute;
  right: 0px;
}

#todaySch_list select {
  height: 20px;
  font-size: 12px;
  padding: 0 !important;
}

#todaySch_list .monthEdit {
  position: absolute;
  right: 0px;
}

.monthEdit {
  float: right;
}

.endchange {
  margin-bottom: 0 !important;
}

.acLabel {
  font-size: 10px;
  display: block;
}

/* 週間出勤登録 */
.weekly {
  overflow: hidden;
}

.weekly li {
  width: calc(100%/7);
  text-align: center;
  height: 30px;
  line-height: 30px;
  float: left;
  background: #e6e6e6;
  box-sizing: border-box;
  font-weight: bold;
}

.weekly li a {
  display: block;
}

.weekly li a.current {
  background: #CAFF9F;
}

.schSat {
  background: #7AC4F5;
}

.schSun {
  background: #FF8080;
}

#weekSch_list {
  float: left;
  width: 470px;
  margin: 5px;
}

#weekSch_list li {
  float: left;
  width: 229px;
  margin: 2px;
  border: solid 1px #e6e6e6;
  position: relative;
  background: #e5e5e5;
}

#weekSch_list li:nth-child(1) {
  width: 100%;
  box-sizing: border-box;
  padding: 5px;
  font-weight: bold;
  font-size: 16px;
  text-align: center;
}

.dowList li {
  width: 50px;
  float: left;
}

/* 基本設定 */
.config li {
  float: none;
  margin: 5px;
  width: 220px !important;
  display: block;
}


/* schedule_new.php */
#scheduleList{
  border: solid 1px #444653;
  border-collapse: collapse;
  margin-top: 10px;
}

#scheduleList thead {
  font-weight: bold;
}

#scheduleList .girlscell {
  width: 120px;
  text-align: center;
}

#scheduleList .daycell {
  width: 120px;
  text-align: center;
  font-weight: bold;
}

.Sat {
  color: #00c5ff;
}

.Sun {
  color: #ff007f;
}

#scheduleList th, td {
  border: solid 1px #444653;
  border-collapse: collapse;
  border-spacing: 0;
  padding: 3px 6px;
  vertical-align: top;
}

#scheduleList .girlcell {
  width: 120px;
  height: 80px;
  text-align: center;
  vertical-align: middle;
}

#scheduleList .schedulecell {
  width: 120px;
  text-align: center;
}

#scheduleList .startchange{
  width: 110px;
  margin: 5px
}

#scheduleList .endchange{
  width: 110px;
  margin: 5px !important;
}

#scheduleList .schdulestatus{
  width: 120px;
  margin: 5px
}

/* 登録ボタン等を固定 */
.submitbutton {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 9999;
  background-color: #0e1122;;
}
.attendCount {
  background: #fff;
  box-shadow: 0 0 8px #7ebdcf, 0 0 8px #7ebdcf inset;
  /* text-shadow: 0 0 5px #00fffb; */
  width: 20px;
  display: inline-block;
  height: 20px;
  border-radius: 20px;
  line-height: 20px;
  color: #111;
  margin-right: 5px;
}

/* 基本設定 > ホームページメニュー表示登録 */
.menutitle{
  font-size: large;
}

.menusubtitle{
  font-size: small;
}

/* map */
.gm-style .gm-style-iw-c {
  padding: 0;
}
.gm-style-iw .gm-style-iw-chr{
  display: none;
}
.gm-style-iw .gm-style-iw-d {
  color: #333;
  overflow: hidden !important;
  padding: 2px;
  font-weight: bold;
}
#wrapper {
}
#wrapper #map {
  height: calc(100vh - 77px);
}
#wrapper #panel {
  height: 30dvh;
  padding: 10px;
  overflow: scroll;
}
#driverList {
  display: block;
}
.driverInfo {
  
  /* border: 1px solid #ccc; */
  padding: 5px;
  margin-bottom: 10px;
  border-radius: 5px;
  background-color: #1e2935;
  border: 1px solid #dee2e6;
  color: #007bff;
}

.driverInfo .name {
  font-weight: bold;
  font-size: 18px;
  margin-bottom: 5px;
}

.driverInfo .carInfo {
  background-color: #f0f0f0;
  color: #013C23;
  margin-bottom: 5px;
  font-weight: bold;
  padding: 2px;
  border-radius: 3px;
}

.driverInfo .locationData {
  color: #f5f5f5;
  font-family: monospace;
  font-size: 12px;
  text-align: right;
}

.driverInfo .lat,
.driverInfo .lng {
  display: inline-block;
  min-width: 80px;
}

/* オプション: ホバー効果 */
.driverInfo:hover {
  background-color: var(--theme-dark-color2);
  transition: background-color 0.3s ease;
}


/* ドライバー編集ボタン */
.driverEdit{
  float: right;
}

.driverEdit img{
  width: 25px;
  margin: 3px;
  padding: 3px;
}

.driverEditItem {
  display: none; /* 初期状態で非表示 */
}

.driverEditItem.open {
  display: block; /* クラスが追加されたら表示 */
}

.registrationBtn {
  background: #fff;
  color: #0e1122 !important;
  cursor: pointer;
  border-radius: 3px;
  text-align: center;
  line-height: 31px;
  width: 100%;
}

.driverRegistItem {
  display: none; /* 初期状態で非表示 */
}

.placeEdit img {
  width: 25px;
  margin: 3px;
  padding: 3px;
}

.placeEdit {
  float: right;
}

#placeList {
  display: block;
}
.placeInfo {
  border: 1px solid #ccc;
  padding: 5px;
  margin-bottom: 10px;
  border-radius: 5px;
  border: 1px solid #dee2e6;
  background-color: #1e2935;
  color: #007bff;
}

.placeInfo .name {
  font-weight: bold;
  font-size: 18px;
  margin-bottom: 5px;
}

.placeInfo .carInfo {
  background-color: #f0f0f0;
  color: #013C23;
  margin-bottom: 5px;
  font-weight: bold;
  padding: 2px;
  border-radius: 3px;
}

.placeInfo .locationData {
  color: #f5f5f5;
  font-family: monospace;
  font-size: 12px;
  text-align: right;
}

.placeInfo .lat,
.placeInfo .lng {
  display: inline-block;
  min-width: 80px;
}

.placeEditItem {
  display: none; /* 初期状態で非表示 */
}

.placeEditItem.open {
  display: block; /* クラスが追加されたら表示 */
}

.placeRegistItem {
  display: none; /* 初期状態で非表示 */
}

.btn-delete{
  border: solid 1px #fff;
  background-color: #95276e;
}

/* タブボタン */
.tabContainer {
  display: flex;
  margin-bottom: 10px;
}

.tabButton {
  flex: 1;
  padding: 10px;
  cursor: pointer;
  background-color: #cccccc00;
  border: 1px solid #ccc;
  text-align: center;
  font-size: 14px;
}

.driverTab{
  border-radius: 5px 0 0 5px;
}

.placeTab{
  border-radius: 0 5px 5px 0;
}

.tabButton.active {
  background-color: #cccccc00;
  box-shadow: 0 0 8px #acb8bb, 0 0 8px #c1c4c5 inset;
  text-shadow: 0 0 5px #fbfbfb;
}

.tabContent {
  /* display: none !important; */
}

.tabContent.active {
  display: block!important; /* 選択されたタブのみ表示 */
  z-index: 1000; /* 十分に大きな値を設定 */
  position: relative; /* z-indexを有効にするため */
}
.mapCenterJumper {
  cursor:pointer;
  border: 1px solid #000;
  padding: 5px;
  margin-bottom: 5px;
  background: white;
}





/* ログアウトボタン追加 */
#logoutBtn {
  position: absolute;
  bottom: 10px;
  left: 10px;
  width: 60px;
  background-color: #fff;
  color: #333;
  border-radius: 5px;
  box-shadow: 0 0 5px #666;
  padding: 5px 0 0;
  text-align: center;
  display: block;
  transition: all 0.5s;
}
#logoutBtn img {
  width: 30px;
  margin: 0 auto;
}
#logoutBtn:hover {
background: #d1ffc6;
text-decoration: none;
color: #111;
}
#logoutBtn span {
  font-size: 10px;
  font-weight: bold;
}





/* 既存のスタイルはそのままに、以下を追加 */
@media screen and (max-width: 768px) {

  #map {
    height: 100vh;
    width: 100vw;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1; /* 他の要素より下に表示されるように */
  }


  .panel {
    display: none; /* モバイル表示時にwrapperを非表示にする */
  }


  #girlList {
    display: none; /* モバイル表示時に出勤中の女の子リストを非表示にする */
  }

  .dosp {
    position: relative;
    z-index: 2; /* 地図より上に表示されるように */
  }

  
  #mobileMenu {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: #fff;
    padding: 10px;
    box-shadow: 0 -2px 10px rgba(0,0,0,0.2);
    z-index: 1000;
  }
  
  #mobileMenuButton {
    background-color: #007bff;
    color: #fff;
    border: none;
    padding: 15px;
    font-size: 18px;
    width: 100%;
    text-align: center;
    border-radius: 5px;
  }
  
  .mobile-popup {
    display: none;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: rgba(0, 0, 0, 0.8);
    z-index: 1001;
    padding: 20px;
    overflow-y: auto;
  }
  .mobile-popup-content {
    background-color: #f3f3f3;
    border-radius: 10px;
    padding: 20px;
    max-width: 300px;
    margin: 50px auto;
  }
  
  .mobile-popup-close {
    position: absolute;
    top: 10px;
    right: 20px;
    font-size: 30px;
    color: #28a745;
    cursor: pointer;
  }

  .mobile-menu-item {
    display: block;
    width: 100%;
    padding: 15px;
    margin: 10px 0;
    background-color: #f8f9fa;
    border: 1px solid #dee2e6;
    border-radius: 5px;
    font-size: 16px;
    text-align: center;
    color: #007bff;
    text-decoration: none;
    transition: background-color 0.3s;
  }

  .mobile-menu-item:hover,
  .mobile-menu-item:focus {
    background-color: #e9ecef;
  }

  #mobilePopupContent .mobile-popup-content {
    max-width: 100%;
    margin: 0;
    height: 100%;
    overflow-y: auto;
  }

  #mobilePopupContentInner {
    padding: 20px;
    color: #141523;
  }

  #mobilePopupContentInner ul li{
    margin-bottom: 10px;
  }


  .mobile-new-item {
    display: block;
    width: 100%;
    padding: 15px;
    margin: 20px 0;
    background-color: #28a745;
    border: none;
    border-radius: 5px;
    font-size: 16px;
    text-align: center;
    color: #fff;
    text-decoration: none;
    transition: background-color 0.3s;
  }

  .mobile-new-item:hover,
  .mobile-new-item:focus {
    background-color: #218838;
  }
}