@charset "utf-8";

/* =======================================
Bus Liner CSS
2016.7.31 travision Inc.
=======================================*/

/*-------------------------------------------------
Default
-------------------------------------------------*/
body {
	width: 100%;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-webkit-font-feature-settings: 'halt' 1; // for Android 4.4
	font-feature-settings: 'halt' 1;
}
.wrapper {
	position: relative;
	font-family: 'Roboto',"Hiragino UD Sans F W3 JIS2004";
	font-size: 16px;
	line-height: 1.7;
	color: #383838;
}
img {
	vertical-align: bottom;
}
li,ul {
	list-style: none;
}
a, a:hover {
	color: #4c91b8;
	-webkit-transition: .2s linear;
	-moz-transition: .2s linear;
	-o-transition: .2s linear;
	-ms-transition: .2s linear;
	text-decoration: underline;
}
a:hover {
	text-decoration: none;
}
.none {
	display:none;
}

/*-------------------------------------------------
Default
-------------------------------------------------*/
@media print, screen and (min-width: 641px){
.container {
	position:relative;
	overflow:hidden;
	width:1000px;
	margin:0 auto 30px;
}
.sp {
	display: none;
}
}
@media print, screen and (max-width: 640px){
.container {
	position:relative;
	padding:10px;
	margin:120px auto 20px;
	z-index:0;
}
.pc{
	display: none;
}
}
/*-------------------------------------------------
Header Footer
-------------------------------------------------*/
@media print, screen and (min-width: 641px){
header {
	margin-bottom:30px;
	background:#4c91b8;
	font-family:'Roboto',"Hiragino UD Sans F W6 JIS2004";
    font-weight: 700;
	color:#fff;
}
header h1 {
	font-size:30px;
	line-height:1.2;
}
hgroup {
	position:relative;
	width:960px;
	margin:0 auto;
	padding:20px;
}
.logo {
	margin-bottom:20px;
}
.logo-en {
	margin-bottom:8px;
}
.lang a {
	display:block;
	position:absolute;
	top:20px;
	right:0;
	width:40px;
	height:40px;
	line-height:40px;
	font-size:12px;
	text-align:center;
	color:#4c91b8;
	background:#fff;
}
.lang a,
.lang a:hover {
	text-decoration:none;
}
.lang a:hover {
	background:#a4d9ff;
}
}

@media print, screen and (max-width: 640px){
header {
	position:fixed;
	top:0;
	left:0;
	z-index:10;
	width:100%;
	height:80px;
	background:#4c91b8;
	font-family:'Roboto',"Hiragino UD Sans F W6 JIS2004";
    font-weight: 700;
	color:#fff;
	-webkit-transform: translate3d(0,0px,200px);
	-moz-transform: translate3d(0,0px,200px);
	-o-transform: translate3d(0,0px,200px);
	transform: translate3d(0,0px,200px);
}
header h1 {
	font-size:15px;
	line-height:1.2;
}
header h1.h1-en {
	font-size:15px;
	line-height:1.2;
}
header .date-en {
	font-size:12px;
}
hgroup {
	position:relative;
	padding:10px;
	-webkit-transform: translate3d(0,0px,200px);
	-moz-transform: translate3d(0,0px,200px);
	-o-transform: translate3d(0,0px,200px);
	transform: translate3d(0,0px,200px);
	z-index:10;
}
.logo,
.logo-en {
	margin-bottom:8px;
	line-height:1;
	font-size:0;
}
.logo-en {
	margin-bottom:5px;
}
.logo img {
	width:auto;
	height:16px;
	vertical-align:top;
}
.logo-en img {
	width:auto;
	height:10px;
	vertical-align:top;
}
.lang a {
	display:block;
	position:absolute;
	top:10px;
	right:60px;
	width:40px;
	height:40px;
	line-height:40px;
	font-size:14px;
	text-align:center;
	color:#4c91b8;
	background:#fff;
}
.lang a {
	text-decoration:none;
}
.menu {
	position:absolute;
	top:10px;
	right:10px;
	cursor:pointer;
}
}

footer {
	padding:10px 0;
	background:#4c91b8;
	text-align:center;
	font-size:10px;
	font-family:Helvetica;
	color:#fff;
}

/*-------------------------------------------------
info
-------------------------------------------------*/
@media print, screen and (min-width: 641px){
.info-area {
	overflow:hidden;
	width:958px;
	padding:20px 20px 10px 20px;
	margin:0 auto 30px;
	border:1px solid #4c91b8;
	font-size:15px;
}
.info-area dt {
	clear:both;
	float:left;
	color: #4c91b8;
	width:110px;
	font-family: 'Roboto',"Hiragino UD Sans F W6 JIS2004";
    font-weight: 700;
	padding-bottom:10px;
}
.info-area dd {
	float:left;
	width:840px;
	padding-bottom:10px;
}
}

@media print, screen and (max-width: 640px){
.info-area {
	padding:10px 10px 0 10px;
	margin:0 auto 10px;
	border:1px solid #4c91b8;
	font-size:15px;
}
.info-area dt {
	color: #4c91b8;
	font-family: 'Roboto',"Hiragino UD Sans F W6 JIS2004";
    font-weight: 700;
	margin-bottom:5px;
}
.info-area dd {
	margin-bottom:10px;
}
}

/*-------------------------------------------------
Nav
-------------------------------------------------*/
@media print, screen and (min-width: 641px){
nav {
	float:left;
	width:248px;
	border-right:1px solid #4c91b8;
	border-left:1px solid #4c91b8;
	border-bottom:1px solid #4c91b8;
	font-family: 'Roboto',"Hiragino UD Sans F W5 JIS2004";
	text-align:left;
	color:#000;
}
nav h2,
.map-area h2 {
	height:40px;
	line-height:40px;
	font-size:17px;
	text-indent:1em;
	background:#4c91b8;
	color:#fff;
	font-family: 'Roboto',"Hiragino UD Sans F W5 JIS2004";
}

nav li a {
    display: block;
    height: auto;
    border-bottom:1px solid #4c91b8;
    line-height: 1.8em;
    font-size: 15px;
    background: url(../img/nav_arrow.png) right center no-repeat;
    background-size: 17px auto;
    padding: 8px 24px 8px 15px;
}


nav li a,
nav li a:hover {
	text-decoration:none;
	color:#4c91b8;
}
nav li a:hover {
	background: url(../img/nav_arrow.png) right center no-repeat #a4d9ff;
	background-size: 17px auto;
}
nav .text-box {
	padding:15px;
	font-size:12px;
	/*font-size:14px;*/
	font-family: 'Roboto',"Hiragino UD Sans F W3 JIS2004";
}
nav .text-box p {
	margin-bottom:10px;
}
nav .text-box p strong {
	font-family: 'Roboto',"Hiragino UD Sans F W6 JIS2004";
    font-weight: 700;
}
nav .text-box p:last-child {
	margin:0;
}
}

@media print, screen and (max-width: 640px){
nav {
	width:100%;
	font-family: 'Roboto',"Hiragino UD Sans F W5 JIS2004";
	text-align:left;
	color:#000;
	background:#fff;
	border-top:1px solid #fff;
	border-bottom:1px solid #4c91b8;
}
nav h2,
.map-area h2 {
	height:40px;
	line-height:40px;
	font-size:17px;
	text-indent:1em;
	background:#4c91b8;
	color:#fff;
	font-family: 'Roboto',"Hiragino UD Sans F W5 JIS2004";
}
nav li a {
	display:block;
	height:50px;
	border-bottom:1px solid #4c91b8;
	line-height:50px;
	text-indent:1em;
	font-size:15px;
	background: url(../img/nav_arrow.png) right center no-repeat;
	background-size: 17px auto;
	text-decoration:none;
	color:#4c91b8;
}
nav .text-box {
	padding:10px;
	font-size:13px;
	font-family: 'Roboto',"Hiragino UD Sans F W3 JIS2004";
}
nav .text-box p {
	margin-bottom:6px;
}
nav .text-box p:last-child {
	margin:0;
}
.drawer {
  position:fixed;
	top:80px;
	left:0;
	width:100%;
	-webkit-transform: translate3d(0, -800px, 0);
	-moz-transform: translate3d(0, -800px, 0);
	-o-transform: translate3d(0, -800px, 0);
	transform: translate3d(0, -800px, 0);
	-webkit-transition:-webkit-transform 0.25s linear;
	-moz-transition:-moz-transform 0.25s linear;
	-o-transition:-o-transform 0.25s linear;
	transition:transform 0.25s linear;
	z-index:20;
}
.drawer.active {
    position:fixed;
	top:120px;
	left:0;
	-webkit-transform: translate3d(0,0px,0);
	-moz-transform: translate3d(0,0px,0);
	-o-transform: translate3d(0,0px,0);
	transform: translate3d(0,0px,0);
}
}
/*-------------------------------------------------
MAP
-------------------------------------------------*/
@media print, screen and (min-width: 641px){
.main-area {
	float:right;
	width:700px;
}
.map-area {
	margin-bottom:50px;
	border-left:5px solid #4c91b8;
	border-right:5px solid #4c91b8;
	border-bottom:5px solid #4c91b8;
}
.map-box {
	position:relative;
	width:690px;
	height:494px;
}
}

@media print, screen and (max-width: 640px){
.map-area {
	margin-bottom:15px;
	border-left:2px solid #4c91b8;
	border-right:2px solid #4c91b8;
	border-bottom:2px solid #4c91b8;
}
.map-box {
	position:relative;
	overflow-x:scroll;
	width:100%;
	margin:0 auto;
}
}

.map-box p {
	position:absolute;
}
.map-box p.places {
	cursor:pointer;
	z-index:10;
}
.map-box p.places img {
	display:block;
}
.map-box p.places img:hover {
	opacity:0;
}
.map-box p.niseko {
	top:266px;
	left:32px;
	background:url(../img/map_niseko_on.png) no-repeat;
}
.map-box p.rusutsu {
	top:390px;
	left:63px;
	background:url(../img/map_rusutsu_on.png) no-repeat;
}
.map-box p.shiraoi {
    top: 420px;
    left: 220px;
	background:url(../img/map_shiraoi_on.png) no-repeat;
}
.map-box p.sapporo {
	top:218px;
	left:150px;
	background:url(../img/map_sapporo_on.png) no-repeat;
}.map-box p.sapporo2 {
	top:218px;
	left:150px;
	background:url(../img/map_sapporo2_on.png) no-repeat;
}
.map-box p.chitose {
	top:360px;
	left:187px;
	background:url(../img/map_chitose_on.png) no-repeat;
}
.map-box p.furano {
	top:165px;
	left:273px;
	background:url(../img/map_furano_on.png) no-repeat;
}
.map-box p.asahikawa {
	top:103px;
	left:305px;
	background:url(../img/map_asahikawa_on.png) no-repeat;
}
.map-box p.asahiyama {
	top:44px;
	left:489px;
	background:url(../img/map_asahiyama_on.png) no-repeat;
}
.map-box p.obihiro {
	top: 343px;
    left: 490px;
	background:url(../img/map_obihiro2_on.png) no-repeat;
}
.map-box p.sahoro {
	top:206px;
	left:532px;
	background:url(../img/map_sahoro_on.png) no-repeat;
}
.map-box p.grand {
	top:25px;
	left:256px;
	background:url(../img/map_grand_on.png) no-repeat;
}
.map-box p.l-niseko,
.map-box p.l-sapporo,
.map-box p.l-chitose,
.map-box p.l-asahiyama,
.map-box p.l-obihiro,
.map-box p.l-shiraoi,
.map-box p.l-sahoro {
	display:none;
	z-index:0;
}
.map-box p.l-niseko {
	top:249px;
	left:61px;
}
.map-box p.l-sapporo {
	top:249px;
	left:203px;
}
.map-box p.l-chitose {
	top:248px;
	left:269px;
}
.map-box p.l-asahiyama {
	top:61px;
	left:409px;
}
.map-box p.l-obihiro {
	top:215px;
	left:450px;
}
.map-box p.l-sahoro {
	top:215px;
	left:450px;
}
.map-box p.l-shiraoi {
    top: 243px;
    left: 194px;
}
/*-------------------------------------------------
liner
-------------------------------------------------*/
@media print, screen and (min-width: 641px){
.line-box {
	margin-bottom:50px;
}
.line-area {
	margin-bottom:50px;
}
.line-area h2 {
    line-height: 50px;
    font-size: 22px;
    padding: 10px 20px;
    height: auto;
    line-height: 1.3;
    background: #4c91b8;
    color: #fff;
    font-family: 'Roboto',"Hiragino UD Sans F W6 JIS2004";
    font-weight: 700;
    margin-bottom: 30px;
}
.line-box {
	overflow:hidden;
	padding-bottom:30px;
	margin-bottom:30px;
	border-bottom:1px solid #4c91b8;
}
.line-box h3 {
	font-size:20px;
	font-family: 'Roboto',"Hiragino UD Sans F W5 JIS2004";
    font-weight: 700;
	margin-bottom:10px;
}
.line-box .icons {
	overflow:hidden;
	font-size:12px;
	margin-bottom:15px;
}
.line-box .icons li {
	float:left;
	padding-left:24px;
	margin-right:24px;
	height:18px;
	line-height:18px;
}
.line-box .icons .dp {
	background:url(../img/icon_red.png) left center no-repeat;
}
.line-box .icons .rs {
	background:url(../img/icon_gray.png) left center no-repeat;
}
.line-box .icons .ar {
	background:url(../img/icon_blue.png) left center no-repeat;
}
  .line-box .icons .ss {
	background:url(../img/icon_green.png) left center no-repeat;
}
.line-box .table-fix {
	float:left;
	width:33%;
}
.line-box .table-fix table {
	box-sizing:border-box;
	width:100%;
	border-right:1px solid #bcbcbc;
}
.line-box .table-scroll table,
.line-box .table-scroll table.full {
	width:100%;
}
	
.line-box .table-scroll {
	float:left;
	width:67%;
	/*overflow-y:auto;*/
}
.line-box table {
	border-collapse: collapse;
	border-spacing:0;
	border:0;
	font-size:12px;
	box-sizing:border-box;
}
.line-box th, .line-box td {
	margin:0;
	padding:10px 8px;
	text-align:center;
	vertical-align:middle;
}
.line-box td {
	border-right:1px solid #bcbcbc;
	border-bottom:1px solid #bcbcbc;
}
.line-box th {
	background:#4e4e4e;
	text-align:center;
	font-family: 'Roboto',"Hiragino UD Sans F W6 JIS2004";
    font-weight: 700;
	color:#fff;
	padding: 12px 0px;
}
.line-box th.mark {
	width:20%;
}
.line-box th.l-name {
	width:80%;
}
.line-box td.l-name {
	width:80%;
	text-align:left;
}
.line-box tr {
	background:#e0e0e0;
}
.line-box tr.l-place td {
	background:#fff;
	text-align:left;
	font-family: 'Roboto',"Hiragino UD Sans F W6 JIS2004";
    font-weight: 700;
}
.line-box tr.l-norikae td {
	background:#4e4e4e;
	text-align:center;
	font-family: 'Roboto',"Hiragino UD Sans F W6 JIS2004";
    font-weight: 700;
	color:#fff;
}
.line-box tr:nth-child(even) {
	background:#f0f0f0;
}
.price-box {
	overflow:hidden;
	clear:both;
	margin-bottom:20px;
}
.attention {
	clear:both;
	font-size:13px;
	padding-bottom:20px;
}
.price-box .price-text {
	clear:both;
	float:left;
	width:420px;
	font-family: 'Roboto',"Hiragino UD Sans F W6 JIS2004";
    font-weight: 700;
}
.price-box .price-text .p-name {
	font-size:18px;
	margin-bottom:10px;
}
.price-box .price-text .p-fee {
	color:#ff0000;
}
.price-box .price-text .p-fee span {
	font-size:22px;
}
.price-btn-close {
	float:right;
	height:50px;
	line-height:50px;
	width:220px;
	margin-top:15px;
	border-radius:4px;
	text-align:center;
	font-size:14px;
	background:#666;
	color:#fff;
	background-size: 19px auto;
}
.price-btn a {
	display:block;
	float:right;
	height:50px;
	line-height:50px;
	width:220px;
	margin-top:15px;
	border-radius:4px;
	text-align:center;
	font-size:14px;
	background: url(../img/btn_arrow.png) right center no-repeat #c51d02;
	background-size: 19px auto;
}
.price-btn a,
.price-btn a:hover {
	text-decoration:none;
	color:#fff;
}
.price-btn a:hover {
	background: url(../img/btn_arrow.png) right center no-repeat #222;
	background-size: 19px auto;
}
footer {
	padding:10px 0;
	background:#4c91b8;
	text-align:center;
	font-size:10px;
	font-family:Helvetica;
	color:#fff;
}
.fixing {
  position: fixed;
  top: 20px;
}
}

@media print, screen and (max-width: 640px){
article {
	clear:both;
}
.line-box {
	margin-bottom:15px;
}
.line-area {
	margin-bottom:15px;
}
.line-area h2 {
	padding:6px;
	font-size:16px;
	background:#4c91b8;
	color:#fff;
	font-family: 'Roboto',"Hiragino UD Sans F W6 JIS2004";
    font-weight: 700;
	margin-bottom:10px;
	line-height:1.2;
}
.line-box {
	overflow:hidden;
	padding-bottom:20px;
	margin-bottom:20px;
	border-bottom:1px solid #4c91b8;
}
.line-box h3 {
	font-size:14px;
	font-family: 'Roboto',"Hiragino UD Sans F W5 JIS2004";
    font-weight: 700;
	margin-bottom:6px;
}
.line-box .icons {
	overflow:hidden;
	font-size:12px;
	margin-bottom:10px;
}
.line-box .icons li {
	float:left;
	padding-left:24px;
	margin-right:24px;
	height:18px;
	line-height:18px;
}
.line-box .icons .dp {
	background:url(../img/icon_red.png) left center no-repeat;
}
.line-box .icons .rs {
	background:url(../img/icon_gray.png) left center no-repeat;
}
.line-box .icons .ar {
	background:url(../img/icon_blue.png) left center no-repeat;
}
.line-box .table-fix {
	float:left;
	width:60%;
}
.line-box .table-fix table {
	box-sizing:border-box;
	width:100%;
	border-right:1px solid #bcbcbc;
}
.line-box .table-scroll {
	position:relative;
}
.line-box .pointer {
	position:absolute;
	top:110px;
	right:10px;
	z-index:100;
	opacity:0.4;
}
.line-box .table-scroll table {
	box-sizing:border-box;
	width:100%;
}
.line-box .table-scroll table.full {
	width:300%;
}
  .line-box .table-scroll table.full2 {
	width:400%;
}
  .line-box .full2 th {
    text-align: left;
  }
  .line-box .full2 td {
    text-align: left;
  }
.line-box .table-scroll {
	float:left;
	width:40%;
	overflow-y:auto;
	overflow-x:visible;
}
.line-box table {
	border-collapse: collapse;
	border-spacing:0;
	border:0;
	font-size:12px;
}
.line-box table img {
	width:12px;
	height:auto;
	line-height:1;
	font-size:0;
	vertical-align:middle;
}
.line-box th, .line-box td {
	margin:0;
	padding:4px 5px;
	text-align:center;
	vertical-align:middle;
}
.line-box td {
	border-right:1px solid #bcbcbc;
	border-bottom:1px solid #bcbcbc;
}
.line-box th {
	background:#4e4e4e;
	text-align:center;
	font-family: 'Roboto',"Hiragino UD Sans F W6 JIS2004";
    font-weight: 700;
	color:#fff;
}
.line-box td.l-name {
	text-align:left;
}
.line-box tr {
	background:#e0e0e0;
}
.line-box tr.l-place td {
	background:#fff;
	text-align:left;
	font-family: 'Roboto',"Hiragino UD Sans F W6 JIS2004";
    font-weight: 700;
}
.line-box tr.l-norikae td {
	background:#4e4e4e;
	text-align:center;
	font-family: 'Roboto',"Hiragino UD Sans F W6 JIS2004";
    font-weight: 700;
	color:#fff;
}
.line-box tr:nth-child(even) {
	background:#f0f0f0;
}
.price-box {
	overflow:hidden;
	clear:both;
	margin-bottom:25px;
}
.attention {
	clear:both;
	font-size:12px;
	padding-bottom:10px;
}
.price-box .price-text {
	font-family: 'Roboto',"Hiragino UD Sans F W6 JIS2004";
    font-weight: 700;
}
.price-box .price-text .p-name {
	font-size:15px;
	margin-bottom:10px;
}
.price-box .price-text .p-fee {
	color:#ff0000;
	margin-bottom:10px;
}
.price-box .price-text .p-fee span {
	font-size:18px;
}
.price-btn-close {
	display:block;
	height:50px;
	line-height:50px;
	width:200px;
	margin: 0 auto;
	border-radius:4px;
	text-align:center;
	font-size:14px;
	background:#666;
	background-size: 19px auto;
	text-decoration:none;
	color:#fff;
}
.price-btn a {
	display:block;
	height:50px;
	line-height:50px;
	width:200px;
	margin: 0 auto;
	border-radius:4px;
	text-align:center;
	font-size:14px;
	background: url(../img/btn_arrow.png) right center no-repeat #c51d02;
	background-size: 19px auto;
	text-decoration:none;
	color:#fff;
}
}