/* すべての入力フィールドに適用 */
input,
select,
textarea,
.form-control,
.flatpickr-input {
  font-size: 16px !important; /* 最低16pxを保証 */
}

/* 特定のクラスを持つ要素にも適用 */
.input-field,
.date-picker,
.text-input {
  font-size: 16px !important;
}

/* カードセパレータ */
.card-separator {
	border-top: var(--phoenix-card-border-width) solid var(--phoenix-card-border-color);
}

/* your styles go here */
.kinetic-field {
	display:none;
}

.ui-state-highlight {
	border-radius: 0.5rem;
	border: 1px dashed var(--phoenix-border-color);
}
.card-body .row {
	margin-top: 1.1rem;
	margin-bottom: 1.1rem;
}

.form-label{
	background-color: #e9ecef;
}

.list-group-item {
	border: none;
}

.list-group .list-group-item {
	margin-top: 0.5rem;
}

.col-form-label {
	font-size: 1rem;
	font-weight: 550;
	padding-top: 0;
	padding-bottom: 0;
	margin-top: auto;
	margin-bottom: auto;
}

.form-outer{
	display: table;
	width: 100%;
	margin-left: 0px;
}

.form-inner-input{
	display: table-cell;
	vertical-align: middle;
	padding-top: 5px;
	padding-bottom: 5px;
}

.form-inner-label{
	display: table-cell;
	vertical-align: middle;
	padding-top: 10px;
	padding-bottom: 10px;
}

/* トップページのinfoエリア バッジ*/
.info-label {
	width: 60px;
}

th.sort {
	white-space: nowrap;
	cursor: pointer;
}

th::after {
	content: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNyIgaGVpZ2h0PSI5IiB2aWV3Qm94PSIwIDAgNyA5IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBkPSJNMy4xNDkgMC42NDY3NjhDMy4zNDM2NiAwLjQ1NDg4NSAzLjY1NjM0IDAuNDU0ODg1IDMuODUxIDAuNjQ2NzY4TDYuMTMxNTEgMi44OTQ2OUM2LjQ0OTk4IDMuMjA4NjIgNi4yMjc2OSAzLjc1MDc4IDUuNzgwNSAzLjc1MDc4SDEuMjE5NUMwLjc3MjMwNyAzLjc1MDc4IDAuNTUwMDE4IDMuMjA4NjIgMC44Njg0OTUgMi44OTQ2OUwzLjE0OSAwLjY0Njc2OFoiIGZpbGw9IiM2RTc4OTEiLz4KPHBhdGggZD0iTTMuMTQ5IDguMTU0MDFDMy4zNDM2NiA4LjM0NTkgMy42NTYzNCA4LjM0NTkgMy44NTEgOC4xNTQwMUw2LjEzMTUxIDUuOTA2MDlDNi40NDk5OCA1LjU5MjE2IDYuMjI3NjkgNS4wNSA1Ljc4MDUgNS4wNUgxLjIxOTVDMC43NzIzMDcgNS4wNSAwLjU1MDAxOCA1LjU5MjE2IDAuODY4NDk1IDUuOTA2MDlMMy4xNDkgOC4xNTQwMVoiIGZpbGw9IiM2RTc4OTEiLz4KPC9zdmc+Cg==");
	margin-left: .25rem;
}

th.asc::after {
	content: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNyIgaGVpZ2h0PSI5IiB2aWV3Qm94PSIwIDAgNyA5IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBkPSJNMy4xNDkgOC4xNTQwMUMzLjM0MzY2IDguMzQ1OSAzLjY1NjM0IDguMzQ1OSAzLjg1MSA4LjE1NDAxTDYuMTMxNTEgNS45MDYwOUM2LjQ0OTk4IDUuNTkyMTYgNi4yMjc2OSA1LjA1IDUuNzgwNSA1LjA1SDEuMjE5NUMwLjc3MjMwNyA1LjA1IDAuNTUwMDE4IDUuNTkyMTYgMC44Njg0OTUgNS45MDYwOUwzLjE0OSA4LjE1NDAxWiIgZmlsbD0iIzZFNzg5MSIvPgo8L3N2Zz4K") !important;
}

th.desc::after {
	content: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNyIgaGVpZ2h0PSI5IiB2aWV3Qm94PSIwIDAgNyA5IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBkPSJNMy4xNDkgMC42NDY3NjhDMy4zNDM2NiAwLjQ1NDg4NSAzLjY1NjM0IDAuNDU0ODg1IDMuODUxIDAuNjQ2NzY4TDYuMTMxNTEgMi44OTQ2OUM2LjQ0OTk4IDMuMjA4NjIgNi4yMjc2OSAzLjc1MDc4IDUuNzgwNSAzLjc1MDc4SDEuMjE5NUMwLjc3MjMwNyAzLjc1MDc4IDAuNTUwMDE4IDMuMjA4NjIgMC44Njg0OTUgMi44OTQ2OUwzLjE0OSAwLjY0Njc2OFoiIGZpbGw9IiM2RTc4OTEiLz4KPC9zdmc+Cg==") !important;
}

.table > tbody > tr > td:first-child {
	padding-left: 1rem !important;
}

.navbar-vertical-content {
	height: calc(100vh - var(--phoenix-navbar-top-height) - 4rem);
}

.navbar-vertical-collapsed .manage-btn {
	padding: 0.5rem !important;
}

.navbar-vertical-collapsed .manage-btn .manage-btn-icon {
	margin-right: 0rem !important;
}

.navbar-vertical-collapsed .manage-btn .manage-btn-title {
	display: none;
}

/* -------------------------------------------------------------------------- */
/*                              dropzone                                      */
/* -------------------------------------------------------------------------- */
.dropzone.dropzone-multiple .dz-message {
	text-align: center;
	font-size: 0.8rem;
	font-weight: 500;
}
.dropzone .dz-message {
	margin: 0 !important;
}
.dropzone .dz-preview{
	min-height: 0 !important;
}
.dropzone{
	min-height: 0 !important;
}

/* -------------------------------------------------------------------------- */
/*                              choices                                      */
/* -------------------------------------------------------------------------- */
.choices .choices__list--dropdown .choices__item--selectable {
	padding: 0.3rem 1rem !important;
	font-size: 0.9rem !important;
	background-color: var(--phoenix-emphasis-bg);
}
.choices .choices__inner {
	font-size: 0.9rem;
	padding: 6.5px 3.5rem 6.5px 1rem !important;
}
.choices .choices__list--dropdown .choices__item--selectable.is-highlighted {
	background-color: var(--phoenix-primary) !important;
}
.choices[data-type*=select-one] .choices__inner {
	padding: 0.42rem 2.5rem 0.42rem 1rem !important;
}
  
.choices .choices__list--multiple .choices__item{
	font-size: 0.9rem !important;
	font-weight: 500;
}
.choices[data-type*=select-multiple] .choices__button,
.choices[data-type*=text] .choices__button {
	padding: 0.1rem 0.5rem !important;
	background-position: 4px !important;
}
  
.choices.is-disabled .choices__inner, .choices.is-disabled .choices__input{
	background-color: rgba(var(--phoenix-gray-100-rgb), 0.7) !important;
}

.choices {
	width: 100% !important;
}

/** ------------------------------------------- layout ------------------------------------------- */
.visible-desktop,
.visible-desktop-inline-block,
.visible-desktop-inline,
.visible-desktop-table,
.visible-desktop-table-cell,
.visible-tablet,
.visible-tablet-inline-block,
.visible-tablet-inline,
.visible-tablet-table,
.visible-tablet-table-cell,
.visible-tablet-and-mobile,
.visible-tablet-and-mobile-inline-block,
.visible-tablet-and-mobile-inline,
.visible-tablet-and-mobile-table,
.visible-tablet-and-mobile-table-cell,
.visible-mobile,
.visible-mobile-inline-block,
.visible-mobile-inline,
.visible-mobile-table,
.visible-mobile-table-cell {
	display: none !important;
}

@media (min-width: 1025px) {
	.visible-desktop {
		display: block !important;
	}
	.visible-desktop-inline-block {
		display: inline-block !important;
	}
	.visible-desktop-inline {
		display: inline !important;
	}
	.visible-desktop-table {
		display: table !important;
	}
	.visible-desktop-table-cell {
		display: table-cell !important;
	}
	.hidden-desktop {
		display: none !important;
	}
}

@media (min-width: 769px) and (max-width: 1024px) {
	.visible-tablet {
		display: block !important;
	}
	.visible-tablet-inline-block {
		display: inline-block !important;
	}
	.visible-tablet-inline {
		display: inline !important;
	}
	.visible-tablet-table {
		display: table !important;
	}
	.visible-tablet-table-cell {
		display: table-cell !important;
	}
	.hidden-tablet {
		display: none !important;
	}
}

@media (max-width: 1024px) {
	.visible-tablet-and-mobile {
		display: block !important;
	}
	.visible-tablet-and-mobile-inline-block {
		display: inline-block !important;
	}
	.visible-tablet-and-mobile-inline {
		display: inline !important;
	}
	.visible-tablet-and-mobile-table {
		display: table !important;
	}
	.visible-tablet-and-mobile-table-cell {
		display: table-cell !important;
	}
	.hidden-tablet-and-mobile {
		display: none !important;
	}
}

@media (max-width: 768px) {
	.visible-mobile {
		display: block !important;
	}
	.visible-mobile-inline-block {
		display: inline-block !important;
	}
	.visible-mobile-inline {
		display: inline !important;
	}
	.visible-mobile-table {
		display: table !important;
	}
	.visible-mobile-table-cell {
		display: table-cell !important;
	}
	.hidden-mobile {
		display: none !important;
	}
}

/* -------------------------------------------------------------------------- */
/*                            個別設定                                         */
/* -------------------------------------------------------------------------- */
.input-group-button {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	font-size: 0.8rem;
	font-weight: 500;
	line-height: 1.49;
	color: var(--phoenix-body-color);
	text-align: center;
	white-space: nowrap;
	border: var(--phoenix-border-width) solid var(--phoenix-border-color);
	border-radius: var(--phoenix-border-radius);
	background-color: var(--phoenix-emphasis-bg);
}

.btn-link-tertiary {
	color: #525b75;
}

.hoverbox .hoverbox-loading-display {
	opacity: 1 !important;
}

.hoverbox .hoverbox-loading {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	-webkit-transition: opacity .2s ease-in-out;
	-o-transition: opacity .2s ease-in-out;
	transition: opacity .2s ease-in-out;
	margin: 0 !important;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	background: rgba(0,0,0,.6) !important;
}

.icon-hover{
	white-space: normal;
}

@media (max-width: 768px) {
	/* ページヘッダーのレスポンシブ対応 */
	.page-header {
	  flex-direction: column !important;
	  align-items: flex-start !important;
	  gap: 1rem !important;
	}
	
	.page-header .page-heading {
	  font-size: 1.5rem !important;
	  margin-bottom: 0 !important;
	}
	
	/* カードヘッダーのレスポンシブ対応 */
	.card-header .row {
	  flex-direction: column !important;
	  align-items: flex-start !important;
	  gap: 1rem !important;
	}
	
	.card-header .col-auto {
	  width: 100% !important;
	}
	
	/* ボタングループのレスポンシブ対応 */
	.card-header .col-auto {
	  display: flex !important;
	  flex-direction: column !important;
	  gap: 0.5rem !important;
	  width: 100% !important;
	}
	
	.card-header .btn {
	  width: 100% !important;
	  margin-bottom: 0.5rem !important;
	  justify-content: center !important;
	}
	
	/* ページツールボタンのレスポンシブ対応 */
	.page-header > div {
	  width: 100% !important;
	}
	
	.page-header .btn {
	  width: 100% !important;
	  justify-content: center !important;
	}
	
	/* カードフッターのレスポンシブ対応 */
	.card-footer {
	  flex-direction: column !important;
	  align-items: stretch !important;
	  gap: 0.5rem !important;
	}

	.card-footer .col-auto {
	  display: flex !important;
	  flex-direction: column !important;
  	  gap: 0.5rem !important;
	  width: 100% !important;
	}
	
	.card-footer > div {
	  width: 100% !important;
	}
	
	.card-footer .btn {
	  width: 100% !important;
	  justify-content: center !important;
	}
	
	/* フォームのレスポンシブ対応 */
	.form-horizontal .row {
	  flex-direction: column !important;
	}
	
	.form-horizontal .col-sm-2,
	.form-horizontal .col-sm-6 {
	  width: 100% !important;
	  margin-bottom: 0.5rem !important;
	}
	
	/* パンくずリストのレスポンシブ対応 */
	.breadcrumb {
	  font-size: 0.875rem !important;
	}
	
	.breadcrumb-item {
	  word-break: break-all !important;
	}
	
	/* モーダルのレスポンシブ対応 */
	.modal-dialog {
	  margin: 0.5rem !important;
	  max-width: calc(100% - 1rem) !important;
	}
	
	.modal-footer {
	  flex-direction: column !important;
	  gap: 0.5rem !important;
	}
	
	.modal-footer .btn {
	  width: 100% !important;
	}
  }
  
  /* より小さい画面（iPhone SEなど）への対応 */
  @media (max-width: 375px) {
	.page-header .page-heading {
	  font-size: 1.25rem !important;
	}
	
	.card-heading {
	  font-size: 1.1rem !important;
	}
	
	.btn {
	  font-size: 0.875rem !important;
	  padding: 0.5rem 0.75rem !important;
	}
	
	.breadcrumb {
	  font-size: 0.8rem !important;
	}
  }
  
  /* タブレットサイズでの調整 */
  @media (min-width: 769px) and (max-width: 1024px) {
	.card-header .row {
	  flex-direction: column !important;
	  align-items: flex-start !important;
	  gap: 1rem !important;
	}
	
	.card-header .col-auto {
	  width: 100% !important;
	}
	
	.card-header .btn {
	  margin-right: 0.5rem !important;
	  margin-bottom: 0.5rem !important;
	}
  }
  
  /* チェックイン詳細ページ専用のレスポンシブ対応 */
  @media (max-width: 768px) {
	/* チェックイン詳細ページのボタン配置 */
	.card-header .col-auto:last-child {
	  display: flex !important;
	  flex-direction: column !important;
	  gap: 0.5rem !important;
	  width: 100% !important;
	}
	
	.card-header .col-auto:last-child .btn {
	  width: 100% !important;
	  margin: 0 !important;
	  justify-content: center !important;
	  text-align: center !important;
	}
	
	/* ボタン内のアイコンとテキストの配置 */
	.card-header .btn svg,
	.card-header .btn i {
	  margin-right: 0.5rem !important;
	}
	
	/* 印刷モーダルのレスポンシブ対応 */
	#printModal .modal-dialog {
	  margin: 0.5rem !important;
	  max-width: calc(100% - 1rem) !important;
	}
	
	#printModal .modal-body {
	  padding: 1rem !important;
	}
	
	#printModal .modal-footer {
	  padding: 1rem !important;
	}
	
	/* フォームフィールドのレスポンシブ対応 */
	.ps-4 .row {
	  margin-bottom: 1rem !important;
	}
	
	.ps-4 .col-sm-2 {
	  font-weight: 600 !important;
	  margin-bottom: 0.25rem !important;
	}
	
	.ps-4 .col-sm-6 {
	  word-break: break-all !important;
	}
	
	/* 期間表示のレスポンシブ対応 */
	.ps-4 .d-flex {
	  flex-direction: column !important;
	  align-items: flex-start !important;
	  gap: 0.25rem !important;
	}
	
	.ps-4 .d-flex span {
	  margin: 0 !important;
	}
  }
  
  /* より小さい画面での追加調整 */
  @media (max-width: 480px) {
	.card-header .btn {
	  font-size: 0.8rem !important;
	  padding: 0.5rem !important;
	}
	
	.card-header .btn svg,
	.card-header .btn i {
	  font-size: 0.9rem !important;
	}
	
	.page-heading {
	  font-size: 1.25rem !important;
	  line-height: 1.3 !important;
	}
	
	.card-heading {
	  font-size: 1rem !important;
	}
  }