html {
  scroll-behavior: smooth;
}

.secArea {
	width: 100%;
	text-align: left;
	padding: 0 4px;
}

.secArea h2{
	font-size: 1.25rem;
	font-weight: bold;
}

.bodyWrapper{
	margin: 0 1rem;
}

.contentsWrapper{
	margin: 1rem 0 2rem;
}
.contentsWrapper2{
	margin: 1rem 0 1rem;
}

.stepList {
    counter-reset: step-counter;
}

.stepItem {
    display: flex;
    align-items: flex-start;
}

.stepItem::before {
    counter-increment: step-counter; 
    content: counter(step-counter);
    display: inline-block;
    width: 1.1em;
    height: 1.1em;
    line-height: 1.1em;
    text-align: center;
    border-radius: 50%;
    border: 1px solid #007bff;
    margin-right: 2px;
    font-size: 0.9em;
	flex-shrink: 0;
	margin-top: 3px;
}

.stepItem:hover::before {
    border-color: #0056b3;
    color: #0056b3;
}

.preLine{
	white-space: pre-line;
	word-break: break-all;
}

.congestionSubTitle{
	margin-top: -26px;
}

.procedureLink,
.shopLink{
	text-decoration: underline;
}

.procedureText{
	margin: -1rem 0 0 1rem;
}

.tableScrollWrapper {
	width: 101%;
	overflow-x: auto;
	position: relative;
	margin-top: 1rem;
}

#congestionStatusTable,
#shopInfoTable {
	min-width: 720px;
	border-collapse: separate;
	border-spacing: 0;
	border-top: 1px solid #ccc;
	border-left: none;
	border-right: none;
	border-bottom: none;
}

#congestionStatusTable td,
#shopInfoTable td {
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	border-left: none;
	border-top: none;
	min-width: 72px;
	white-space: nowrap;
	vertical-align: middle;
	text-align: center;
	padding: 5px;
}

#congestionStatusTable td:first-child,
#congestionStatusTable td.sticky-last-col {
	position: -webkit-sticky;
	position: sticky;
	z-index: 10;
}

#congestionStatusTable td:first-child,
#congestionStatusTable td.sticky-last-col,
#shopInfoTable td:first-child {
	background-color: #fff;
	box-sizing: border-box;
	overflow: hidden;
}

#congestionStatusTable td.sticky-last-col {
	width: 3rem;
}

#shopInfoTable  td {
	left: 0;
	text-align: left;
}
#congestionStatusTable td:first-child,
#shopInfoTable  td:first-child {
	left: 0;
	text-align: left;
	border-left: 1px solid #ccc;
}

#congestionStatusTable td:nth-last-child(2) {
    border-right: none;
}

#congestionStatusTable td:last-child{
	border-left: 1px solid #ccc;
}

#congestionStatusTable td.sticky-last-col {
	right: 0px;
	min-width: 80px;
	border-left: 1px solid #ccc;
	border-right: 1px solid #ccc;
}

#shopInfoTable td:first-child {
	min-width: 40px;
}

#congestionStatusTable tr:nth-child(even) td:first-child,
#congestionStatusTable tr:nth-child(even) td.sticky-last-col,
#shopInfoTable tr:nth-child(even) td:first-child {
	background-color: #f7f7f7;
}

#congestionStatusTable tr.tableHead,
#shopInfoTable tr.tableHead {
	background: linear-gradient(to bottom, #fff, #ddd);
	height: 3rem;
}

#congestionStatusTable tr.tableHead td:first-child,
#congestionStatusTable tr.tableHead td.sticky-last-col,
#shopInfoTable tr.tableHead td:first-child {
	background: linear-gradient(to bottom, #fff, #ddd);
	z-index: 11;
}

#congestionStatusTable td.hdr,
#shopInfoTable td.hdr{
	text-align: center;
}

.cell-wait-count {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 4px;
    width: 100%;
}

.wait-count {
    text-align: right;
}

.cell-wait-count > span {
    width: 1.2em;
    text-align: left;
}

.cell-wait-count > div:last-child {
    width: 28px;
    display: flex;
    justify-content: center;
}

.congestion_status {
    vertical-align: middle;
    max-width: 100%; 
    height: auto;
}

.bgGray {
	background-color: #d9d9d9 !important;
}

.updateTimeArea {
	text-align: right;
	margin-top: 4px;
	font-size: 0.9rem;
	color: #333;
}

.locationSelect{
	width: 300px;
	padding: 5px;
	margin-top: 1rem;
}

#mapContainer{
	padding: 10px 0;
}

#mapContainer iframe {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 9;
}

@media screen and (max-width: 767px) {
	#congestionStatusTable,
	#shopInfoTable {
		min-width: auto;
		width: 100%;
	}

	#congestionStatusTable td:first-child {
		max-width: 40vw;
	}

	.fontS {
		font-size: 0.8rem;
	}
}