@charset "UTF-8";
/* CSS Document */

/* --------------------------------------------------
access-block
-------------------------------------------------- */

.ttl-access{
	align-items: center;
	letter-spacing:.2rem;
	font-size: 2.3rem;
	text-align: center;
	max-width:1300px;
	margin:0 auto;
	padding:20px 10px;
	position:relative;
	font-family: "Noto Sans Japanese" , "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, Osaka, sans-serif;
	letter-spacing:.2rem;
}

/* --------------------------------------------------
access-block
-------------------------------------------------- */

.access-block{
	margin:30px 0;
}
.access-block h4{
	background:#404040;
	color:#fff;
	cursor:pointer;
	padding:10px 15px;
	font-size:1.8rem;
	position:relative;
	margin-bottom:30px;
}
.access-block h4:after,
.access-block h4.active:after{
	content:"\f067";
	font-family:fontawesome;
	margin-right:1rem;
	color:#fff;
	margin-left:auto;
	background:#666;
	width:30px;
	height:30px;
	line-height:30px;
	text-align:center;
	position:absolute;
	right:0;
	top:50%;
	margin-top:-15px;
}
.access-block h4.active:after{
	content:"\f068";
	font-family:fontawesome;
}
.access-block .item h5{
	margin:.5rem 0;
}
.access-block .block-left h5 {
	font-weight: bold;
	margin-bottom: 15px;
}
.access-block .block-left h5:before {
	content: "\f111";
	display: inline-block;
	margin-right: 1rem;
	font-family: fontawesome;
	color: #22ade6;
}
.access-block .block-left .item .related-file {
	padding: 2rem 0;
}

.access-block .block-note{
	margin:4rem 0;
}
.access-block .block-note p{
	margin:2rem 0;
}

.access-block dt{
	font-size:1.6rem;
	padding:.5rem 1rem;
	background:#f6f8f9;
	margin:2rem 0;
	border:#eef0f1 solid 1px;
}
.access-block dt span:before{
	content:"";
	width:100%;
	height:10px;
	display: inline-block;
	background:#FF0;
	border: #CCC solid 1px;
}
.access-block .item p {
	margin-bottom:20px;
}
.access-block .item table {
	width:100%;
	border:#CCC solid 1px;
	margin-bottom:20px;
	table-layout:fixed;
}
.access-block .item table th{
	border:#CCC solid 1px;
	text-align:center;
	padding:1rem 0;
}
.access-block .item table td{
	border:#CCC solid 1px;
	text-align:center;
	padding:1rem 0;
}
.access-block .item .link-list{
	margin-bottom:20px;
}

/* item-2col */
.access-block .item-2col{
	display:flex;
	justify-content:space-between;
}
.access-block .item-2col .col{
	width:48%;
	padding:10px;
}
.access-block .item-2col h5 {
	font-weight: bold;
	margin-bottom: 15px;
}
.access-block .item-2col h5:before {
	content: "\f111";
	display: inline-block;
	margin-right: 1rem;
	font-family: fontawesome;
	color: #22ade6;
}
.access-block .item-2col .pht {
	margin-bottom: 15px;
}

/* ttl-route */
.ttl-route{
	align-items: center;
	display: flex;
	letter-spacing:.2rem;
	font-size:1.8rem;
	text-align: center;
	margin:0 auto;
	padding:20px 0;
	position:relative;
	font-family: "Noto Sans Japanese" , "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, Osaka, sans-serif;
	letter-spacing:.2rem;
}
.ttl-route::before,
.ttl-route::after {
	border-top: #999 solid 1px;
	content: "";
	display: inline;
	flex-grow: 1;
}
.ttl-route::before {
	margin-right: 20px;
}
.ttl-route::after {
	margin-left: 20px;
}

/* way */
.way {
	display:table;
	width:100%;
	text-align:center;
	position:relative;
	margin-bottom:3rem;
}
.way:after{
	content:"";
	width:100%;
	height:1px;
	display:block;
	position:absolute;
	background:#FFF;
	left:0;
	bottom:50%;
	z-index:-1;
}

/* way2 */
.way2 {
	display:table;
	width:100%;
	text-align:center;
	position:relative;
	margin-bottom:3rem;
}
.way2 .way{
	display:table-cell;
	width:40%;
	vertical-align: middle;
}

/* airplane */
.way-airplane:after{
	border-bottom: dotted 5px #ccc;
	margin-bottom:-2px;
}
/* car */
.way-car:after{
	border-top:#ccc solid 1px;
	border-bottom: solid 3px #ccc;
	box-shadow: 0 1px #ccc;
	margin-bottom:-2px;
}
.way-car .route-spot-end span{
	position:relative;
}
.way-car .route-spot-end span:after{
	position:absolute;
  content:"";
  width:0;
  height:0;
  border:12px solid transparent;
  border-left:12px solid #ccc;
  left:-18px;
  top:10px;
}
/* exbus */
.way-exbus:after{
	height:7px;
	background-image: linear-gradient(to right, #ccc, #ccc 5px, transparent 5px, transparent 10px);
	background-size: 10px 7px;
	background-position: top;
	background-repeat: repeat-x;
	margin-bottom:-3px;
}
/* bullettrain extrain */
.way-bullettrain:after,
.way-extrain:after{
	border-top:#ccc solid 1px;
	border-bottom: dashed 3px #ccc;
	box-shadow: 0 1px #ccc;
	margin-bottom:-2px;
}
/* ferry */
.way-ferry:after{
	height:14px;
	background: url(../img/bg_ferry.png) repeat-x;
	margin-bottom:-7px;
}

/* route-spot */
.route-spot-start,
.route-spot-via,
.route-spot-end{
	display:table-cell;
	width:15%;
	vertical-align:middle;
	font-weight:bold;
}
.route-spot-start span,
.route-spot-via span,
.route-spot-end span{
	color:#FFF;
	background:#528cbd;
	display:block;
	padding:15px ;
	position:relative;
	min-width:13rem;
	line-height:1.2;
}
.route-spot-start span:before,
.route-spot-via span:before,
.route-spot-via span:after,
.route-spot-end span:before{
  content:"";
	position:absolute;
	top:0;
	width:10px;
	height:100%;
	background:#FFF;
}
.route-spot-start span:before{
	right:-10px;
}
.route-spot-via span:before{
	right:-10px;
}
.route-spot-via span:after{
	left:-10px;
}
.route-spot-end span:before{
	left:-10px;
}

/* route-time */
.route-time{
	display:table-cell;
	text-align:center;
	color:#528cbd;
	padding-top:70px;
	position:relative;
	line-height:1.2;
}
.route-time:before{
	content:"";
	width:80px;
	height:50px;
	overflow:hidden;
	background-color:#FFF;
	background-image: url(../img/sprite-access.png);
	background-repeat: no-repeat;
	background-size:80px auto;
	position:absolute;
	left:50%;
	margin-left:-40px;
	top:20px;
}
.way-car .route-time:before{background-position:0 0;}
.way-exbus .route-time:before{background-position:0 -40px;}
.way-extrain .route-time:before{background-position:0 -90px;}
.way-bullettrain .route-time:before{background-position:0 -130px;}
.way-airplane .route-time:before{background-position:0 -180px;}
.way-ferry .route-time:before{background-position:0 -220px;}

.route-time span{
	display:block;
}




@media screen and (max-width: 1080px) {



}


@media screen and (max-width: 767px) {


		/* --------------------------------------------------
		access-block
		-------------------------------------------------- */
		
		.ttl-access{
			font-size: 1.6rem;
			max-width:none;
		}
		
		/* --------------------------------------------------
		access-block
		-------------------------------------------------- */
		.access-block{
			margin-top:10px;
		}
		.access-block h4{
			font-size:1.4rem;
		}
		.access-block dt{
			font-size:1.4rem;
			margin:1rem 0;
		}
		.access-block dt span:before{
			content:"";
			width:100%;
			height:10px;
			display: inline-block;
			background:#FF0;
			border: #CCC solid 1px;
		}
		
		/* item-2col */
		.access-block .item-2col{
			display:flex;
			flex-wrap:wrap;
		}
		.access-block .item-2col .col{
			width:100%;
			padding:10px;
		}
		

		/* ttl-route */
		.ttl-route{
			font-size: 1.2rem;
		}
		.ttl-route::before,
		.ttl-route::after {
			border-top: #E9E9E9 solid 1px;
			content: "";
			display: inline;
			flex-grow: 1;
		}
		.ttl-route::before {
			margin-right: 20px;
		}
		.ttl-route::after {
			margin-left: 20px;
		}
		
		/* way */
		.way {
			display:table;
			width:100%;
			text-align:center;
			position:relative;
		}
		.way:after{
			content:"";
			width:100%;
			height:1px;
			display:block;
			position:absolute;
			background:#FFF;
			left:0;
			bottom:50%;
			z-index:-1;
		}
		
		/* airplane */
		.way-airplane:after{
			border-bottom: dotted 5px #ccc;
			margin-bottom:-2px;
		}
		/* car */
		.way-car:after{
			border-top:#ccc solid 1px;
			border-bottom: solid 3px #ccc;
			box-shadow: 0 1px #ccc;
			margin-bottom:-2px;
		}
		.way-car .route-spot-end span{
			position:relative;
		}
		.way-car .route-spot-end span:after{
			position:absolute;
			content:"";
			width:0;
			height:0;
			border:12px solid transparent;
			border-left:12px solid #ccc;
			left:-18px;
			top:10px;
		}
		/* exbus */
		.way-exbus:after{
			height:7px;
			background-image: linear-gradient(to right, #ccc, #ccc 5px, transparent 5px, transparent 10px);
			background-size: 10px 7px;
			background-position: top;
			background-repeat: repeat-x;
			margin-bottom:-3px;
		}
		/* bullettrain extrain */
		.way-bullettrain:after,
		.way-extrain:after{
			border-top:#ccc solid 1px;
			border-bottom: dashed 3px #ccc;
			box-shadow: 0 1px #ccc;
			margin-bottom:-2px;
		}
		
		/* route-spot-start */
		.route-spot-start,
		.route-spot-via,
		.route-spot-end{
			display:table-cell;
			width:10%;
			vertical-align:middle;
			font-size:1.3rem;
		}
		.route-spot-start span,
		.route-spot-via span,
		.route-spot-end span{
			color:#FFF;
			background:#528cbd;
			display:block;
			padding:10px;
			position:relative;
			min-width:0;
		}
		.route-spot-start span:before,
		.route-spot-via span:before,
		.route-spot-via span:after,
		.route-spot-end span:before{
			content:"";
			position:absolute;
			top:0;
			width:10px;
			height:100%;
			background:#FFF;
		}
		.route-spot-start span:before{
			right:-10px;
		}
		.route-spot-via span:before{
			right:-10px;
		}
		.route-spot-via span:after{
			left:-10px;
		}
		.route-spot-end span:before{
			left:-10px;
		}
		
		/* route-time */
		.route-time{
			display:table-cell;
			text-align:center;
			color:#528cbd;
			padding-top:80px;
			position:relative;
		}
		.route-time:before{
			content:"";
			width:80px;
			height:50px;
			overflow:hidden;
			background-color:#FFF;
			background-image: url(../img/sprite-access.png);
			background-repeat: no-repeat;
			background-size:80px auto;
			position:absolute;
			left:50%;
			margin-left:-40px;
			top:20px;
		}
		.way-car .route-time:before{background-position:0 0;}
		.way-exbus .route-time:before{background-position:0 -40px;}
		.way-extrain .route-time:before{background-position:0 -90px;}
		.way-bullettrain .route-time:before{background-position:0 -130px;}
		.way-airplane .route-time:before{background-position:0 -180px;}
		
		.route-time span{
			width:20%;
			margin:0 auto;
			display: block;
			background:#FFF;
		}
		

	
}

