@charset "UTF-8";

/* レイアウト定義 */
body {
	margin: 0;
	padding: 0;
}
#container {
	width: auto;
	overflow: auto;
}
#envhead {
	width: auto;
	overflow: auto;
}
#masthead {
	width: auto;
	overflow: auto;
}
#navigation {
	width: auto;
	overflow: auto;
}
#page_content {
	position: relative;
	float: left;
}
#footer {
	width: auto;
	clear: both;
	overflow: auto;
}
@media print {	/*	印刷用スタイル定義	*/
  #container {	/*	複数ページが印刷されない対応（IE6、FireFox3.6のCSSバグ対策）	*/
	overflow: visible !important;
  }
  * html body {	/*	CSSスターハックを利用してIE6だけ全体を70%縮尺（右端が切れないよう）	*/
	zoom: 70%;
  }
}
/* ボディのスタイル */
body {
	color: #000000;
	font-size: 13px;
	font-family: "MS PGothic", "Osaka", Arial, sans-serif;
	background-color: #D3D9D6;
}

/* ボタンのフォント指定 */
input[type=button], input[type=submit], input[type=reset] {
    font-size: 13px;
    font-family: "MS PGothic", "Osaka", Arial, sans-serif;
}

/* コンテナのスタイル */
#container {
	background-color: #FFFFFF;
	width: 960px;
	margin: 0 auto;
	border-top: 0;
	border-right: 1px solid #B7B7B7;
	border-bottom: 0;
	border-left: 1px solid #B7B7B7;
}

/* 環境ヘッダのスタイル */
#envhead {
	color: #FF0000;
	text-align: left;
}

/* メインヘッダのスタイル */
#masthead {
	color: #FFFFFF;
	background-color: #2D4D80;
	padding-top: 3px;
	padding-bottom: 3px;
}

/* ナビゲーションのスタイル */
#navigation {
	text-align: right;
}

/* コンテンツのスタイル */
#page_content {
	width: 760px;
	margin: 0;
	padding: 0 95px;
	background-color: #FFFFFF;
}

/* フッタのスタイル */
#footer {
	color: #FFFFFF;
	width: 100%;
	text-align: center;
	background-color: #2D4D80;
	padding-top: 5px;
	padding-bottom: 5px;
}

/* テーブル（ヘッダ）のスタイル */
table.masthead_table {
	width: 100%;
}
table.masthead_table td {
	padding: 0px 0px;
}
table.masthead_table td {
	text-align: left;
}
table.masthead_table td.right {
	text-align: right;
}

/* タイトルのスタイル */
p.title {
	font-size: 1.15em;
	font-weight: bold;
	margin: 10px 5px 5px 5px;
	padding: 4px 4px;
	border-left: 1px solid #DDDDDD;
	border-right: 1px solid #DDDDDD;
	border-top: 1px solid #DDDDDD;
	border-bottom: 2px solid #2D4D80;
}

/* テーブル（ナビゲータ）のスタイル */
table.navigation_table {
	width: 100%;
	padding-top: 5px;
   	padding-right: 3px;
	padding-bottom: 5px;
}
table.navigation_table th, table.navigation_table td {
	padding: 5px 0px;
}
table.navigation_table td {
	line-height: 0em;
	text-align: right;
}

table.navigation_table td.menu {
	width: 165px;
   	padding-right: 1px;
   	font-weight: bold;
}
table.navigation_table td.logout {
	width: 70px;
   	padding-right: 1px;
   	font-weight: bold;
}
table.navigation_table td.help {
	width: 45px;
	font-weight: bold;
}

/* テーブル（本文）のスタイル */
table.article_table {
	width: 100%;
	margin-bottom: 1em;
}
table.article_table caption {
	text-align: left;
	padding: 4px 6px;
}
table.article_table th, table.article_table td {
	padding: 4px 6px;
}
table.article_table td {
	line-height: 1.5em;
	text-align: left;
	max-height: 100%;
}
table.article_table td.center {
	text-align: center;
}
table.article_table td.right {
	text-align: right;
}
table.article_table td.center a.button {
    width: 100px;
    height: 25px;
    font-size: 13px;
    font-family: "MS PGothic", "Osaka", Arial, sans-serif;
    padding: 1px 6px;
    align-items: flex-start;
    text-align: center;
    cursor: default;
    color: buttontext;
    background-color: buttonface;
    box-sizing: border-box;
    border-width: 2px;
    border-style: outset;
    border-color: buttonface;
    border-image: initial;
    -webkit-appearance: button;
    user-select: none;
    -webkit-rtl-ordering: logical;
    text-rendering: auto;
    letter-spacing: normal;
    word-spacing: normal;
    text-transform: none;
    text-indent: 0px;
    text-shadow: none;
    display: inline-block;
    margin: 0em;
    -webkit-writing-mode: horizontal-tb !important;
}

/* テーブル（エラー）のスタイル */
table.error_table {
	width: 100%;
	margin-bottom: 1em;
}
table.error_table caption {
	text-align: left;
	padding: 4px 6px;
}
table.error_table td {
	padding: 0px 6px;
}
table.error_table td {
	color: #FF0000;
	background-color: #FFFFCD;
	text-align: left;
	font-weight: bold;
	line-height: 1.5em;
}

/* テーブル（縦）のスタイル */
table.vertical_table {
	width: 100%;
	margin-bottom: 1em;
	border-collapse: separate;
	border-spacing: 2px;
}
table.vertical_table caption {
	text-align: left;
	padding: 4px 6px;
}
table.vertical_table th, table.vertical_table td {
	padding: 4px 6px;
}
table.vertical_table th {
	color: #FFFFFF;
	background-color: #1B3AB4;
	text-align: right;
	font-weight: normal;
}

/* 改定後運賃情報のテーブルレイアウト */
table.revise th {
	color: #FFFFFF;
	background-color: #4b0082;
	text-align: right;
	font-weight: normal;
}
table.revise td {
	background-color: #E5EAFF;
	text-align: left;
}


/* 異例時払戻一覧のタイトル行 */
table.horizontal_table th.ireiji_title {
    white-space: nowrap;
}

table.vertical_table th.left {
	text-align: left;
}
table.vertical_table th.center {
	text-align: center;
}
table.vertical_table td {
	background-color: #E5EAFF;
	text-align: left;
}
table.vertical_table td.center {
	text-align: center;
}
table.vertical_table td.right {
	text-align: right;
}

/* テーブル（横）のスタイル */
table.horizontal_table {
	width: 100%;
	margin-bottom: 1em;
	border-collapse: separate;
	border-spacing: 2px;
}
table.horizontal_table caption {
	text-align: left;
	padding: 4px 6px;
}
table.horizontal_table th, table.horizontal_table td {
	padding: 4px 6px;
}
table.horizontal_table th {
	color: #FFFFFF;
	background-color: #1B3AB4;
	text-align: center;
	font-weight: normal;
}
table.horizontal_table td {
	text-align: center;
}
table.horizontal_table td.left {
	text-align: left;
}
table.horizontal_table td.right {
	text-align: right;
}
table.horizontal_table td.menu {
	text-align: left;
	padding: 4px 10px;
}
table.horizontal_table tr {
	background-color: #E5EAFF;
}
/* 一覧の偶数行 */
table.horizontal_table tr.even_row {
	background-color: #C1D8AC;
}
/* テーブル（横）テーブルの状況行スタイル */
table.horizontal_table td.unprocess {
	background-color: #EEBBCB;
}
table.horizontal_table td.process {
	background-color: #FEF263;
}
table.horizontal_table td.uncomplete {
	background-color: #C1D8AC;
}
/*　異例時概要の列：折り返すように設定 */
table.horizontal_table td.ireiji_overview {
    word-break:break-all;
}

/* テーブル（号車マップ）のスタイル */
table.gosyamap_table {
	margin-bottom: 1em;
	border-collapse: separate;
	border-spacing: 2px;
}
table.gosyamap_table caption {
	text-align: left;
	padding: 4px 6px;
}
table.gosyamap_table td {
	width: 65px;
	height: 50px;
	padding: 4px 6px;
	background-color: #E5EAFF;
	text-align: center;
}
table.gosyamap_table td.soldout {
	background-color: #DCDCDC;
}
table.gosyamap_table td.active {
	background-color: #FFFF00;
}

/* テーブル（シートマップ）のスタイル */
table.seatmap_table {
	margin-bottom: 1em;
	border-collapse: separate;
	border-spacing: 2px;
}
table.seatmap_table caption {
	text-align: left;
	padding: 4px 6px;
}
table.seatmap_table td {
	padding: 4px 6px;
	background-color: #E5EAFF;
	text-align: center;
}
table.seatmap_table td.stock {
	width: 20px;
	height: 20px;
	background-color: #E5EAFF;
}
table.seatmap_table td.active {
	width: 20px;
	height: 20px;
	background-color: #FFFF00;
}
table.seatmap_table td.soldout {
	width: 20px;
	height: 20px;
	background-color: #DCDCDC;
}

/* リンクのスタイル */
a:link, a:visited {
	color: #0066FF;
	text-decoration: none;
}
a:hover {
	color: #FF0099;
	text-decoration: underline;
}

a.button:hover {
	text-decoration: none;
}

/* input のフォーカススタイル */
input[type=text]:focus, input[type=password]:focus, textarea:focus {
	background-color: #FEFEDD;
	border: 2px solid #FFCC33;
}


/* テーブル（チケットレス）のスタイル */
table.ticketless_table {
    width:55%;
	background-color: #FFFFB4;
}
table.ticketless_table th, table.ticketless_table td {
	padding: 0px 5px;
}
table.ticketless_table td {
	line-height: 1.3em;
	border-style:none;
}

table.ticketless_table td.small{
	font-size:0.9em;
}

table.ticketless_table td.large{
	font-size:1.4em;
	color:#FF0000;
	font-weight:bold;
}
.ticketlss_small{
    font-size:0.7em;
    color:#000000;
    font-weight:normal;
}
.ticketlss_large{
    font-size:1.3em;
    color:#000000;
    font-weight:normal;
}

/* テーブル（ステータス）のスタイル */
table.status_table {
	margin-bottom: 1em;
}
table.status_table th, table.vertical_table td {
	padding: 4px 6px;
}
table.status_table th {
	background-color:#EEEEEE;
	text-align: center;
    font-weight: normal;
    font-size: 0.9em;
}

table.status_table th.active {
	background-color: #FF6600;
    color: #FFFFFF;
    font-weight: bold;
}

/* ボタンのスタイル */
input[type=button], input[type=submit], input[type=reset] {
	width: 100px;
	height: 25px;
}

/* textarea のスタイル(readonly) */
textarea.readonly{
	background-color: #FFFFFF;
	border: 1px solid #4682B4;
}

/* 必須入力項目 "※" のスタイル */
.required {
	color: #FF0000;
}

/* 単項目エラーのスタイル */
.item_error {
	background-color: #FFC0CB;
}

/* テーブル（支払方法）のスタイル */
table.siharai_table {
	width: 100%;
	border-collapse: collapse;
}
table.siharai_table td {
	padding: 0px 0px;
	line-height: 1.5em;
	text-align: left;
}
table.siharai_table td.right {
	text-align: right;
}

/* テーブル（空席状況）のスタイル */
table.kuseki_table {
	border-collapse: collapse;
	border: 1px solid #4682B4;
}
table.kuseki_table th, table.kuseki_table td {
	padding: 4px 0px;
}
table.kuseki_table th {
	width:90px;
	color: #FFFFFF;
	background-color: #1B3AB4;
	text-align: center;
	font-weight: normal;
	border: 1px solid #4682B4;
}
table.kuseki_table td {
	background-color: #FFFFFF;
	text-align: center;
	border: 1px solid #4682B4;
}
