@charset "utf-8";
/* Style Index ===============================

	Name : original css

========================================= */

/* Page Title */
#pageTtlArea {
	overflow: hidden;
	display: flex;
}

#pageTtlArea h1 {
	float: left;
	width: 60%;
	font-size: 1.125rem;
	font-weight: bold;
	text-indent: 1em;
	line-height: 50px;
	background: #ecf2f8;
}

#pageTtlArea p {
	float: right;
	width: 40%;
	padding-bottom: 0;
}

#pageTtlArea p a {
	outline-offset: -4px;
	display: block;
	line-height: 50px;
	color: #FFF;
	text-align: center;
	text-decoration: none;
	background: #fd9a00;
	font-weight: bold;
	-webkit-text-shadow:
		1px 1px 2px rgba(0, 0, 0, 0.2), -1px -1px 2px rgba(0, 0, 0, 0.2),
		-1px 1px 2px rgba(0, 0, 0, 0.2), 1px -1px 2px rgba(0, 0, 0, 0.2),
		0px 1px 2px rgba(0, 0, 0, 0.2), 0 -1px 2px rgba(0, 0, 0, 0.2),
		-1px 0 2px rgba(0, 0, 0, 0.2), 1px 0 2px rgba(0, 0, 0, 0.2);
	-moz-text-shadow:
		1px 1px 2px rgba(0, 0, 0, 0.2), -1px -1px 2px rgba(0, 0, 0, 0.2),
		-1px 1px 2px rgba(0, 0, 0, 0.2), 1px -1px 2px rgba(0, 0, 0, 0.2),
		0px 1px 2px rgba(0, 0, 0, 0.2), 0 -1px 2px rgba(0, 0, 0, 0.2),
		-1px 0 2px rgba(0, 0, 0, 0.2), 1px 0 2px rgba(0, 0, 0, 0.2);
	-ms-text-shadow:
		1px 1px 2px rgba(0, 0, 0, 0.2), -1px -1px 2px rgba(0, 0, 0, 0.2),
		-1px 1px 2px rgba(0, 0, 0, 0.2), 1px -1px 2px rgba(0, 0, 0, 0.2),
		0px 1px 2px rgba(0, 0, 0, 0.2), 0 -1px 2px rgba(0, 0, 0, 0.2),
		-1px 0 2px rgba(0, 0, 0, 0.2), 1px 0 2px rgba(0, 0, 0, 0.2);
	text-shadow:
		1px 1px 2px rgba(0, 0, 0, 0.2), -1px -1px 2px rgba(0, 0, 0, 0.2),
		-1px 1px 2px rgba(0, 0, 0, 0.2), 1px -1px 2px rgba(0, 0, 0, 0.2),
		0px 1px 2px rgba(0, 0, 0, 0.2), 0 -1px 2px rgba(0, 0, 0, 0.2),
		-1px 0 2px rgba(0, 0, 0, 0.2), 1px 0 2px rgba(0, 0, 0, 0.2);
}

/* ------------------------------------------
 TOP page : Main Area
-------------------------------------------*/

/*#topMainArea{
}

#topMvnNav{
}*/

/* タイトル
--------------------------*/
#topMvnNav h1 {
	line-height: 80px;
	text-align: center;
	font-size: 30px;
	color: #FFF;
	background: #fd9a00;

	-webkit-text-shadow:
		1px 1px 3px rgba(0, 0, 0, 0.2), -1px -1px 3px rgba(0, 0, 0, 0.2),
		-1px 1px 3px rgba(0, 0, 0, 0.2), 1px -1px 3px rgba(0, 0, 0, 0.2),
		0px 1px 3px rgba(0, 0, 0, 0.2), 0 -1px 3px rgba(0, 0, 0, 0.2),
		-1px 0 3px rgba(0, 0, 0, 0.2), 1px 0 3px rgba(0, 0, 0, 0.2);
	-moz-text-shadow:
		1px 1px 3px rgba(0, 0, 0, 0.2), -1px -1px 3px rgba(0, 0, 0, 0.2),
		-1px 1px 3px rgba(0, 0, 0, 0.2), 1px -1px 3px rgba(0, 0, 0, 0.2),
		0px 1px 3px rgba(0, 0, 0, 0.2), 0 -1px 3px rgba(0, 0, 0, 0.2),
		-1px 0 3px rgba(0, 0, 0, 0.2), 1px 0 3px rgba(0, 0, 0, 0.2);
	-ms-text-shadow:
		1px 1px 3px rgba(0, 0, 0, 0.2), -1px -1px 3px rgba(0, 0, 0, 0.2),
		-1px 1px 3px rgba(0, 0, 0, 0.2), 1px -1px 3px rgba(0, 0, 0, 0.2),
		0px 1px 3px rgba(0, 0, 0, 0.2), 0 -1px 3px rgba(0, 0, 0, 0.2),
		-1px 0 3px rgba(0, 0, 0, 0.2), 1px 0 3px rgba(0, 0, 0, 0.2);
	text-shadow:
		1px 1px 3px rgba(0, 0, 0, 0.2), -1px -1px 3px rgba(0, 0, 0, 0.2),
		-1px 1px 3px rgba(0, 0, 0, 0.2), 1px -1px 3px rgba(0, 0, 0, 0.2),
		0px 1px 3px rgba(0, 0, 0, 0.2), 0 -1px 3px rgba(0, 0, 0, 0.2),
		-1px 0 3px rgba(0, 0, 0, 0.2), 1px 0 3px rgba(0, 0, 0, 0.2);
}

/* ナビ
--------------------------*/
.navIconContainer {
	margin: 20px 5px 0 5px;
	display: -ms-grid;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	-ms-grid-template-columns: 1fr 1fr 1fr;
	grid-auto-rows: 1fr;
	-ms-grid-auto-rows: 1fr;
	gap: 10px;
}

@media (min-width: 960px), print {
	.navIconContainer {
		grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
		-ms-grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
	}
}

.navIconContainer li {
	display: grid;
	display: -ms-grid;
	text-align: center;
	padding: 0 0 0 0;
	width: 100%;
	height: 100%;
}

.navIconContainer li img {
	object-fit: contain;
	height: 160px;
}

/* #topMvnNav #navIconItemTime {
	background: url(../../img/subway/top_nav_time_non_text.png) no-repeat center;
	background-size: contain;
}

#topMvnNav #navIconItemPrice {
	background: url(../../img/subway/top_nav_price_non_text.png) no-repeat center;
	background-size: contain;
}

#topMvnNav #navIconItemLine {
	background: url(../images/top_nav_line_non_text.png) no-repeat center;
	background-size: contain;
}


#topMvnNav #navIconItemMapLine {
	background: url(../images/top_nav_mapline_non_text.png) no-repeat center;
	background-size: contain;
}

#topMvnNav #navIconItemStation {
	background: url(../images/top_nav_station_non_text.png) no-repeat center;
	background-size: contain;
} */

#standNav #navIconItemTop {
	background: url(../../img/subway/subway_nav_top_non_text.png) no-repeat center;
	background-size: contain;
}

#standNav #navIconItemTime {
	background: url(../../img/subway/subway_nav_timetable_non_text.png) no-repeat center;
	background-size: contain;
}

#standNav #navIconItemCampus {
	background: url(../../img/subway/subway_nav_campus_non_text.png) no-repeat center;
	background-size: contain;
}

#standNav #navIconItemStore {
	background: url(../../img/subway/subway_nav_store_non_text.png) no-repeat center;
	background-size: contain;
}

#standNav #navIconItemBus {
	background: url(../../img/subway/subway_nav_bus_non_text.png) no-repeat center;
	background-size: contain;
}

/* ------------------------------------------
 TOP Page : Second Area
-------------------------------------------*/

#topSecArea {
	padding: 20px 0;
	overflow: hidden;
}

/* コンテンツバナー
--------------------------*/
#topCntBnr {
	border-top: 1px solid #bbcbe1;
	background: #FFF;
}

#topCntBnr ul {
	overflow: hidden;
}

#topCntBnr ul li {
	padding: 10px 20px 10px 10px;
	border-bottom: 1px solid #bbcbe1;
	overflow: hidden;
	background: url(../../img/common/link_arrow.png) no-repeat right 15px center;
	background-size: 7px;
	position: relative;
}

#topCntBnr ul li a {
	width: 100%;
	height: 100%;
	/*position:absolute;
	top:0;
	left:0;*/
	display: flex;
	align-items: center;
}

#topCntBnr ul li img {
	/*float:left;*/
	width: 20%;
	padding: 0 20px 0 0;
}

#topCntBnr ul li h2 {
	/*float:left;*/
	max-width: 70%;
	color: #1e569b;
	padding: 5px 0;
	font-weight: bold;
}

#topCntBnr ul li a img {
	width: 20%;
	height: auto;
	padding: 0 20px 0 0;
	flex: 1;
}

#topCntBnr ul li a p {
	max-width: 70%;
	color: #1e569b;
	padding: 5px 0;
	font-weight: bold;
	flex: 3;
}

/* バリアフリー
--------------------------*/
/*#topBarrier{
}*/

#topBarrier h2 {
	font-size: 18px;
	font-weight: bold;
	line-height: 60px;
	text-align: center;
	padding: 0 0 0 30px;
	border-bottom: 1px solid #1e569b;
}

#topBarrier ul {
	padding: 10px 5px;
	overflow: hidden;
}

#topBarrier ul li {
	float: left;
	width: 50%;
	padding: 0 0 10px;
}

#topBarrier ul li a {
	display: block;
	height: 55px;
	line-height: 1.4;
	padding: 10px 0 0;
	margin: 0 5px;
	text-decoration: none;
	text-align: center;
	border-radius: 3px;
	border: 1px solid #1e569b;
}


/* ------------------------------------------
 地下鉄駅 : 共通
-------------------------------------------*/
#standNav {
	padding: 0 10px 10px;
	margin-bottom: 30px;
}

#standNav>div {
	text-align: center;
	background: #FFF;
	padding: 20px 0;
	border: 1px solid #e7e7e7;
	position: relative;
}

ul.lineIcon {
	text-align: center;
	display: flex;
	justify-content: center;
	gap: 10px;
  min-width: 180px;
}

ul.lineIcon li {
	display: inline-block;
}

ul.lineIcon li img {
	height: 50px;
}

ul.stationNav {
	padding: 10px 0;
	overflow: hidden;
}

ul.stationNav li {
	float: left;
	width: 33%;
	text-align: center;
}

ul.stationNav li img {
	width: 95%;
}

.ekiNameArea {
	display: block;
}

#standTtl {
	text-align: center;
	font-size: 32px;
	letter-spacing: 3px;
	margin: 0;
	padding: 0;
	display: block;
}

#standKana {
	text-align: center;
	font-size: 14px;
	padding: 5px 0;
	line-height: 1;
	letter-spacing: 2px;
	color: #FFF;
	background: #333;
	display: block;
}

@media (min-width: 960px), print {
	#standNav > div {
		padding: 30px 0 20px;
	}

	ul.lineIcon {
		position: absolute;
		top: 0;
		margin: 25px;
		gap: 20px;
	}

	ul.lineIcon li img {
		height: 60px;
	}

	#standTtl {
		font-size: 40px;
		padding: 0 220px;
	}
}

@media print {
	#standNav {
		margin-bottom: 0;
	}
	#standNav > div {
		padding: 10px 0;
		margin-bottom: 0;
	}
	#standNav .lineIcon {
		margin: 10px;
	}
}


/* ------------------------------------------
 地下鉄：時刻表トップ
-------------------------------------------*/
/* 入力エリア
--------------------------*/
.subAccess {
	/*height:240px;*/
	padding: 20px 40px 20px !important;
	background: #FFF;
}

#subAcInput {
	margin-top: 6px;
	padding: 0 10px 10px;
	background: #ecf2f8;
	border-radius: 8px;
}

#subAcInput h2 {
	font-size: 16px;
	text-align: center;
	padding: 10px;
	line-height: 1;
	font-weight: bold;
}

#subAcInput>div {
	padding: 30px 0 10px;
	background: #ffffff;
	border-radius: 5px;
}

/* 入力エリア */
ul.inputMain {
	display: table;
	width: 100%;
}

ul.inputMain li {
	display: table-cell;
	text-align: center;
	vertical-align: middle;
}

ul.inputMain li h3 {
	font-size: 16px;
	font-weight: bold;
	padding: 5px 10px 0 0;
}

ul.inputMain li input {
	width: 170px;
	font-size: 18px;
	border: 1px solid #1e569b;
}

/* パレット選択 */
.inputSelect {
	display: flex;
	margin: 15px auto 30px;
	justify-content: center;
	padding: 0;
	gap: 5px;
}


/* 路線から選ぶ */
#timeLineSelect {
	/*background:#990;*/
	margin: 10px 0;
}

#timeLineSelect .timeLineSelectTitle {
	font-weight: bold;
	text-align: center;
	padding: 0 0 10px;
}

#timeLineSelect ul {
	/*overflow: hidden;*/
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

#timeLineSelect ul li {
	/*float:left;*/
	/*width:33%;*/
	padding: 0 7px 3px;
	text-align: center;
}

#timeLineSelect ul li img {
	max-height: 65px;
}

#timeLineSelect button.iframe {
	border: 1px solid #1E569B;
	padding: 5px 5px 0 5px;
	border-radius: 10px;
}
#timeLineSelect button.iframe.station {
	padding-bottom: 5px;
}

/* 検索ボタン */
.btnArea {
	width: 200px;
	margin: 0 auto;
}

/* ボタン */
#acsBtn {
	width: clamp(300px, 55%, 400px);
	padding: 12px 50px;
	margin: 30px auto 20px !important;
	text-align: center;
	line-height: 1.5;
}

.goalAddBox {
	display: none;
}

/* 音声読み上げリンク */
#otherTTLink {
	width: 210px;
	margin: 0 0 0 auto;
	padding: 10px 20px 0 0 !important;
}

#otherTTLink a {
	display: block;
	padding: 0 0 0 15px;
	background: url(../../img/common/mrk_arrow_blue.png) no-repeat left center;
}


/* ------------------------------------------
 地下鉄 : 時刻表（行き先選択）
-------------------------------------------*/

/* 各セル調整
--------------------------*/
#timeTable {
	border-top: 1px solid #CCC;
	margin-top: 20px;
}

.bT-ListItem {
	display: grid;
	gap: 10px;
	grid-template-columns: 1fr auto;

	padding: 20px 10px;
	border-bottom: 1px solid #CCC;
}

#timeTable .bT-ListItem {
	padding: 20px 0;
}

.bT-Goal-Rosen {
	grid-column: 1;
	grid-row: 1;

	padding: 10px 20px !important;
	margin: 0 auto auto 0;
	line-height: 1;
	border-radius: 30px;
	text-align: center;
	background: #ecf2f8;
	height: auto;
	min-width: 120px;
	font-weight: bold;
}

.bT-Goal-Railway {
	grid-column: 1 / 3;
	grid-row: 2;

	margin: 0 0 0 20px;
	font-weight: 600;
}

.bT-DtlBtn {
	grid-column: 2;
	grid-row: 1;

	margin-right: 10px;
}

@media (min-width: 960px), print {
	.bT-ListItem {
		grid-template-columns: auto 1fr auto;
		padding: 20px 20px;
	}
	#timeTable .bT-ListItem {
		padding: 20px 20px;
	}

	.bT-Goal {
		display: flex;
	}
	.bT-Goal-Rosen {
		margin-bottom: auto;
		width: 160px;
	}
	.bT-Goal-Railway {
		margin-top: 4px
	}

	.bT-Goal-Rosen, .bT-Goal-Railway, .bT-DtlBtn {
		grid-column: auto;
		grid-row: auto;
	}
}


/* アコーディオン
--------------------------*/



/* ------------------------------------------
 地下鉄 : 時刻表（詳細）
-------------------------------------------*/

/* 時刻表詳細レイアウト
--------------------------*/
#timeTableSection {
	clear: both;
	padding: 20px;
	background: #FFF;
}

#timeTableSection h1 {
	font-size: 26px;
	padding: 0 20px 10px;
	margin: 0 0 20px;
	border-bottom: 1px solid #1e569b;
}

/* TABタイトルセット */
#h1-TabSet {
	width: 100%;
}

#h1-TabSet ul {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 20px;
}

#h1-TabSet ul li {
	width: 50%;
	margin: 0 0 0 0;
	padding: 2px;
	flex: auto;
}

#h1-TabSet ul li button {
	width: 100%;
	color: #FFF;
	text-align: center;
	padding: 20px 0;
	border: 1px solid #1e569b;
	border-radius: 5px;
	background: #1e569b;
	transition: opacity 0.2s, transform 0.2s;
}

#h1-TabSet ul li button[aria-selected="true"] {
	color: #1e569b !important;
	background: #FFF !important;
	border: 1px solid #1e569b;
}

#h1-TabSet ul li button:hover {
	opacity: 0.9;
}

@media (min-width:960px), print {
	#h1-TabSet ul {
		margin: 0;
		background: url(../../img/subway/shadow_bottom.png) repeat-x center bottom;
		overflow: hidden;
		justify-content: end;
	}

	#h1-TabSet ul li {
		width: auto;
		padding: 0 2px;
		flex: none;
	}

	#h1-TabSet ul li button {
		padding: 15px 40px;
		border-bottom-left-radius: 0;
		border-bottom-right-radius: 0;
		border-bottom: none !important;
	}

	#h1-TabSet ul li button:hover {
		opacity: 1;
		transform: translateY(3px);
	}
}


/* TABタイトルセット */
/*#h1-TabSet2{
}*/

#h1-TabSet2 ul {
	overflow: hidden;
}

#h1-TabSet2 ul li {
	float: left;
	width: 33%;
	margin: 0 0 0 0;
}

#h1-TabSet2 ul li a {
	display: block;
	color: #FFF;
	margin: 0 3px 6px;
	text-align: center;
	padding: 10px 0;
	border: 1px solid #1e569b;
	text-decoration: none;
	border-radius: 5px;
	background: #1e569b;
}


/* ヘッダー
--------------------------*/
.tTD-header-text {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin: 20px 0;
	width: 100%;
	font-size: 22px;
	text-align: center;
}

@media (min-width: 960px), print {
	.tTD-header-text {
		font-size: 24px;
	}
}
@media print {
	.tTD-header-text {
		margin: 10px 0;
	}
}

#tTD-header {
	padding: 10px 10px 10p;
	overflow: hidden;
}

#tTD-header h2 {
	font-size: 20px;
	float: left;
}

#tTD-header ul {
	float: right;
	width: 290px;
}

#tTD-header ul li {
	float: left;
}

#tTD-header ul li a {
	display: block;
	font-size: 14px;
	width: 110px;
	text-align: center;
	line-height: 1;
	border-radius: 5px;
	padding: 8px 15px;
	text-decoration: none;
	color: #FFF;
	background: #1e569b;
}

#tT-header ul li a:hover {
	background: #999999;
}

.currDate {
	text-align: right;
	padding: 0 5px;
	font-size: 14px;
}

.noteTimetable {
	margin: 0 10px;
}

.printTimetable {
	padding: 4px 20px 4px 40px;
	margin: 0px 10px auto auto;
	background: #1e569b url(../../img/common/ico_printer.png) no-repeat 15px center !important;
	color: #fff;
	border-radius: 4px;
	transition: 0.1s ease-in-out;
}
.printTimetable:hover {
    transform: scale(1.02);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
}


/* 時刻表タブ
--------------------------*/
ul.tabSetMenu {
	display: flex;
	width: 100%;
	padding: 10px 0 0;
	margin: 0 0 10px;
}

ul.tabSetMenu li {
	display: flex;
	flex: 1;
	text-align: center;
}

ul.tabSetMenu li button {
	width: 100%;
	padding: 15px 0;
	color: #FFF;
	text-decoration: none;
	border: 1px solid #1E569B;
	background: #1E569B;
	outline-offset: -2px;
	transition: opacity 0.3s;
}

ul.tabSetMenu li button:hover {
	opacity: 0.9;
}

/* Active */
.tabSetMenu li button[aria-selected="true"] {
	color: #1e569b !important;
	background: #FFF !important;
}

/* 時刻表テーブル
--------------------------*/

#timeTableOther {
	display: none;
}

.timeTableDtl {
	font-size: 14px;
}

.timeTableMain {
	width: 100%;
	table-layout: fixed;
}

.timeTableMain th {
	font-weight: bold;
	text-align: center;
}

.timeTableMain th,
.timeTableMain td {
	border: 1px solid #bbcbe2;
	vertical-align: middle;

}

.timeTableMain th {
	padding: 5px 5px;
	text-align: center;
}

.timeTableMain td {
	padding: 15px 5px;
	vertical-align: middle;
	overflow: hidden;
}

.tT-sunday p,
.tT-weekday p {
	float: left;
	padding: 0 5px;
	/* width:26px; */
	text-align: center;
}

#timeTableDtl table td p span {
	padding: 0 2px 0 0;
}

.timeContainer {
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-flow: row wrap;
	flex-wrap: wrap;
	justify-content: flex-start;
	list-style: none;
}

.timeContainer>li {
	padding: 0 10px !important;
}

/* 時刻表データ
--------------------------*/
.timeInfo {
	line-height: 1;
	font-size: 0.75em;
}

.timeData {
	padding-left: 2px;
}

@media (min-width: 960px), print {
	.timeTableMain {
		font-size: 1.2em;
	}

	.timeTableMain th,
	.timeTableMain td {
		padding: 5px;
	}

	.timeData {
		white-space: pre;
		font-weight: bold;
	}
}

@media print {
	.timeTableMain {
		font-size: 16px;
		font-weight: bold;
		line-height: 1.2;
	}
}


/* 曜日ごと
--------------------------*/
.timeNo {
	width: 2em;
	background: #ededed;
}

html:not([lang="ja"]) .timeNo {
	width: 3em;
}

.tT-saturday {
	background: #e6f7ff !important;
}

.tT-sunday {
	background: #fde9f5 !important;
}


/* -------------------------------------------------------------------
 料金表
--------------------------------------------------------------------*/
#priceBusCheck {
	padding: 0;
	margin-bottom: 20px;
	text-align: center;
}

#priceBusCheck input {
	margin: 0 5px 0 0;
	appearance: auto;
	-webkit-appearance: auto;
}

#priceBusCheck input,
#priceBusCheck label {
	cursor: pointer;
}

/*#priceBusCheck button{
}*/

/* 検索結果
--------------------------*/
/* 大枠 */
/*#priceResult{
}*/

/* タイトルセット */
#pR-Ttl {
	/* padding: 0 10px 0 10px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap; */
}

#pR-Ttl ul {
	background: url(../../img/subway/shadow_bottom.png) repeat-x center bottom;
	display: flex;
	gap: 3px;
	justify-content: end;
}

#pR-Ttl ul li {
	flex-grow: 1;
}

@media (min-width:960px) {
	#pR-Ttl ul li {
		flex-grow: 0;
	}
}

#pR-Ttl ul li button {
	color: #FFF;
	padding: 10px 25px 10px 35px;
	border: 1px solid #1e569b;
	border-bottom: none;
	text-decoration: none;
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
	background: #1e569b url(../../img/common/mrk_sort_white.png) no-repeat 15px center;
	transition: all .3s;
	width: 100%;
}

#pR-Ttl ul li button:hover {
	opacity: 0.9;
}

#pR-Ttl ul li button[aria-selected="true"] {
	color: #1e569b;
	background: #FFF url(../../img/common/mrk_sort.png) no-repeat 15px center;
}

.priceResultTitle {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 0px;
	padding: 10px;
	margin-top: 20px;
	text-align: center;
}

/* リスト */
.priceResultList {
	padding: 0px;
}

.priceResultList>li {
	padding: 10px 10px;
	border-top: 1px solid #CCC;
}

.priceResultList>li:last-child {
	border-bottom: 1px solid #CCC;
}

.priceResultList .pR-Result-Header {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 20px;
	padding: 10px 0;
}

.priceResultList .pR-Result-Header .pR-Result-Fare {
	grid-column: 1;
	grid-row: 1;
	border-bottom: 1px solid #e8e8e8;
}

.priceResultList .pR-Result-Header .pR-Result-Actions {
	grid-column: 2;
	grid-row: 1;
}

.priceResultList .pR-Result-Header .pR-Result-Route {
	grid-column: 1 / -1;
	grid-row: 2;
}

@media (min-width: 960px) {
	.priceResultList .pR-Result-Header {
		grid-template-columns: auto 1fr auto;
	}
	.priceResultList .pR-Result-Header .pR-Result-Fare {
		grid-column: 1;
		grid-row: 1;
		border-bottom: none;
	}
	.priceResultList .pR-Result-Header .pR-Result-Route {
		grid-column: 2;
		grid-row: 1;
	}
	.priceResultList .pR-Result-Header .pR-Result-Actions {
		grid-column: 3;
		grid-row: 1;
	}
}

.priceResultList .pR-Result-Fare,
.priceResultList .pR-Result-Route {
	font-size: 18px;
}

.priceResultList .pR-Result-Fare {
	text-align: left;
	padding: 0 0 5px 5px;
}

/* 経路 */
.priceResultList .pR-Result-Route {
	display: flex;
	flex-wrap: wrap;
	overflow: hidden;
}

.priceResultList .pR-Result-Route li {
	margin: 0 0 10px;
	padding: 6px 10px;
	height: 38px;
	min-width: 3em;
	line-height: 1;
	background-position: center 8px;
	overflow: hidden;
	text-align: center;
}
.priceResultList .pR-Result-Route li:nth-child(2n) {
	flex: 1 1 auto;
	max-width: 300px;
}
@media (min-width: 960px), print {
	.priceResultList .pR-Result-Route li:nth-child(n) {
		flex: 0 0 auto;
	}
}

.priceResultList .pR-Result-Route li span {
	position: relative;
	margin: 0 10px;
	padding: 2px 18px;
	border-radius: 30px;
	font-size: 14px;
}

.priceResultList .pR-Result-Route li span::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	height: 0;
	width: 100vw;
	transform: translateX(-100%) translateY(-50%);
	border: 2px solid #fff;
}
.priceResultList .pR-Result-Route li span::before {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	height: 0;
	width: 100vw;
	transform: translateX(100%) translateY(-50%);
	border: 2px solid #fff;
}

/* 経路別スタイル（テキスト） */
.priceResultList .pR-Result-Route .pLine-hig span{
	border: 4px solid #fdb813;
	background-color: #fff;
}
.priceResultList .pR-Result-Route .pLine-hig span::after,
.priceResultList .pR-Result-Route .pLine-hig span::before {
	border-color: #fdb813;
}

.priceResultList .pR-Result-Route .pLine-mei span{
	border: 4px solid #8d7cb0;
	background-color: #fff;
}
.priceResultList .pR-Result-Route .pLine-mei span::after,
.priceResultList .pR-Result-Route .pLine-mei span::before {
	border-color: #8d7cb0;
}

.priceResultList .pR-Result-Route .pLine-tsu span{
	border: 4px solid #00aee3;
	background-color: #fff;
}
.priceResultList .pR-Result-Route .pLine-tsu span::after,
.priceResultList .pR-Result-Route .pLine-tsu span::before {
	border-color: #00aee3;
}

.priceResultList .pR-Result-Route .pLine-sak span{
	border: 4px solid #e32726;
	background-color: #fff;
}
.priceResultList .pR-Result-Route .pLine-sak span::after,
.priceResultList .pR-Result-Route .pLine-sak span::before {
	border-color: #e32726;
}

.priceResultList .pR-Result-Route .pLine-kam span{
	border: 4px solid #f27191;
	background-color: #fff;
}
.priceResultList .pR-Result-Route .pLine-kam span::after,
.priceResultList .pR-Result-Route .pLine-kam span::before {
	border-color: #f27191;
}

.priceResultList .pR-Result-Route .pLine-walk span{
	border: 4px solid #10bf28;
	background-color: #fff;
}
.priceResultList .pR-Result-Route .pLine-walk span::after,
.priceResultList .pR-Result-Route .pLine-walk span::before {
	border-color: #10bf28;
}



/* 表示ボタン */
.priceOpen {
	display: block;
	cursor: pointer;
	font-size: 14px;
	white-space: nowrap;
	text-align: center;
	padding: 8px 20px 8px 10px;
	color: #FFF;
	border-radius: 5px;
	background: #666 url(../../img/common/arrow_bottom.png) no-repeat 72px center;
	line-height: 1;
}

.priceOpen:hover {
	opacity: 0.9;
	background: #666 url(../../img/common/arrow_bottom.png) no-repeat 72px center;
}

.priceOpen.open {
	background: #666 url(../../img/common/arrow_top.png) no-repeat 72px center !important;
}

/* 経路表示ボタン */
.routeOpen {
	position: absolute;
	right: 0px;
	top: 10px;
	cursor: pointer;
	font-size: 14px;
	/* width: 80px; */
	white-space: nowrap;
	text-align: center;
	padding: 8px 20px 8px 10px;
	color: #FFF !important;
	text-decoration: none !important;
	border-radius: 5px;
	background: #1e569b url(../../img/common/arrow_white.png) no-repeat 72px center;
	line-height: 1;
}

.routeOpen:hover {
	opacity: 0.9;
}


/* テーブル */
.priceDtl {
	display: none;
	clear: both;
	position: relative;
	padding-top: 15px
}

.priceDtl p {
	padding: 0 0 8px;
	font-weight: bold;
}

.priceDtl .tableContainer {
	overflow: auto;
}

.priceDtl table th,
.priceDtl table td {
	padding: 5px 10px;
	border: 1px solid #bbcbe2;
}

.priceDtl table th {
	font-weight: normal;
	text-align: left;
	background: #e8f2f4;
}

.pR-THeader th {
	/* width: 100px; */
	font-weight: bold !important;
	text-align: center !important;
}


.priceDtl table td {
	text-align: right;
}

.priceDtl table caption {
	font-size: 14px;
}

/* -------------------------------------------------------------------
 路線図
--------------------------------------------------------------------*/
#routeMapPdf {
	padding: 20px 0;
}

#routeMapPdf a {
	display: block;
	padding: 20px 20px 20px 80px;
	border: 2px solid #cccccc;
	text-decoration: none;
	border-radius: 5px;
	font-size: 1.1em;
	background: url(../../img/common/ico_pdf_big.png) no-repeat 20px center;
	background-size: 37px;
}

#routeMapPdf a:hover {
	border: 2px solid #cccccc;
	background: #F7F7F7 url(../../img/common/ico_pdf_big.png) no-repeat 20px center;
	background-size: 37px;
}

#routeMapImg {
	vertical-align: bottom;
	border: 1px solid #CCC;
}

#routeMapImg a {
	display: block;
}

/* #rM-Map{
	cursor:move;
	height:400px;
	border:1px solid #CCC;
	background:url(../../img/subway/subway_routemap_mini.png) no-repeat center;
} */

/* -------------------------------------------------------------------
 各駅情報
--------------------------------------------------------------------*/
#routemapSelect {
	padding: 30px 0 0;
}

#routemapSelect h3 {
	font-size: 16px;
	font-weight: bold;
}

#routemapSelect div {
	width: 100%;
	height: calc(100vw - 20px);
	/* background:url(../../route/palette/images/sample/subway_linemap.png) no-repeat center; */
	border: 1px solid #CCC;
}

/* ------------------------------------------
 駅 : TOP
-------------------------------------------*/


/* 時刻表
--------------------------*/
#sT-timetable {
	margin-bottom: 20px;
}

#sT-timetable h2 {
	font-size: 16px;
	font-weight: bold;
	margin: 0 0 0;
	text-align: center;
	padding: 10px 0 10px 0;
	border-bottom: 2px solid #bbcbe2;
	background: #f7f9fa;
}

#sT-timetable ul {
	padding: 0 0 20px;
}

#sT-timetable ul li {
	overflow: hidden;
	border-bottom: 1px solid #CCC;
}

#sT-timetable .bT-BusPoleListItem a {
	font-weight: bold;
}

.bT-DtlBtn a {
	display: inline-block;
	font-size: 14px;
	text-align: center;
	border-radius: 5px;
	padding: 8px 24px;
	margin: 0 0 0 auto;
	text-decoration: none !important;
	color: #FFF !important;
	background: #1e569b url(../../img/common/arrow_white.png) no-repeat right 10px center;
}
@media (min-width: 960px), print {
	.bT-DtlBtn a {
		padding: 14px 80px;
		font-weight: bold;
		line-height: 1;
	}
}

.bT-DtlBtn a:hover {
	opacity: 0.9;
}

/* のりば・ルート検索
--------------------------*/

#sT-Rbus {
	margin-bottom: 10px;
}

#sT-Rbus h2 {
	font-size: 16px;
	font-weight: bold;
	margin: 0 0 20px;
	text-align: center;
	padding: 10px 0 10px 0;
	border-bottom: 2px solid #bbcbe2;
	background: #f7f9fa;
}

#sT-Rbus p {
	font-size: 14px;
	text-align: right;
	margin: 5px 10px 20px;
}

#sT-RbusGMapWrapper {
	position: relative;
	padding: 0 10px;
}

#sT-RbusGMap {
	width: 100%;
	height: clamp(300px, 45vh, 400px);
}

/* ルート検索 */
.sT-Rroute-Items {
	display: flex;
	gap: 10px;
	padding: 20px 0;
	justify-items: center;
	justify-content: center;
	width: 100%;
	/* flex-wrap: wrap; */
}

#busRouteIcoStart,
#busRouteIcoGoal {
	background-color: #fff;
	border-radius: 5px;
}

#busRouteIcoStart a,
#busRouteIcoGoal a {
	display: block;
	margin: 0 auto;
	padding: 10px 10px 10px 46px;
	border-radius: 5px;
	font-weight: bold;
	text-decoration: none;
	height: 100%;
}

#busRouteIcoStart a {
	color: #222222;
	border: 1px solid #1f9932;
	background: url(../../img/common/ico_route_start.png) no-repeat 8px center;
	background-size: 30px;
}

#busRouteIcoGoal a {
	color: #222222;
	border: 1px solid #e4007f;
	background: url(../../img/common/ico_route_goal.png) no-repeat 8px center;
	background-size: 30px;
}

/* pc */
@media (min-width: 960px), print {
	.sT-Rroute-Items {
		position: absolute;
		bottom: 0;
		right: 0;
		margin: 5px 20px;
		width: 210px;
		flex-wrap: wrap;
	}
	#busRouteIcoStart a,
	#busRouteIcoGoal a {
		padding: 10px 10px 10px 60px;
		background-position: 10px center;
		background-size: 40px;
	}
}


/* ------------------------------------------
 駅構内店舗
-------------------------------------------*/
.storeList {
	font-size: 16px;
	margin-bottom: 40px;
	/* text-align: center; */
}

.storeList .ttlSet2 {
	padding-left: 5px;
}

.storeList dl {
	padding: 10px;
	margin-bottom: 10px;
	text-align: left;
	overflow: hidden;
}

.storeList img {
	border: 1px solid #CCC;
	height: 200px;
}

.storeList dl dt,
.storeList dl dd {
	font-size: 16px;
	padding: 5px 0;
}

.storeList dl dt {
	clear: both;
	float: left;
	width: 25%;
}

.storeList dl dt:first-child {
	border: none;
}

.storeList dl dd {
	float: left;
	width: 75%;
}

.storeList dl dt+dd {
	border: none;
}

#storeMessage {
	padding: 10px;
}

/* ------------------------------------------
 各駅：バスのりば
-------------------------------------------*/
.sT-bus {
	font-size: 16px;
}

.sT-bus h2 {
	margin: 20px 0 0;
}

/* ------------------------------------------
 駅構内図
-------------------------------------------*/
/* BASE
--------------------------*/

/*.staCampus{
}*/

.staCampus h2 {
	margin-top: 30px;
}

/*構内図オール
--------------------------*/
#campusMap div {
	text-align: center;
}

#campusMap h3 {
	font-size: 1.25rem;
	font-weight: bold;
	padding: 1.25rem;
}

#campusMap h4 {
	text-align: center;
	font-weight: bold;
	padding: 30px 20px 10px;
}

#campusMap dt {
	font-size: 1.25rem;
	font-weight: bold;
	padding: 1.25rem;
}

.campusMapImage img {
	margin: 0 auto 10px;
}

.campusAccessGuide {
	text-align: center;
	margin-bottom: 1.25rem;
}

/*乗換情報
--------------------------*/
/*#campusTransfer{
}*/

#campusTransfer div {
	padding: 0 20px 20px;
}

#campusTransfer h3 {
	margin: 20px 0 0;
	padding-left: 25px;
	padding-top: 12px;
	background: url(../../img/common/mrk_h3.png) no-repeat left center;
}

/*#campusTransfer ul{
}*/

#campusTransfer ul li {
	padding: 20px;
	border-bottom: 1px solid #CCC;
}

#campusTransfer ul li h4 {
	font-weight: bold;
}

/*#campusTransfer ul li p{
}*/

/*バリアフリー情報
--------------------------*/
/*#campusBarrier{
}*/
#campusBarrier {
	margin-bottom: 20px;
}

#campusBarrier h3 {
	margin: 20px 0;
	background: url(../../img/common/mrk_h3.png) no-repeat left center;
}

#campusBarrier h4 {
	padding: 30px 0 10px;
}

#campusBarrier div {
	padding: 0 0 20px;
}

#campusBarrier div h4 {
	font-weight: bold;
}

#campusBarrier ul {
	border-top: 1px solid #bbcbe2;
}

#campusBarrier ul li {
	padding: 10px 0;
	border-bottom: 1px solid #CCC;
}

#campusBarrier ol {
	border-top: 1px solid #bbcbe2;
	list-style: none;
}

#campusBarrier ol li {
	padding: 20px;
	border-bottom: 1px solid #CCC;
}

/*乗車位置
--------------------------*/
/*#campusPosition{
}*/

#campusPosition div {
	padding: 0 0;
	text-align: center;
}

#campusPosition div dt {
	font-size: 20px;
	font-weight: bold;
	padding: 20px 0;
}

#campusPosition div img {
	padding: 0 0 20px;
	margin: 0 auto;
}

#campusPosition div table {
	width: 100%;
}

#campusPosition div table .bg-blue {
	background: #e8f2f4;
}

#campusPosition div th,
#campusPosition div td {
	font-size: 16px !important;
	padding: 5px 0 !important;
	text-align: center !important;
}

#campusPosition div th {
	min-width: inherit !important;
}

/*#campusPosition div td{
}*/

/*その他情報
--------------------------*/
/*#campusOther{
}*/

#campusOther div {
	padding: 0 0;
}

/* ------------------------------------------
 共通レイアウト
-------------------------------------------*/

/* ボトム１カラム
--------------------------*/

#btmMainArea {
	clear: both;
	margin: 0 0 0 !important;
}


#btmMainArea .title {
	font-size: 1.6em;
	padding: 0 5px 10px;
	margin: 0 0 20px;
	border-bottom: 1px solid #1e569b;
}

/* 設備アイコン
--------------------------*/
#FacilityIcon {
	margin-bottom: 20px;
}

#FacilityIcon h2 {
	font-size: 16px;
	font-weight: bold;
	margin: 0 0 0;
	text-align: center;
	padding: 10px 0 10px 0;
	border-bottom: 2px solid #bbcbe2;
	background: #f7f9fa;
}

#FacilityIcon ul {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin: 10px;
	padding: 10px;
}

#FacilityIcon ul li img {
	width: auto;
	height: 24px;
	display: inline-block;
	vertical-align: middle;
}

#FacilityIcon ul li span {
	vertical-align: middle;
}



/* バリアフリー
--------------------------*/
/*#campusBarrier{
}*/

#campusBarrier h2:not(.ttlSet2) {
	font-size: 16px;
	font-weight: bold;
	margin: 0 0 0;
	text-align: center;
	padding: 10px 0 10px 0;
	border-bottom: 2px solid #bbcbe2;
	background: #f7f9fa;
}

#campusBarrier h3 {
	margin: 20px 0;
	padding-left: 25px;
	padding-top: 12px;
	background: url(../../img/common/mrk_h3.png) no-repeat left center;
}

#campusBarrier h4 {
	padding: 30px 20px 10px;
}

#campusBarrier div {
	padding: 0 20px 20px;
}

#campusBarrier div h4 {
	font-weight: bold;
}

#campusBarrier ul {
	border-top: 1px solid #bbcbe2;
}

#campusBarrier ul li {
	padding: 20px;
	border-bottom: 1px solid #CCC;
}

.delayCertInfoTitle {
	margin-bottom: 1rem;
}

.delayCertInfoList {
	margin-left: 1rem;
	margin-bottom: 1rem;
}

.delayCertInfoList li {
	margin-left: 1rem;
	list-style-type: disc;
}

.delay-table {
	/*margin-top: 1em;*/
	border-style: dotted;
	border-width: 2px;
	border-color: #808080;
	width: 100%;
}

.delay-table tr,
.delay-table th,
.delay-table td {
	/*margin-top: 1em;*/
	border-width: 2px;
	border-style: dotted;
	text-align: center;
	font-size: 1.125rem;
	border-color: #808080;
	padding: 5px;
}

.delay-date {
	font-size: 1.125rem;
}

.delay-signature {
	display: block;
	font-size: 1.125rem;
	width: 100%;
	text-align: right;
	margin-top: 1em;
	padding-bottom: 0 !important;
}

@media print {
	.delay-date {
		font-size: 1.125rem;
	}

	.delay-signature {
		display: block;
	}
}

/** おしらせ */
.notice {
	margin: 10px 0;
	padding: 10px;
	border: 1px solid #9A3209;
  color: #9A3209;
  background-color: #fffae8;
}
.notice span {
	font-weight: bold;
}
.notice>strong {
	font-weight: normal;
}


/** 緊急のおしらせ */
.emergency {
	margin: 10px 0;
	padding: 10px;
	border: 1px solid #CF0014;
	background-color: #fee7eb;
	color: #CF0014;
}
.emergency span {
	font-weight: bold;
}
.emergency>strong {
	font-weight: normal;
}