@charset "utf-8";
/**
 * @require BootStrap5
 * @version 2025-06-25
 */
html {
	position: relative;
	min-height: 100vh;
}
body {
	margin: 0;
	padding-bottom: 70px;
}
footer {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100vw;
	height: 70px;
}

label {
	font-weight: 600;
}

label.required:after,
label:has(+ input:required):after,
label:has(+ select:required):after,
label:has(+ textarea:required):after {
  content: "(必須)";
  font-size: .8em;
  padding-left: .4em;
	vertical-align: text-bottom;
	color: red;
}
.form-check-lg {
  width: 1.5em;
  height: 1.5em;
}

svg {
	margin: 0 .25em;
}

th,td {
	vertical-align: middle;
}
.th-vt th {
	vertical-align: top;
}

/* title-page */
.t1 {
	background-color: var(--bs-info-bg-subtle);
	color: var(--bs-info-text-emphasis);
	padding: .25rem;
	font-size: 1.5rem;
	margin-top: 0;
	margin-bottom: .5rem;
	font-weight: 500;
	line-height: 1.2;
}

/* title-section */
.t2 {
	border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
	border-color: var(--bs-primary-border-subtle);
	border-width: 3px;
	color: var(--bs-primary-text-emphasis);
	font-size: 1.5rem;
	margin-top: 0;
	margin-bottom: 1rem;
	font-weight: 500;
	line-height: 1.2;
}


.bg-hover:hover {
	background-color: #eee;
}

.clickTable td:not(:has(input,a)) {
	cursor: pointer;
}

.table-fixed {
	table-layout: fixed;
}

.w-fit {
	width: fit-content !important;
}

.w-fix {
	width: 12em;
}

.st_status_img {
	width: 100%;
	margin: 0 auto;
/*	max-width: 800px;*/
	display: block;
}

.fs-sm {
	font-size: .8em;
	white-space: wrap !important;
}

.tooltip_alert {
	--bs-tooltip-bg: var(--bs-danger-bg-subtle);
	--bs-tooltip-color: var(--bs-danger);
}

.dropFileZone:hover {
	background-color: var(--bs-tertiary-bg);
}

/**
 * xs only
 * table transform
 */
@media (max-width: 575.98px) {
  .edit-table {
    border: none;
		width: 100% !important;
  }
  .edit-table tr {
    display: flex;
    flex-direction: column;
  }
  .edit-table th {
    text-align: left !important;
/*    margin-top: 0.75em;*/
    border: none;
    background-color: #dee2e6;
    width: 100%;
  }
  .edit-table td {
    border: none;
  }
  .edit-table td ul {
    padding-left: 1em;
  }
  .edit-table td ul li {
    margin-bottom: 0.5em;
  }
  .edit-table td ul li .badge {
    display: block;
  }

  .edit-table thead {
    display: none;
  }
  .edit-table tbody tr {
    padding-bottom: 1.5em;
  }
}

