@charset "UTF-8";

@media screen and (max-width: 767.98px){
body {
	padding: 50px 0 0 0;
	}
}

/* タイトル */
#page_title {
	position: relative;
	display: block;
	width: 100%;
	height: 300px;
	overflow: hidden;
	background: url(../img/pagetitle_access.jpg) center center no-repeat;
	background-size: cover;
	}
@media screen and (max-width: 767.98px){
#page_title {
	height: 200px;
	}
}

#page_title h1 {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-40%);
	display: block;
	color: #fff;
	font-size: 40px;
	line-height: 1em;
	text-align: center;
	text-shadow: 0 0 2px rgba(0,0,0,.8);
	letter-spacing: .3em;
	animation: page_title_h1 3s ease .5s both;
	}
@keyframes page_title_h1 {
	0% { opacity: 0; transform: translate(-50%,-30%); }
	100% { opacity: 1; transform: translate(-50%,-40%); }
	}
@media screen and (max-width: 767.98px){
#page_title h1 {
	font-size: 10vw;
	}
}

#page_title span {
	display: block;
	padding-top: 2em;
	font-size: 26px;
	text-shadow: 0 2px 5px rgba(0,0,0,.8);
	animation: page_title_span 3s ease 2s both;
	}
@keyframes page_title_span {
	0% { opacity: 0; transform: translate(0,-60%); }
	100% { opacity: 1; transform: translate(0,-50%); }
	}
@media screen and (max-width: 767.98px){
#page_title span {
	font-size: 5vw;
	}
}

/* サマリー */
#page_summary {
	position: relative;
	display: block;
	width: 100%;
	padding: 30px 0;
	}
@media screen and (max-width: 767.98px){
#page_summary {
	padding: 20px;
	}
}

#page_summary p {
	position: relative;
	display: block;
	font-size: 16px;
	line-height: 1.5em;
	text-align: center;
	}
@media screen and (max-width: 767.98px){
#page_summary p {
	font-size: 4vw;
	line-height: 2em;
	text-align: left;
	}
#page_summary p br {
	display: none;
	}
}

/* Gmap */
#gmap {
	display: block;
	width: 100%;
	max-width: 900px;
	margin: 0 auto 20px auto;
	}
@media screen and (max-width: 767.98px){
#gmap {
	padding: 0 5vw;
	}
}

#gmap iframe {
	display: block;
	width: 100%;
	min-height: 500px;
	}

/* Route */
#route {
	display: block;
	width: 100%;
	max-width: 900px;
	margin: 0 auto;
	}
@media screen and (max-width: 767.98px){
#route {
	padding: 0 5vw;
	}
}

#route .route_chart {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
	}

#route .pc {
	display: block;
	}
#route .sp {
	display: none;
	}
@media screen and (max-width: 767.98px){
#route .pc {
	display: none;
	}
#route .sp {
	display: block;
	}
#route h2 {
	display: block;
	margin: 50px 0 30px 0;
	color: #333300;
	font-size: 6vw;
	text-align: center;
	}
}

#route div {
	margin: 0;
	padding: 30px 0;
	text-align: center;
	background: #fff;
	border: 3px solid #168880;
	}

#route div img {
	display: block;
	width: 100%;
	max-width: 400px;
	margin: 0 auto 20px auto;
	}
@media screen and (max-width: 767.98px){
#route div img {
	max-width: 250px;
	margin: 0 auto;
	}
}

#route .address {
	display: block;
	margin:20px 0;
	font-size: 16px;
	line-height: 1em;
	letter-spacing: .1em;
	}
@media screen and (max-width: 767.98px){
#route .address {
	font-size: 4vw;
	line-height: 1.5em;
	}
}

#route .address span {
	padding: 0 .5em;
	}
@media screen and (max-width: 767.98px){
#route .address span {
	display: block;
	padding: 5px 0 0 0;
	}
}

#route .search {
	display: block;
	margin: 0 0 20px 0;
	font-size: 24px;
	line-height: 1em;
	letter-spacing: .2em;
	}
@media screen and (max-width: 767.98px){
#route .search {
	font-size: 6vw;
	letter-spacing: .1em;
	}
#route .search span {
	display: block;
	padding-top: 5px;
	font-size: 4vw;
	}
}

#route .notice {
	display: block;
	font-size: 12px;
	line-height: 1em;
	}
@media screen and (max-width: 767.98px){
#route .notice {
	font-size: 4vw;
	line-height: 1.5em;
	}
}

#route .notice span {
	display: inline;
	}
@media screen and (max-width: 767.98px){
#route .notice span {
	display: none;
	}
}

#route .notice br {
	display: none;
	}
@media screen and (max-width: 767.98px){
#route .notice br {
	display: block;
	}
}
