/* ------------------------------------
	タイトル
--------------------------------------- */
article#express_wrapper{
	width: 100%;
}
#express_wrapper > #express_title{
	margin-top: 30px;
	padding: 20px;
	background: #FFF;
	border-radius: 10px;
	-webkit-filter: drop-shadow(0px 3px 3px rgba(0,0,0,.3));
	filter: drop-shadow(0px 0px 3px rgba(0,0,0,.3));
}
#express_title figure{
	width: calc(100% - 370px);
	margin-right: 20px;
}
#express_title #express_text{
	width: 350px;
	font-size: 16px;
	font-size: 16rem;
}
#express_title ul#short_link{
	width: 100%;
	margin-top: 20px;
	padding-top: 10px;
	list-style-type: disc;
	border-top: 1px dotted #CCC;
	-ms-flex-pack: distribute;
	justify-content: space-around;
}
ul#short_link li{
	margin-left: 2em;
	font-size: 16px;
	font-size: 16rem;
}

/* ------------------------------------
	バスルート
--------------------------------------- */
.busroot_wrapper{
	width: 100%;
	margin-top: 50px;
}
.busroot_wrapper section.busroot{
	width: 100%;
	margin-top: 20px;
	padding: 40px;
	background: #FFF;
}
.busroot .sch{
	width: 47%;
	margin-right: 3%;
}
.busroot .dep{ width: 50%; }
.dep .connect,
.dep .arrive{
	margin-top: 20px;
}
.busroot table{
	margin-bottom: 5px;
	width: 100%;
	text-align:center;
	border: 1px solid #CCC;
}
.busroot table caption{
	padding: 5px 3px;
	font-size: 16px;
	font-size: 16rem;
	font-weight: bold;
	border: 1px solid #CCC;
	border-bottom: none;
}
.busroot table th,
.busroot table td{
	padding: 5px 3px;
	vertical-align: middle;
	border: 1px dotted #CCC;
}
.busroot table th{
	line-height: 1.0;
	font-size: 12px;
	font-size: 12rem;
	font-weight: normal;
	border: 1px solid #CCC;
	background: #F6F6F6;
}

.busroot table th.busstop{
	font-size: 14px;
	font-size: 14rem;
	line-height: 1.5;
	background: #FFF;
}
.busroot table td.time,
.main table td{
	white-space: nowrap;
}

.sch table caption{ color: #FFF; }
#akakura .sch table caption{ background: #FF3399; }
#hakuba .sch table caption{ background: #0066CC; }
.sch table th.rootname{
	line-height: 1.5;
	font-weight: bold;
	border: none;
}
#akakura .sch table th.rootname{ background: #FFC1E0; }
#hakuba .sch table th.rootname{ background: #B2D1F0; }
.sch table td.mark{ color:#3366FF; }
.dep table caption span{ color: #F00; }
.dep table th,
.dep table td{ border: 1px solid #CCC; }

.dep .main table caption{
	color: #FFF;
	background: #F00;
}
.dep .arrive table caption{ background: #FFC; }
.dep .arrive table th#tit{
	line-height: 1.2;
	font-size: 16px;
	font-size: 16rem;
	font-weight: bold;
	background: #FFC;
}
.dep .arrive table th#tit span{
	display: inline-block;
	color: #F00;
}
.dep .connect table caption{ background: #FCF; }
.dep p{
	margin-bottom: 5px;
	text-indent: -1em;
	padding-left: 1em;
}
.dep p strong{
	font-size: 16px;
	font-size: 16rem;
	font-weight: bold;
	color: #F00;
}

/* 申込みボタン
--------------------------------------- */
.busroot ul.order{
	width: 100%;
	margin-top: 30px;
	text-align: center;
	justify-content: center;
	-webkit-justify-content: center;
}
ul.order li{
	width: 32%;
	margin-left: 2%;
}
ul.order li:first-of-type{
	margin-left: 0;
}
ul.order li a{
	display: block;
	margin: 0 auto;
	padding: 10px 0px;
	font-size: 16px;
	font-size: 16rem;
	font-weight: bold;
	color: #FFF;
	border: 1px solid #FFF;
	border-radius: 5px;
	text-decoration: none;
}
ul.order li a span{
	display: block;
	width: max-content;
	margin: 0 auto 5px;
	padding: 3px 5px;
	color: #F00;
	background: #FF0;
	border-radius: 3px;
}
ul.order li a br{
	display: none;
}
.busroot_wrapper#akakura ul.order li a{ background: #FF3399; }
.busroot_wrapper#hakuba ul.order li a{ background: #0066CC; }
ul.order li a:hover{
	text-decoration: none;
	filter: alpha(opacity=60);
	-moz-opacity: 0.6;
	opacity: 0.6;
}

/* ---------------------------------------------------------
	レスポンシブ
--------------------------------------------------------- */
@media screen and (max-width: 1200px){
	ul.order li a br{
		display: block;
	}
}
@media screen and (max-width: 768px){
	#express_title figure{
		width: calc(100% - 320px)
	}
	#express_title #express_text{
		width: 300px;
	}
}
@media screen and (max-width: 736px){
	.busroot_wrapper section.busroot{
		padding: 20px;
	}
	#express_title figure,
	#express_title #express_text{
		width: 100%;
		margin: 0;
	}
	#express_title #express_text{
		margin-top: 20px;
	}
}
@media screen and (max-width: 568px){
	ul.order li a span{
		font-size: 12px;
		font-size: 12rem;
	}
	ul.order li a{
		font-size: 14px;
		font-size: 14rem;
	}
}
@media screen and (max-width: 568px){
	ul#short_link{
		display: block;
	}
	ul#short_link li:not(:first-of-type){
		margin-top: 10px;
	}
	.busroot .sch,
	.busroot .dep{
		width: 100%;
		margin: 0;
	}
	.busroot .dep .main{
		margin-top: 20px;
	}
	ul.order li{
		width: 100%;
		margin: 0;
	}
	ul.order li:not(:first-of-type){
		margin-top: 20px;
	}
	ul.order li a span{
		font-size: 14px;
		font-size: 14rem;
	}
	ul.order li a{
		font-size: 16px;
		font-size: 16rem;
	}
	ul.order li a br{
		display: none;
	}
}
@media screen and (max-width: 480px){
	.busroot_wrapper section.busroot{
		padding: 10px;
	}
}
