@charset "UTF-8";

/*検索結果*/
#maincol h1{
	padding:0.5em 1em;
	margin:0 0 1em;
	font-size:1.8rem;
	font-weight:bold;
}
#maincol h1 span{
	display: inline-block;
    margin:0 0.5em 0 0; 
}
#maincol h1 span small{
	/*background-color:rgba(232,239,236,1);
	border-radius:6px;
	font-size:65%;
	width: 2.75em;
	height: 2.75em;
	line-height: 2.75;
	display: inline-block;
    vertical-align: middle;
	text-align: center;*/
    letter-spacing: 0;
    margin:0 0.25em 0.25em 0;
	color:#333;
}
#maincol h1 span.josha:after{
	content:'→';
    margin:0 0 0 0.5em; 
}

#route_link h2{
}

h2.title_norikae {
	line-height:2;
}
.title_norikae{
}

.title_norikae span{
	font-size:80%;
	font-weight:normal;
}
.title_norikae span:first-child,
.title_norikae span:last-child{
	font-size:100%;
	font-weight:bold;
}
.title_norikae span.norikae_hatsu:after,
.title_norikae span.norikae_keiyu:after{
	font-size:12px;
	font-weight:normal;
	content:' → ';
}
.title_norikae span:after{
	font-size:80%;
	font-weight:normal;
	content:'';
}
.title_norikae span.hatsu:after{
	content:'発 → ';
}
.title_norikae span.chaku:after{
	content:'着';
}
.title_norikae span.keiyu{
    position: relative;
    display: inline-block;
    background-color: rgba(0,0,0,0);
}
.title_norikae span.keiyu:after{
	content:' → ';
}
.title_norikae span.keiyu:before{
	content: 'のりかえ';
	text-align: center;
	display: block;
	width: 5em;
	position: absolute;
	top: -1.2em;
	left: 40%;
	-webkit- transform: translateY(0%) translateX(-60%);
	transform: translateY(0%) translateX(-60%);
	font-size: 9px;
	box-sizing: border-box;
	background-color: rgba(227,92,95,1.00);
	color: #FFF;
	letter-spacing: 0px;
	line-height:1;
	padding:3px 0;
}

.gokeiunchin{
}
.gokeiunchin .unchin{
	font-size:150%;
	font-weight:bold;
	display:inline-block;
	margin:0 0.25em;
	padding:0 0.25em;
	line-height:1;
	border-bottom:solid 1px rgba(62,91,169,1.00);
}
.gokeiunchin .unchin:after{
}


.jikoku_table{
	border-collapse: collapse;
	border:0;
	width:100%;
	margin-bottom:1em;
}
.jikoku_table thead{
	background-color: rgba(235,235,235,1.00);
}
.jikoku_table thead td{
	text-align:center;
}
.jikoku_table td{
	text-align:left;
	padding:3px 5px;
	vertical-align:top;
}
.jikoku_tr{
	background-color: rgba(255,255,255,1.00);
	padding: 5px 5px;
}
.jikoku_tr:nth-of-type(2n){
	background-color: rgba(250,250,250,1.00);
}

.jikoku_table td.jikoku_hatsu{
	white-space:nowrap;
	text-align:center;
	position:relative;
	padding-right:1.2em;
	width:4em;
}
.jikoku_table td.jikoku_chaku{
	text-align:center;
	width:4em;
}
.jikoku_table td.jikoku_unchin{
	white-space:nowrap;
	text-align:center;
}
.jikoku_table tbody td.jikoku_ikisaki,
.jikoku_table tbody td.jikoku_route_name{
	font-size:80%;
	white-space:normal;
	vertical-align:top;
	min-width:6em;
}
.jikoku_table td.jikoku_ikisaki div{
	min-width:4em;
}

.jikoku_table td.jikoku_hatsu:after{
	content:'→';
	font-size:80%;
	display:block;
	position:absolute;
	top:0.3em;
	right:0;
}
.jikoku_table td.jikoku_chaku:after{
}
.jikoku_table tbody td.jikoku_unchin:after{
	content:'円';
	font-size:80%;
}
/*
.jikoku_table td.jikoku_ikisaki:after{
	content:'行き';
	font-size:80%;
}
*/

.kukan_unchin{
	background-color:rgba(0,0,0,0);
}
.kukan_unchin p{
	margin: 1em 0;
}

ruby{
}
rt{
	font-weight:normal;
	font-size:40%;
}
.yobi{
	background-color:#666;
	border-radius:.25em;
	padding:0.2em 0.5em 0.1em;;
	margin:-0.2em 1em 0;
	line-height:1.3em;
	color:#FFF;
	font-weight:bold;
	font-size:90%;
}
.yobi_wek{
}
.yobi_sat{
	background-color:#369;
}
.yobi_sun{
	background-color:#936;
}
.yobi_special{
	background-color:#C00;
}

.teiki_unchin{
	padding:1em 0;
}
table.teiki{
	margin:0;
}
table.teiki th,
table.teiki td{
	text-align:center;
}
table.teiki thead th,
table.teiki thead td{
	background-color:#EEE;
}
table.teiki tbody th{
	background-color:#F8F8F8;
}
table.teiki thead th,
table.teiki tbody td{
}


/* スマホ */
@media screen and (max-width: 767px) {
	.kukan_unchin{
		padding:0 5%;
	}
	.jikoku_table{
		width:100%;
	}
}

/* タブレット縦 */
@media screen and (min-width: 768px){
	.kukan_unchin{
		padding:0 5%;
	}
}

/* PC */
@media screen and (min-width: 960px) {
	.jikoku_route{
		display:flex;
		flex-wrap:no-wrap;
		justify-content:flex-start;
		align-items: flex-start;
		margin: auto;
		padding:0 0;
	}
	.jikoku_route_norikae{
	}
	.jikoku_route_norikae div.kukan_unchin{
	}
	#maincol .jikoku_route h3{
		font-size:1.3em;
	}
	.kukan_unchin{
		max-width:650px;
		margin:0 0.5%;
		flex-grow: 2;
		padding:0 0;
	}
}



/*検索*/
.kensakuform{
	display: flex;
	justify-content: space-between;
	align-items:flex-start;
	margin-bottom:40px;
}

.kensakuform p.input_busstop{
    padding: 0px;
    display: flex;
    margin: 0 0 20px;
	border-radius:5px;
	box-shadow:2px 2px 6px rgba(100,100,100,0.6);
	background-color: rgba(255,255,255,1);
}
.kensakuform .input_busstop strong{
	background-color: rgba(12,170,95,1);
	border-radius:5px 0 0 5px;
	color: #FFF;
	display: flex;
	align-items:center;
	text-align: center;
	padding:0 0.5em;
}

.kensakuform p.input_busstop_focus strong{
	background-color: rgba(250,45,100,1);
}
.kensakuform p.input_busstop strong{
}
.kensakuform div.input_busstop strong{
	background-image: linear-gradient(90deg, rgba(37,151,141,1), rgba(3,167,120,1) 70%);
	border-radius:5px;
	padding:14px 20px;
	box-shadow:2px 2px 6px rgba(100,100,100,0.6);
    margin: 0 10px 20px;
}

.kensakuform p.input_busstop input[type=text],
.kensakuform p.input_busstop span{
	box-sizing:border-box;
	margin:0;
    background-color: transparent;
    flex-grow: 2;
    outline: none;
	border-radius:0 5px 5px 0;
	padding:15px;
	width:200px;
}
.kensakuform p.input_busstop input[type=text]:focus{
	box-shadow: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}


.kensakuform .select_yobi{
	overflow: hidden;
	text-align: center;
    display: inline-block;
	position: relative;
	background-color: rgba(255,255,255,1.00);
	border:solid 1px rgba(12,170,95,1);
	border-radius:6px;
	box-shadow:2px 2px 6px rgba(100,100,100,0.6);
	padding:0;
	color: rgba(42,76,61,1);
}

.kensakuform p.input_busstop span{
	border:solid 1px rgba(12,170,95,1);
}
.kensakuform .select_yobi select {
	cursor: pointer;
	text-overflow: ellipsis;
	border: none;
	outline: none;
	background: transparent;
	background-image: none;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
	padding:15px 38px 15px 8px;
	font-size: 16px;
}
.kensakuform .select_yobi select::-ms-expand {
    display: none;
}
.kensakuform .select_yobi::before {
	position: absolute;
	top: 45%;
	right: 15%;
	width: 0;
	height: 0;
	padding: 0;
	content: '';
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-top: 6px solid rgba(12,170,95,1);
	pointer-events: none;
}

.kensakuform span select{
}

.kensakuform .radio_yobi{
	margin:0 2%;
}
.kensakuform .radio_yobi label.radio {
	display:block;
	margin:0 10px 15px;
	white-space:nowrap;
}

.kensakuform .input_group{
	background-color:rgba(245,255,250,1);
    margin: 0 0 20px;
}
.kensakuform .input_group nav{
	margin:1em 15px;
}
.kensakuform .input_group nav p{
	display:flex;
	flex-wrap:wrap;
	justify-content: space-between;
	align-items: center;
}
.kensakuform .input_group nav.yomi_index .linkbtn a,
.kensakuform .input_group nav.rosenzukara .linkbtn a{
	padding:0 0.25em;
	margin:0 0;
}
.input_fix{
	background-color: rgba(12,170,95,0.5) !important;
}
.input_fix input{
	color:#FFF !important;
}

div.kensakuform_yobi{
	width:auto;
	justify-content: start;
	align-items: center;

}
div.kensakuform_yobi div{
}
div.kensakuform_text{
	display:table-cell;
	vertical-align:middle;
	font-weight:bold;
	margin:0 0.5em 0 0;
}
div.kensakuform_yobi .submitbtn{
}
label a{
	cursor:pointer;
}
.yomi_list label a{
	display:inline-block;
	margin:0 1em 0.25em;
}
.yomi_list label a:hover{
	text-decoration:underline;
}

#routemapdiv{
	padding:0;
	border:solid 1px #DDD;
}
#routemapdiv img{
	max-width:none;
}
#rosenmap{
	padding-top:0px;
}
area:hover{
	cursor:pointer;
}

#form_hatsu,#form_chaku,#form_yobi,#form_submit{
	display:inline-block;
	margin-right:0.5em
}
#name_hatsu,#name_chaku{
	display:inline-block;
	width:9em;
	border:1px solid #CCC;
	padding:0 0.3em;
	overflow:hidden;
}

#routemapdivbox{
	position:relative;
}


/*sp*/
@media screen and (max-width:767px) {
	.kensakuform{
		flex-wrap: wrap;
		justify-content:center;
		align-items: center;
	}
	.kensakuform p.input_busstop{
		width: 100%;
	}
	.kensakuform div.input_busstop strong{
		transform: rotate(90deg);
	}

	.kensakuform .radio_yobi label.radio {
		display:inline-block;
		margin:15px 10px 5px 0;
	}
	.kensakuform .input_group{
		width:100%;
	}

}
/*タブレット・pc*/
@media screen and (min-width:768px) {
	.kensakuform .input_group{
	}
}
/* PC */
@media screen and (min-width: 960px) {
	.kensakuform .input_group{
	}
}




/*sp*/
@media screen and (max-width:480px) {
	.kensakuform .input_group{
		width:100%;
		margin-bottom:1em;
	}
}
/*タブレット・pc*/
@media screen and (min-width:481px) {
	.kensakuform .input_group{
		width:100%;
		margin-bottom:1em;
	}
}


#routemapdiv{
	overflow:hidden;
	overflow:scroll;
	max-height:95vh !important;
}
#routemapimg{
	height:auto;
	width:4500px;
	min-width:none !important;
	max-width:none !important;
}
/*
@media screen and (max-width:480px) {
	#routemapimg{
		width:4500px;
	}
}
@media screen and (min-width:481px) {
	#routemapimg{
		width:4500px;
	}
}
@media screen and (min-width:768px) {
	#routemapimg{
		width:4500px;
	}
}
@media screen and (min-width:968px) {
	#routemapimg{
		width:4500px;
	}
}
*/