#tbl_bus_limousine tbody td:nth-of-type(2) .route_jp.fs_long_small,
#tbl_bus_loop tbody td:nth-of-type(1) .route_jp.fs_long_small {
  font-size: 1.3vw;
}
/* 路線列のショートネーム・日本語名・英語名のインライン/下段表示（リファクタリング済み） */
#tbl_bus_limousine tbody td:nth-of-type(2) .route_cell,
#tbl_bus_loop tbody td:nth-of-type(1) .route_cell {
  display: flex;
  align-items: center;
  width: 100%;
  min-width: 0;
}
#tbl_bus_limousine tbody td:nth-of-type(2) .short_name,
#tbl_bus_loop tbody td:nth-of-type(1) .short_name {
  font-weight: bold;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.5em;
  max-width: 5em;
  font-size: 1.8vw;
  background: none;
  position: static;
  z-index: 1;
  white-space: nowrap;
  transition: width 0.2s, min-width 0.2s, max-width 0.2s;
}
#tbl_bus_limousine tbody td:nth-of-type(2) .short_name:empty,
#tbl_bus_loop tbody td:nth-of-type(1) .short_name:empty {
  width: 0 !important;
  min-width: 0 !important;
  max-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden;
}
#tbl_bus_limousine tbody td:nth-of-type(2) .route_names,
#tbl_bus_loop tbody td:nth-of-type(1) .route_names {
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-left: 0.7em;
  min-width: 0;
  flex: 1 1 0%;
  overflow: hidden;
}
#tbl_bus_limousine tbody td:nth-of-type(2) .route_jp,
#tbl_bus_loop tbody td:nth-of-type(1) .route_jp {
  font-weight: normal;
  display: block;
  vertical-align: middle;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
#tbl_bus_limousine tbody td:nth-of-type(2) .route_en,
#tbl_bus_loop tbody td:nth-of-type(1) .route_en {
  margin-top: 0.1em;
  letter-spacing: 0.2em;
  display: block;
  font-size: 0.9em;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

/* 時計表示用クラス（.clock）を先頭に移動 */
.clock {
  position: fixed;
  top: 0;
  left: 0;
  width: 12vw;
  min-width: 120px;
  max-width: 220px;
  text-align: center;
  color: #fff;
  background-color: rgba(8,8,8,0.9);
  padding: 2vh 0;
  margin-bottom: 0.5vh;
  font-family: 'Mochiy Pop One', sans-serif;
  font-weight: 900;
  font-size: 2vw;
  letter-spacing: 0.17em;
  z-index: 2003;
  pointer-events: none;
}

/* 時計の数字が見えない場合のため、#clockに明示的なスタイルを追加 */
#clock {
  color: #fff;
  font-size: 2vw;
  font-family: 'Mochiy Pop One', sans-serif;
  font-weight: 900;
  letter-spacing: 0.17em;
}
@font-face {
  font-family: 'Kosugi Maru';
  src: url('../webfonts/KosugiMaru-Regular.ttf') format('truetype');
}
@font-face {
  font-family: 'Heebo';
  src: url('../webfonts/Heebo-Regular.ttf') format('truetype');
}
body {
  font-family: 'Kosugi Maru', sans-serif;
  letter-spacing: 1.4px;
  background-color: #1a1a1b;
  background-size: cover;
  background-position: center;
  /* background-image: url(/img/background_chatan.svg); */
}
img.background_image {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  min-width: 100vw;
  min-height: 100vh;
  object-fit: cover;
  z-index: -1;
  pointer-events: none;
  height: 100vh;
  z-index: -1;
  object-fit: cover;
}
/* 高さ指定 */
html, body, #wrapper, #inner {
  height: 100vh;
}
.en {
  font-family: 'Heebo', sans-serif;
}
 #wrapper {
  width: 100%;
  margin: 0 auto;
  color: #fff;
}
#inner {
  width: 96%;
  margin: 0 auto;
  margin-top: 14vh; /* #h1_titleの高さ分だけ下げる */
}
#h1_title {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 14vh;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 2002;
  pointer-events: none;
}
#h1_title img {
  width: 40vw;
  height: auto;
  display: block;
  margin: 0 auto;
  position: static;
  transform: none;
}
h1 {
  position: absolute;
  top: 49%;
  opacity: 0;
  left: 0;
  transform: translateY(-50%) translateX(50%);
  -webkit-transform: translateY(-50%) translateX(50%);
  font-size: 3.44vw;
  /* font-weight: bold; */
  padding-left: 4%;
  display: inline-block;
  font-family: "Mochiy Pop One", sans-serif;
  font-weight: 400;
  font-style: normal;
}
h1 span {
  font-size: 3.645vw;
}

/* ===== h2_tbl_title（表タイトル）のリファクタリング・上部表示 ===== */
.h2_tbl_title {
  position: relative;
  height: 7.6vh;
  background-color: #149caf;
  border-bottom: 5px solid #1a1a1b;
}
.h2_tbl_title img {
  width: 8%;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  padding-left: 1.2%;
}
.h2_tbl_title h2 {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  font-size: 1.77vw;
  padding-left: 7vw;
  padding-right: 2vw;
  display: block;
  width: auto;
  white-space: normal;
  word-break: break-word;
  box-sizing: border-box;
}
.h2_tbl_title h2 .jp {
  font-size: 1.66vw;
  padding-bottom: 4px;
  display: block;
}
.h2_tbl_title h2 .en.h2_sub_en {
  font-size: 1.05vw;
  display: block;
  font-family: 'Heebo', sans-serif;
  font-weight: 400;
  margin-top: 0.1em;
  letter-spacing: 0.04em;
}
/* =========================

table(路線バス・リムジンバス出発案内)

========================== */
table {
  width: 100%;
  margin-bottom: 0.89vh;
}
/* table見出し(ルート・目的地・出発時間・のりば)の設定 */
#tbl_bus_limousine thead tr{
	height: 6.6vh;
	/* background-color: #1e4987; */
	background-color: rgba(8,8,8,0.9);
	border-bottom: 5px solid #1a1a1b;
	vertical-align: middle;
}
#tbl_bus_limousine thead tr th{
	font-size: 1.45vw;
	letter-spacing: 8px;
	line-height: 1.3;
	vertical-align: middle;
}
#tbl_bus_limousine thead tr th span{
	font-size: 0.99vw;
}
.time{
	padding-left: 9.5%;
}
#tbl_bus_limousine th img{
	width: 9%;
	padding-right: 1.7%;
	vertical-align: middle;
}
/* table奇数行の高さと背景色 */
#tbl_bus_limousine tbody tr:nth-of-type(odd){
	height: 9.6vh;	
/*	background-color: #2b2b2b;	*/
  background-color: rgba(43, 43, 43, .8);
}
/* table偶数行の高さと背景色 */
#tbl_bus_limousine tbody tr:nth-of-type(even){
	height: 9.6vh;	
/*	background-color: #3a3a3a; */
  background-color: rgba(58, 58, 58, .9);
}
/* tableの枠線 border-bottom */
#tbl_bus_limousine tbody tr{
	border-bottom: 5px solid #1a1a1b;
}
/* tableの枠線 border-right */
#tbl_bus_limousine thead th:nth-of-type(-n+2),
#tbl_bus_limousine tbody tr td:nth-of-type(1),
#tbl_bus_limousine tbody tr td:nth-of-type(3){
	border-right: 5px solid #1a1a1b;
}
/* table1列目の幅と設定 */
#tbl_bus_limousine tbody tr td:first-of-type {
	width: 25%;
	padding-left: 1.08%;
	max-width: 0;
}
#tbl_bus_limousine tbody tr td:first-of-type span.en {
  margin-top: 0.5em;
}
/* table2列目の幅と設定 */
#tbl_bus_limousine tbody tr td:nth-of-type(2) {
	width: 30.5%;
	padding-left: 1.08%;
	padding-right: 0.4%;
	max-width: 0;
}
/* table3列目の幅と設定 */
#tbl_bus_limousine tbody tr td:nth-of-type(3) {
	width: 16%;
	padding-left: 1.08%;
	padding-right: 0.54%;
	max-width: 0;
}
/* table4列目の幅と設定 */
#tbl_bus_limousine tbody tr td:nth-of-type(4) {
	width: 14%;
	font-size: 2.187vw;
	text-align: center;
	letter-spacing: 1.8px;
}
/* table5列目の幅と設定 */
#tbl_bus_limousine tbody tr td:nth-of-type(5) {
  display: none;
	width: 8.5%;
	font-size: 1.04vw;
	text-align: center;
	padding: 0 2.3vw; /* のりばの黄色い背景色用 */
}
/*　table1列目の白枠の設定 */
#tbl_bus_limousine tbody td:nth-of-type(3) div{
	width: 75%;
	text-align: center;
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
  font-size: 1vw;
	border: 1px solid #fff ;
	padding-top: 0.7vh;
	padding-bottom: 0.78vh;
	padding-left: 0.3vw;
	padding-right: 0.3vw;
	margin: 0 auto;
}
/* table5列目のりばの黄色い背景色の設定 */
#tbl_bus_limousine tbody tr td:nth-of-type(5) div{
	background-color: #f8e251;
	font-size: 1.875vw;
	font-weight: bold;
	color: #1a1a1b;
	padding: 1.1vh 0;
}
/*　table1列目上agencyname_enの設定 */
#tbl_bus_limousine tbody td:first-of-type div{
/*	font-size: 0.625vw; */
	letter-spacing: 1.6px;
	line-height: 1.4;
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
}
/*　table1列目下short_nameの設定 */
#tbl_bus_limousine tbody td:first-of-type span{
	font-size: 1.5vw;
	letter-spacing: 4px;
	display: block;
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
}
#tbl_bus_limousine tbody td:first-of-type span.en{
  font-size: 1vw;
  margin-top: 0.1em;
}
/*　table2列目上long_nameとtable3列目上final_stopの設定 */
/*　table2列目下route_enとtable3列目下final_stop_enの設定 */
#tbl_bus_limousine tbody td:nth-of-type(2) span,
#tbl_bus_limousine tbody td:nth-of-type(3) span{
	font-size: 1.45vw;
	letter-spacing: 1.0px;
	line-height: 1.3;
	display: block;
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
}
#tbl_bus_limousine tbody td:nth-of-type(3) span.en {
  margin-top: 1vh;
  font-size: 0.6vw;
}

/* table見出し(ルート・目的地・出発時間・のりば)の設定 */
#tbl_bus_loop thead tr{
	height: 6.6vh;
	/* background-color: #1e4987; */
	background-color: rgba(8,8,8,0.9);
	border-bottom: 5px solid #1a1a1b;
	vertical-align: middle;
}
#tbl_bus_loop thead tr th{
	font-size: 1.45vw;
	letter-spacing: 8px;
	line-height: 1.3;
	vertical-align: middle;
}
#tbl_bus_loop thead tr th span{
	font-size: 0.99vw;
}
.time{
	padding-left: 9.5%;
}
#tbl_bus_loop th img{
	width: 9%;
	padding-right: 1.7%;
	vertical-align: middle;
}
/* table奇数行の高さと背景色 */
#tbl_bus_loop tbody tr:nth-of-type(odd){
	height: 9.6vh;	
/*	background-color: #2b2b2b;	*/
  background-color: rgba(43, 43, 43, .8);
}
/* table偶数行の高さと背景色 */
#tbl_bus_loop tbody tr:nth-of-type(even){
	height: 9.6vh;	
/*	background-color: #3a3a3a; */
  background-color: rgba(58, 58, 58, .9);
}
/* tableの枠線 border-bottom */
#tbl_bus_loop tbody tr{
	border-bottom: 5px solid #1a1a1b;
}
/* tableの枠線 border-right */
#tbl_bus_loop thead th:nth-of-type(-n+1),
#tbl_bus_loop tbody tr td:nth-of-type(2){
  border-right: 5px solid #1a1a1b;
}
#tbl_bus_loop tbody tr td:nth-of-type(3){
	/* border-right: 5px solid #1a1a1b; */
}
/* table1列目の幅と設定 */
#tbl_bus_loop tbody tr td:first-of-type {
	width: 21.5%;
	padding-left: 1.08%;
	padding-right: 0.4%;
	max-width: 0;
}
/* table2列目の幅と設定 */
#tbl_bus_loop tbody tr td:nth-of-type(2) {
	width: 22%;
	padding-left: 1.08%;
	padding-right: 0.54%;
	max-width: 0;
}
#tbl_bus_loop tbody tr td:nth-of-type(2) span.en {
  margin-top: 1vh;
  font-size: 0.6vw;
}

/* table3列目の幅と設定 */
#tbl_bus_loop tbody tr td:nth-of-type(3) {
	width: 17%;
	font-size: 2.187vw;
	text-align: center;
	letter-spacing: 1.8px;
}

#tbl_bus_loop tbody tr td small {
  font-size: 1.2vw;
}


/*　table1列目の白枠の設定 */
#tbl_bus_loop tbody td:nth-of-type(2) div{
	width: 75%;
	text-align: center;
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
  font-size: 1vw;
	border: 1px solid #fff ;
	padding-top: 0.7vh;
	padding-bottom: 0.78vh;
	padding-left: 0.3vw;
	padding-right: 0.3vw;
	margin: 0 auto;
}
/*　table1列目上agencyname_enの設定 */
#tbl_bus_loop tbody td:first-of-type div{
/*	font-size: 0.625vw; */
	letter-spacing: 1.6px;
	line-height: 1.4;
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
}
/*　table1列目下short_nameの設定 */
#tbl_bus_loop tbody td:first-of-type span{
	font-size: 1.5vw;
	letter-spacing: 4px;
	display: block;
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
}
/*　table2列目上long_nameとtable3列目上final_stopの設定 */
/*　table2列目下route_enとtable3列目下final_stop_enの設定 */
#tbl_bus_loop tbody td:nth-of-type(2) span,
#tbl_bus_loop tbody td:nth-of-type(3) span{
	font-size: 1.45vw;
	letter-spacing: 1.0px;
	line-height: 1.3;
	display: block;
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
}

/* =========================

table(モノレール出発案内)

========================== */
/* h2タイトル モノレール出発案内 の設定 */
#h2_tbl_title_mono{
	background-color: #ce6016;
}
#h2_tbl_title_mono img{
	width: 1.7%;
}
#h2_tbl_title_mono h2{
	padding-left: 4.07%;
	display: flex;
	align-items: center;
	width: 94%;
}
#h2_tbl_title_mono h2 .monorail_info{
	flex:1;
	vertical-align: middle;
}
#h2_tbl_title_mono h2 .monorail_platform{
	flex:1;
	text-align: right;
	font-size:80%;
}
/*　table行の幅と背景色 */
#tbl_monorail tr:first-child {
	height: 9.6vh;	
	background-color: #3a3a3a;	
}
/* tableの枠線 border-bottom */
#tbl_monorail tbody tr{
	border-bottom: 5px solid #1a1a1b;
}
/*　table1列目上出発時間の設定 */
#tbl_monorail td img {
	width: 14.7%;
	padding-right: 2.77%;
	vertical-align: middle;
}
#tbl_monorail td:first-of-type {
	width: 12%;
	font-size: 0.99vw;
	letter-spacing: 1.8px;
	line-height: 1.3;
	vertical-align: middle;
}
/*　table1列目下Timeの設定 */
#tbl_monorail td span {
	font-size: 0.99vw;
}
/*　table1列目白枠の設定 */
#tbl_monorail tbody td:first-of-type div{
	width: 80.6%;
	height: 4.9vh;
	border: 1px solid #fff ;
	padding-top: 0.7vh;
	padding-bottom: 0.7vh;    
	margin: 0 auto;
	text-align: center;
}
/*　table2列目以降出発時刻の設定 */
#tbl_monorail td{
	font-size: 2.187vw;;
	text-align: left;
	letter-spacing: 1.8px;
}
#tbl_monorail td:nth-of-type(2) {
	padding-left: 0.65%;
}
/*　table最後の列の幅設定 */
#tbl_monorail tr td:last-child{
	width: 29%;
}
/* =========================

文字数に合わせてfont-sizeを変更

========================== */
/* agency_name_en 21文字までデフォルトでOK
   agency_name_en 22文字～27文字まで */
#tbl_bus_limousine tbody tr td .fs_10{
	font-size: 0.520vw;
	letter-spacing: 1.0px;
}
/* agency_name_en 28文字～32文字まで */
#tbl_bus_limousine tbody tr td .fs_9{
	font-size: 0.468vw;
	letter-spacing: 1.0px;
}
/* short_name が[特APL]などで始まる場合　*/
#tbl_bus_limousine tbody tr td .fs_14{
	font-size: 0.729vw;
	letter-spacing: 0.9px;
	line-height: 1.2;
	/*　fs_14の場合は折り返して表示する設定 */
	white-space: pre-wrap;
	word-break: break-all;
	overflow: visible;
	padding-top: 0.3vh; 
}
/* long_name が[特APL]などで始まる場合 */
#tbl_bus_limousine tbody td:nth-of-type(2) span.fs_19{
	font-size: 0.99vw;
	letter-spacing: 1.0px;
}
/* route_en 21文字までデフォルトでOK
   route_en 22文字以上 */
#tbl_bus_limousine tbody tr td span.fs_14_r{
	font-size: 0.729vw;
	letter-spacing: 1.0px;
	padding-top: 0.5vh;
}   
/* final_stop_en 42文字までデフォルトでOK
　 final_stop_en 43文字以上*/
#tbl_bus_limousine tbody tr td span.fs_24{
	font-size: 1.25vw;
}

/* =========================

tableの行数に合わせて行の高さを変更

========================== */
/* 6行 */
#tbl_bus_limousine.tr_6 tbody tr,
#tbl_monorail.tr_6 tbody tr{
	height: 8.3vh;
}
/* 7行 */
#tbl_bus_limousine.tr_7 tbody tr,
#tbl_monorail.tr_7 tbody tr{
	height: 7.4vh;
}
/* 8行 */
#tbl_bus_limousine.tr_8 tbody tr,
#tbl_bus_loop.tr_8 tbody tr,
#tbl_monorail.tr_8 tbody tr{
	height: 7.1vh;
}
/* 8行 table1列目白枠内の高さ*/
#tbl_bus_limousine.tr_8 tbody td:first-of-type div {
	height: 3vh;
}
/* 8行 モノレールtable1列目白枠内の高さ*/
#tbl_monorail.tr_8 tbody td:first-of-type div {
	height: 3.8vh;
	line-height: 1.1;
}
/* 9行 */
#tbl_bus_limousine.tr_9 {
	margin-bottom: 1.8vh;
}
#tbl_bus_limousine.tr_9 thead tr,
#tbl_bus_limousine.tr_9 tbody tr,
#tbl_monorail.tr_9 tbody tr {
	height: 6.1vh;
}
/* 10行 */
#tbl_bus_limousine.tr_10 {
	margin-bottom: 1.8vh;
}
#tbl_bus_limousine.tr_10 thead tr,
#tbl_bus_limousine.tr_10 tbody tr,
#tbl_monorail.tr_10 tbody tr {
	height: 5.6vh;
}
/* =========================
#large_disp
2160(w)用に文字サイズを大きく

========================== */
#large_disp #h1_title img {
	width: 15.4%;
}
#large_disp h1 {
	font-size: 3.94vw;
	padding-left: 18%;
}
#large_disp .h2_tbl_title img {
	width: 4.5%;
}
#large_disp h2 {
	font-size: 2.655vw;
	padding-left: 7.046%;
}
#large_disp h2 span {
	font-size: 2.49vw;
}
#large_disp #tbl_bus_limousine thead tr th {
	font-size: 1.485vw;
}
#large_disp #tbl_bus_limousine thead tr th span {
	font-size: 1.485vw;
}
#large_disp #tbl_bus_limousine tbody td:nth-of-type(2) {
	width: 24.5%;
}
#large_disp #tbl_bus_limousine tbody td:nth-of-type(2) span {
	font-size: 1.5225vw;
}
#large_disp #tbl_bus_limousine tbody td:nth-of-type(3) {
	width: 41%;
}
#large_disp #tbl_bus_limousine tbody td:nth-of-type(3) span{
	font-size: 1.5225vw;
}
#large_disp #tbl_bus_limousine tbody tr td:nth-of-type(4) {
	width: 14%;
	font-size: 2.8431vw;
}
#large_disp #tbl_bus_limousine tbody tr td:nth-of-type(5) div {
	font-size: 2.4375vw;
}
#large_disp #h2_tbl_title_mono img {
	width: 2.55%;
}
#large_disp #h2_tbl_title_mono h2 {
	padding-left: 5.291%;
}
#large_disp #tbl_monorail tbody td:first-of-type div {
	font-size: 1.485vw;
	padding-top: 0.5vh;
	padding-bottom: 0.25vh; 
}
#large_disp #tbl_monorail td span{
	font-size: 1.485vw;
}
#large_disp #tbl_monorail td {
	font-size: 2.8431vw;
}
/* =========================
#large_disp用
2行になってしまった表示を1行に変更

========================== */
/* long_name が[特APL]などの場合 */
#large_disp #tbl_bus_limousine tbody td:nth-of-type(2) span.fs_19{
	font-size: 0.99vw;
	letter-spacing: 1.0px;
}
/* route_en 21文字までデフォルトでOK
   route_en 22文字以上 */
#large_disp #tbl_bus_limousine tbody tr td span.fs_14_r{
	font-size: 0.729vw;
	letter-spacing: 1.0px;
	padding-top: 0.5vh;
} 
/* final_stop_en 42文字までデフォルトでOK
　 final_stop_en 43文字以上*/
#large_disp #tbl_bus_limousine tbody tr td span.fs_24{
	font-size: 1.25vw;
}

/* =========================
#large_disp用
のりばの黄色い背景を正方形に

========================== */
#large_disp #tbl_bus_limousine tbody tr td:nth-of-type(5) div {
	padding: 0.5vh 0;
}




