@charset "utf-8";

/* body */
h2{
	margin-top:155px;
	display:flex;
	-js-display:flex;
	display:-webkit-flex;
	-webkit-justify-content: center;
	justify-content: center;
	flex-flow: row nowrap;
	-webkit-flex-flow: row nowrap;
	align-items: center;
	-webkit-align-items: center;
	width:100%;
	background: transparent url("../img/page_ttl_bg.jpg") no-repeat scroll center center;
	background-size:cover;
}

#access .nav{
	padding-top:40px;
	margin:0 auto 60px;
	text-align:center;
	display:flex;
	-js-display:flex;
	display:-webkit-flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	flex-flow: row nowrap;
	-webkit-flex-flow: row nowrap;
	align-items: stretch;
	-webkit-align-items: stretch;
	width:100%;
}
#access .nav li{
	width:320px;
}

#access section{
	background: #f6f1d6;
	background: -moz-linear-gradient(top, #f6f1d6 0%, #fefdf9 100%);
	background: -webkit-linear-gradient(top, #f6f1d6 0%,#fefdf9 100%);
	background: linear-gradient(to bottom, #f6f1d6 0%,#fefdf9 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f6f1d6', endColorstr='#fefdf9',GradientType=0 );
	background-size:100% 300px;
	background-repeat:no-repeat;
	border-top:1px solid #bcbcbc;
}
#access section:first-child{
	border-top:none;
}
#access section .container{
	margin:0 auto;
	max-width:1000px;
	min-width:1000px;
}

section#areamap{
	padding:80px 0 60px;
}
section#areamap h3{
	margin-bottom:40px;
}
section#areamap ul{
	display:flex;
	-js-display:flex;
	display:-webkit-flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	flex-flow: row nowrap;
	-webkit-flex-flow: row nowrap;
	align-items: stretch;
	-webkit-align-items: stretch;
}
section#areamap #map_locate{
	text-align:center;
	overflow:hidden;
}
section#areamap #map_locate > div{
	overflow:hidden;
}
section#areamap .info{
	width:230px;
	margin-left:auto;
}
section#areamap .info .route{
	padding-bottom:35px;
	border-bottom:1px solid #bcbcbc;
	margin-bottom:35px;
}
section#areamap .info .route h4{
	margin-bottom:15px;
}
section#areamap .info .route h4:after{
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	border: 1px solid #3379c3;
	background-color: #00b3fd;
	content:"";
	display:block;
	height:12px;
	width:100%;
	margin-top:20px;
}
section#areamap .info .site{
	font-size:18px;
	text-shadow:1px 1px 0 rgba(0,0,0,0.4);
}

section#route{
	padding:60px 0 100px;
}

#route_train{
	margin-bottom:60px;
}
#route_train .train{
	margin-bottom:20px;
}
#route_train .train:last-child{
	margin-bottom:0;
}
#route_train h4{
	margin-bottom:40px;
}
#route_train .train .ttl{
	margin-bottom:10px;
	line-height:100%;
}
#route_train .train ul{
	display:flex;
	-js-display:flex;
	display:-webkit-flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	flex-flow: row nowrap;
	-webkit-flex-flow: row nowrap;
	align-items: stretch;
	-webkit-align-items: stretch;
	position:relative;
}
#route_train .train ul:before{
	content:"";
	position:absolute;
	top:50%;
	width:100%;
	height:6px;
	margin-top:-3px;
	display:block;
	background-color:#bcbcbc;
	z-index:-1;
}
#route_train .train ul li{
	display:flex;
	-js-display:flex;
	display:-webkit-flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	flex-flow: row nowrap;
	-webkit-flex-flow: row nowrap;
	align-items: stretch;
	-webkit-align-items: stretch;
	height:70px;
}
#route_train .kyoto ul:nth-child(2){
	margin-bottom:10px;
}
#route_train .kyoto ul li:nth-child(1),
#route_train .osaka ul li:nth-child(1),
#route_train .okayama ul li:nth-child(1){
	width:360px;
}
#route_train .kyoto ul li:nth-child(1) .ex,
#route_train .osaka ul li:nth-child(1) .ex,
#route_train .okayama ul li:nth-child(1) .ex{
	width:240px;
}
#route_train .kyoto ul li:nth-child(2),
#route_train .osaka ul li:nth-child(2),
#route_train .okayama ul li:nth-child(2){
	width:300px;
}
#route_train .kyoto ul li:nth-child(2) .ex,
#route_train .osaka ul li:nth-child(2) .ex,
#route_train .okayama ul li:nth-child(2) .ex{
	width:180px;
}
#route_train .kyoto ul li:nth-child(3),
#route_train .osaka ul li:nth-child(3),
#route_train .okayama ul li:nth-child(3){
	width:220px;
}
#route_train .kyoto ul li:nth-child(3) .ex,
#route_train .osaka ul li:nth-child(3) .ex,
#route_train .okayama ul li:nth-child(3) .ex{
	width:100px;
}
#route_train .kobe ul li:nth-child(1),
#route_train .himeji ul li:nth-child(1){
	width:660px;
}
#route_train .kobe ul li:nth-child(1) .ex,
#route_train .himeji ul li:nth-child(1) .ex{
	width:540px;
}
#route_train .kobe ul li:nth-child(2),
#route_train .himeji ul li:nth-child(2){
	width:220px;
}
#route_train .kobe ul li:nth-child(2) .ex,
#route_train .himeji ul li:nth-child(2) .ex{
	width:100px;
}

#route_train .train .st{
	font-size:18px;
	background-color:#f5f1df;
	text-align:center;
	border:1px solid #bcbcbc;
	box-sizing:border-box;
	-webkit-box-sizing:border-box;
	width:120px;
	display:flex;
	-js-display:flex;
	display:-webkit-flex;
	align-items: center;
	-webkit-align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	color:#333;
}
#route_train .train .ex{
	text-align:center;
	letter-spacing:0;
}
#route_train .train .means{
	padding:6px 0;
}
#route_train .train .time{
	padding:6px 0;
}
#route_train .train .goal{
	font-size:18px;
	color:#fff;
	background-color:#195471;
	text-align:center;
	border:1px solid #bcbcbc;
	box-sizing:border-box;
	-webkit-box-sizing:border-box;
	width:120px;
	display:flex;
	-js-display:flex;
	display:-webkit-flex;
	align-items: center;
	-webkit-align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
}
#route_train > p{
	text-align:center;
	color:#ff0000;
	margin-top:20px;
	line-height:100%;
}
#route_train > .btn{
	margin:20px auto 0;
	width:350px;
}

#route_bus{
	margin-bottom:60px;
}
#route_bus h4{
	margin-bottom:40px;
}
#route_bus .osaka{
	margin-bottom:60px;
}
#route_bus .osaka > p{
	font-size:18px;
	line-height:100%;
	text-shadow:1px 1px 0 rgba(0,0,0,0.4);
	margin-bottom:20px;
}
#map_osaka{
	width:100%;
	height:620px;
	text-align: center;
	margin-bottom:40px;
	overflow:hidden;
}
#map_osaka > div{
	overflow:hidden;
}
#route_bus .osaka .route{
	display:flex;
	-js-display:flex;
	display:-webkit-flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	flex-flow: row wrap;
	-webkit-flex-flow: row wrap;
	align-items: stretch;
	-webkit-align-items: stretch;
	margin-bottom:40px;
}
#route_bus .osaka .route li{
	width:235px;
	margin-bottom:35px;
	margin-right:20px;
}
#route_bus .osaka .route li .ex{
	margin-top:10px;
	padding-left:40px;
	position:relative;
}
#route_bus .osaka .route li .ex:before{
	width:40px;
	height:100%;
	display:block;
	top:0;
	left:0;
	position:absolute;
	content:"";
}
#route_bus .osaka .route li:nth-child(1) .ex:before{
	background: transparent url("../img/map_ico01.png") no-repeat scroll 0 0;
}
#route_bus .osaka .route li:nth-child(2) .ex:before{
	background: transparent url("../img/map_ico02.png") no-repeat scroll 0 0;
}
#route_bus .osaka .route li:nth-child(3) .ex:before{
	background: transparent url("../img/map_ico03.png") no-repeat scroll 0 0;
}
#route_bus .osaka .route li:nth-child(4) .ex:before{
	background: transparent url("../img/map_ico04.png") no-repeat scroll 0 0;
}
#route_bus .osaka .route li:nth-child(5) .ex:before{
	background: transparent url("../img/map_ico05.png") no-repeat scroll 0 0;
}
#route_bus .osaka .route li:nth-child(6) .ex:before{
	background: transparent url("../img/map_ico06.png") no-repeat scroll 0 0;
}
#route_bus .osaka .route li:nth-child(7) .ex:before{
	background: transparent url("../img/map_ico07.png") no-repeat scroll 0 0;
}
#route_bus .osaka .route li:nth-child(8) .ex:before{
	background: transparent url("../img/map_ico08.png") no-repeat scroll 0 0;
}
#route_bus .osaka .route li:nth-child(9) .ex:before{
	background: transparent url("../img/map_ico09.png") no-repeat scroll 0 0;
}
#route_bus .osaka .route li:nth-child(10) .ex:before{
	background: transparent url("../img/map_ico10.png") no-repeat scroll 0 0;
}
#route_bus .osaka .route li:nth-child(11) .ex:before{
	background: transparent url("../img/map_ico11.png") no-repeat scroll 0 0;
}
#route_bus .osaka .route li:nth-child(4n){
	margin-right:0;
}
#route_bus .osaka .route li:nth-last-child(-n+3){
	margin-bottom:0;
}

#route_bus .osaka .case{
	display:flex;
	-js-display:flex;
	display:-webkit-flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	flex-flow: row nowrap;
	-webkit-flex-flow: row nowrap;
	align-items: stretch;
	-webkit-align-items: stretch;
}
#route_bus .osaka .case li{
	width:460px;
}
#route_bus .osaka .case li h5{
	border-bottom:1px solid #d6cb4c;
	padding-bottom:20px;
	margin-bottom:20px;
	line-height:100%;
	font-size:18px;
}
#route_bus .osaka .case li table{
	margin-bottom:40px;
}
#route_bus .osaka .case li table th{
	width:140px;
}
#route_bus .osaka .case li table td{
	background-color: transparent;
}

#route_bus .kobe > p{
	font-size:18px;
	line-height:100%;
	text-shadow:1px 1px 0 rgba(0,0,0,0.4);
	margin-bottom:20px;
}
#map_kobe{
	width:100%;
	height:620px;
	text-align: center;
	margin-bottom:40px;
	overflow:hidden;
}
#map_kobe > div{
	overflow:hidden;
}
#route_bus .kobe .route{
	display:flex;
	-js-display:flex;
	display:-webkit-flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	flex-flow: row wrap;
	-webkit-flex-flow: row wrap;
	align-items: stretch;
	-webkit-align-items: stretch;
	margin-bottom:40px;
}
#route_bus .kobe .route li{
	width:235px;
	margin-bottom:35px;
	margin-right:20px;
}
#route_bus .kobe .route li .ex{
	margin-top:10px;
	padding-left:40px;
	position:relative;
}
#route_bus .kobe .route li .ex:before{
	width:40px;
	height:100%;
	display:block;
	top:0;
	left:0;
	position:absolute;
	content:"";
}
#route_bus .kobe .route li:nth-child(1) .ex:before{
	background: transparent url("../img/map_ico01.png") no-repeat scroll 0 0;
}
#route_bus .kobe .route li:nth-child(2) .ex:before{
	background: transparent url("../img/map_ico02.png") no-repeat scroll 0 0;
}
#route_bus .kobe .route li:nth-child(3) .ex:before{
	background: transparent url("../img/map_ico03.png") no-repeat scroll 0 0;
}
#route_bus .kobe .route li:nth-child(4) .ex:before{
	background: transparent url("../img/map_ico04.png") no-repeat scroll 0 0;
}
#route_bus .kobe .route li:nth-child(5) .ex:before{
	background: transparent url("../img/map_ico05.png") no-repeat scroll 0 0;
}
#route_bus .kobe .route li:nth-child(4n){
	margin-right:0;
}
#route_bus .kobe .route li:nth-last-child(-n+1){
	margin-bottom:0;
}
#route_bus .kobe .case{
	display:flex;
	-js-display:flex;
	display:-webkit-flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	flex-flow: row nowrap;
	-webkit-flex-flow: row nowrap;
	align-items: stretch;
	-webkit-align-items: stretch;
}
#route_bus .kobe .case li{
	width:460px;
}
#route_bus .kobe .case li h5{
	border-bottom:1px solid #d6cb4c;
	padding-bottom:20px;
	margin-bottom:20px;
	line-height:100%;
	font-size:18px;
}
#route_bus .kobe .case li table{
	margin-bottom:40px;
}
#route_bus .kobe .case li table th{
	width:140px;
}
#route_bus .kobe .case li table td{
	background-color: transparent;
}
#route_bus .kobe .btn{
	width:460px;
	margin:0 auto;
}

#route_car h4{
	margin-bottom:40px;
}
#route_car .car{
	margin-bottom:20px;
}
#route_car .car:last-child{
	margin-bottom:0;
}
#route_car .car ul{
	display:flex;
	-js-display:flex;
	display:-webkit-flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	flex-flow: row nowrap;
	-webkit-flex-flow: row nowrap;
	align-items: stretch;
	-webkit-align-items: stretch;
	position:relative;
}
#route_car .car ul:before{
	content:"";
	position:absolute;
	top:50%;
	width:100%;
	height:6px;
	margin-top:-3px;
	display:block;
	background-color:#bcbcbc;
	z-index:-1;
}
#route_car .car ul li{
	display:flex;
	-js-display:flex;
	display:-webkit-flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	flex-flow: row nowrap;
	-webkit-flex-flow: row nowrap;
	align-items: stretch;
	-webkit-align-items: stretch;
	margin-right:15px;
	height:70px;
}
#route_car .car ul li:last-child{
	margin-right:0;
}
#route_car .car .start{
	font-size:18px;
	color:#fff;
	background-color:#796baf;
	text-align:center;
	border:1px solid #bcbcbc;
	box-sizing:border-box;
	-webkit-box-sizing:border-box;
	width:70px;
	display:flex;
	-js-display:flex;
	display:-webkit-flex;
	align-items: center;
	-webkit-align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
}
#route_car .car .road{
	background-color:#fff;
	text-align:center;
	border:1px solid #bcbcbc;
	box-sizing:border-box;
	-webkit-box-sizing:border-box;
	width:70px;
	display:flex;
	-js-display:flex;
	display:-webkit-flex;
	align-items: center;
	-webkit-align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	line-height: 1.4em;
	letter-spacing:0;
	color:#333;
}
#route_car .car .ic{
	background-color:#f5f1df;
	text-align:center;
	border:1px solid #bcbcbc;
	box-sizing:border-box;
	-webkit-box-sizing:border-box;
	width:70px;
	display:flex;
	-js-display:flex;
	display:-webkit-flex;
	align-items: center;
	-webkit-align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	line-height: 1.4em;
	letter-spacing:0;
	color:#333;
}
#route_car .car .goal{
	font-size:18px;
	color:#fff;
	background-color:#195471;
	text-align:center;
	border:1px solid #bcbcbc;
	box-sizing:border-box;
	-webkit-box-sizing:border-box;
	width:100px;
	display:flex;
	-js-display:flex;
	display:-webkit-flex;
	align-items: center;
	-webkit-align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
}
#route_car h4{
	margin-bottom:40px;
}
#route_car .car .ttl{
	margin-bottom:10px;
	line-height:100%;
}
#route_car .car .ex .means{
	height:50%;
	display:flex;
	-js-display:flex;
	display:-webkit-flex;
	align-items: center;
	-webkit-align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
}
#route_car .car:nth-child(2) li:nth-last-child(2) .road{
	width:120px;
	letter-spacing:0;
	text-align:center;
}
#route_car .car:nth-child(3) ul li:nth-child(1){
	margin-right:185px;
}
#route_car .car:nth-child(3) li:nth-last-child(2) .road{
	width:120px;
	letter-spacing:0;
	text-align:center;
}
#route_car .car:nth-child(4) ul li:nth-child(1){
	margin-right:185px;
}
#route_car .car:nth-child(4) li:nth-last-child(2) .road{
	width:120px;
	letter-spacing:0;
	text-align:center;
}
#route_car .car:nth-child(5) ul li:nth-child(2){
	margin-right:355px;
}
#route_car .car:nth-child(5) li:nth-last-child(2) .road{
	width:120px;
	letter-spacing:0;
	text-align:center;
}
#route_car .car:nth-child(6) ul li:nth-last-child(-n+7){
	margin-left:0;
	margin-right:0;
}
#route_car .car:nth-child(6) .turnR{
	border:1px solid #bcbcbc;
	background-color:#fff;
	-moz-border-radius: 30px;
	-webkit-border-radius: 30px;
	border-radius: 30px;
	margin:10px 0;
	width:50px;
	display:flex;
	-js-display:flex;
	display:-webkit-flex;
	align-items: center;
	-webkit-align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	box-sizing:border-box;
	-webkit-box-sizing:border-box;
	color:#333;
}
#route_car .car:nth-child(6) ul li:nth-last-child(6) .ex{
	width:205px;
	letter-spacing:0;
	text-align:center;
}
#route_car .car:nth-child(6) ul li:nth-last-child(4) .ex{
	width:75px;
	letter-spacing:0;
	text-align:center;
}
#route_car .car:nth-child(6) ul li:nth-last-child(2) .ex{
	width:110px;
	letter-spacing:0;
	text-align:center;
}

/* font-size */
.font-l section#areamap .info .site,
.font-l #route_train .train .st,
.font-l #route_train .train .goal,
.font-l #route_bus .osaka > p,
.font-l #route_bus .osaka .case li h5,
.font-l #route_bus .kobe > p,
.font-l #route_bus .kobe .case li h5,
.font-l #route_car .car .start,
.font-l #route_car .car .goal{
	font-size:20px;
}
.font-s section#areamap .info .site,
.font-s #route_train .train .st,
.font-s #route_train .train .goal,
.font-s #route_bus .osaka > p,
.font-s #route_bus .osaka .case li h5,
.font-s #route_bus .kobe > p,
.font-s #route_bus .kobe .case li h5,
.font-s #route_car .car .start,
.font-s #route_car .car .goal{
	font-size:16px;
}

/* background-color */
.bg-bl #route_bus .osaka .case li table td,
.bg-bl #route_bus .kobe .case li table td{
	color:#ffffff;
}
.bg-bl #access section{
	background: #3333BE;
	background: -moz-linear-gradient(top, #3333BE 0%, #00008b 100%);
	background: -webkit-linear-gradient(top, #3333BE 0%,#00008b 100%);
	background: linear-gradient(to bottom, #3333BE 0%,#00008b 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#3333BE', endColorstr='#00008b',GradientType=0 );
	background-size:100% 300px;
	background-repeat:no-repeat;
}
.bg-ye #route_bus .osaka .case li table td,
.bg-ye #route_bus .kobe .case li table td{
	color:#00008b;
}
.bg-ye #access section{
	background: #FFFF33;
	background: -moz-linear-gradient(top, #FFFF33 0%, #ffff00 100%);
	background: -webkit-linear-gradient(top, #FFFF33 0%,#ffff00 100%);
	background: linear-gradient(to bottom, #FFFF33 0%,#ffff00 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#FFFF33', endColorstr='#ffff00',GradientType=0 );
	background-size:100% 300px;
	background-repeat:no-repeat;
}
.bg-bk #route_bus .osaka .case li table td,
.bg-bk #route_bus .kobe .case li table td{
	color:#ffffff;
}
.bg-bk #access section{
	background: #666666;
	background: -moz-linear-gradient(top, #666666 0%, #333333 100%);
	background: -webkit-linear-gradient(top, #666666 0%,#333333 100%);
	background: linear-gradient(to bottom, #666666 0%,#333333 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#666666', endColorstr='#333333',GradientType=0 );
	background-size:100% 300px;
	background-repeat:no-repeat;
}

/* ------------------------------------------------------------------------- *
 *	PC (Low Res) : 1020px > 0
/* ------------------------------------------------------------------------- */
@media print,screen and (max-width: 1020px) {
	#access .nav,
	#route_bus .osaka .case,
	#route_bus .kobe .case{
		min-width:980px;
		margin-left:10px;
		margin-right:10px;
		width:980px;
	}
}
