@charset "UTF-8";
/* ----------------------------------
アクセス
---------------------------------- */
.pc {
	display: block;
}
.sp {
	display: none;
}
	@media only screen and (max-width: 750px) {
		.pc {
			display: none;
		}
		.sp {
			display: block;
		}
	}
#access {
	box-sizing: border-box;
}
#access h2 {
    text-align: center;
    font-size: 30px;
    margin: 0 0 67px 0;
}
	@media only screen and (max-width: 750px) {
		#access h2 {
			text-align: center;
			font-size: 30px;
			margin: 0 0 30px 0;
		}
	}

div#kv {
	width: 100%;
    aspect-ratio: 2 / 1;
    overflow: hidden;
    position: relative;
	margin-top: 0px;
    /*margin-top: 70px;*/
}
div#kv img {
	width: 100%;
	height: auto;
	position: absolute;
    top: 60%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

	@media only screen and (max-width: 750px) {
		div#kv {
			width: 100%;
			height: 420px;
			margin-top: 0;
		}
	    div#kv img {
			width: auto;
			height: 100%;
			left: 55%;
    	}
	}

div#lead {
	margin: 60px 0 40px;
}
div#lead > div {
	display: block;
	width: 700px;
	margin: 0 auto;
}
div#lead > div > h1 {
	font-size: 15px!important;
	margin: 0;
}
div#lead > div > h1 > span {
	display: block;
	font-size: 38px;
	margin-top: 10px;
}
div#lead > div > h1 > span:before,
div#lead > div > h1 > span:after {
    content: "";
    display: inline-block;
    background-image: url(/common/top/pc/h2_layout.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 20px;
    height: 3px;
    background-size: contain;
    margin: 0 16px;
    vertical-align: 7px;
}
a.link {border-bottom:#585757 1px dashed;}

	@media only screen and (max-width: 750px) {
		div#lead {
			width: 90%;
			margin: 60px auto 40px;
		}
		div#lead > div {
			width: 100%;
		}
	}

/* --- 地図 --- */
section#map {

}
section#map .map-area {
    max-width: 100%;
	padding: 20px 0;
}
section#map .map-area img {
    width: 680px;
}
section#map div.ac_adr {
	text-align: center;
	width: 600px;
	margin: 15px auto;
}
section#map div.ac_adr ul {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
}
section#map div.ac_adr ul li {
	line-height:1.5!important;
	border-right: #53585a 1px solid;
	padding:0.3em 1em;
}
section#map div.ac_adr ul li:last-child {
	border-right: none;
}

section#map .anchor {
    max-width: 600px;
    margin: 0 auto;
}
section#map .anchor ul {
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-pack:justify;
  -ms-flex-pack:justify;
  justify-content:space-between;
  width: 100%;
}
section#map .anchor ul li {
    width: 30%;
}
section#map .anchor ul li a {
    color: #53585a;
    display: block;
    width: 100%;
    text-align:  center;
    padding: 20px 0;
    border: 1px solid #53585a;
}
section#map .anchor ul li b {
    font-weight: normal;
}
@media only screen and (max-width: 750px) {
	section#map .map-area {
		background-color: #fff;
		padding: 0 0;
	}
	section#map .map-area img {
		width: 100%;
	}
	section#map div.ac_adr {
		text-align: center;
		width: 90%;
		margin: 15px auto;
	}
	section#map div.ac_adr ul {
		width: 100%;
		display: block;
		flex-wrap: nowrap;
	}
	section#map div.ac_adr ul li {
		border: #53585a 1px solid;
		margin-bottom: 1em;
		padding: 1em;
	}
	section#map div.ac_adr ul li.no-link {
		border: none;
	}
	section#map div.ac_adr ul li.act-link a {
		display: block;
	}
	section#map div.ac_adr ul li:last-child {
		border-right: #53585a 1px solid;
	}
	section#map .anchor {
		max-width: 90%;
		margin: 0 auto;
	}
	section#map .anchor ul li {
		width: 30%;
		line-height: 160%;
	}
	section#map .anchor ul li b {
		font-weight: normal;
	}

}
/* --- 電車の場合 --- */
section#train {
	max-width: 980px;
	margin: 80px auto 0;
}
section#train .map-area {
    max-width: 100%;
	padding: 20px 0;
}
section#train .map-area img {
     width: 900px;
}
section#train p {
	font-size: 15px;
	text-align: left;
	line-height: 180%;
	margin: 20px 0;
}
section#train h3 {
    font-size: 24px;
    line-height: 150%;
    margin: 40px 0 20px;
}
section#train a.timetable-pdf {
	display: inline;
	font-size:120%;
	border: 1px solid #53585a;
	padding: 0.5em 1em;
}
section#train a.timetable-pdf:hover {
	color:#fff!important;
	background-color:#a0072b;
}
section#train a.timetable-pdf:before {
    content: "";
    display: inline-block;
	background-image: url("../images/arrow_right_double.png");
	width: 14px;
	height: 13px;
	background-size: contain;
	background-repeat: no-repeat;
    padding-right: 5px;
}
section#train p.date {
	text-align: right;
}
section#train div.time_table {
	display: flex;
	flex-wrap: wrap;
}
section#train div.time_table h4 {
	display: block;
	width: 100%;
	font-size: 20px;
	font-weight: normal;
	text-align: left;
	margin: 30px 0 10px;
}
section#train div.time_table > div {
	width: 49%;
	display: flex;
	align-items: flex-start;
}
section#train div.time_table > div:first-of-type {
	margin-right: 2%;
}
section#train div.time_table > div > table {
	width: 100%;
}
section#train div.time_table > div > table tr th {
    background-color: #f7f7f7;
    border-top: #999999 1px solid;
    border-bottom: #999999 1px solid;
	line-height: 160%;
    padding: 5px 0;
}
section#train div.time_table > div > table tr th.sub {
    border-top: none;
    font-weight: normal;
    padding: 0;
}
section#train div.time_table > div > table tr th:first-of-type {
	width: 13%;
}
section#train div.time_table > div > table tr td {
	text-align: left;
    border-top: #e9e9e9 1px solid;
    border-left: #e9e9e9 1px solid;
    padding: 3px 0 3px 8px;
}
section#train div.time_table > div > table tr td:first-of-type {
	text-align: center;
	border-left: none;
}
section#train div.time_table > div > table tr:first-of-type td {
	border-top: none;
}
section#train div.time_table > div > table tr:last-of-type td {
	border-bottom: #999 1px solid;
}
section#train ul.attention {
	margin: 20px 0 0;
}
section#train ul.attention li {
	text-align: left;
	text-indent:-1em;
	line-height: 180%;
	padding-left:1em;
}
@media only screen and (max-width: 750px) {
	section#train {
		max-width: 100%;
		margin: 80px auto 0;
	}
	section#train .map-area {
		max-width: 100%;
		padding: 20px 0;
	}
	section#train .map-area img {
		width: 95%;
	}
	section#train p {
		width: 90%;
		margin: 20px auto;
	}
	section#train a.timetable-pdf {
		display: block;
		font-size:110%;
		margin-bottom: 15px;
	}
	section#train p.date {
		text-align: right;
	}
	section#train div.time_table {
		display: block;
		flex-wrap: nowrap;
		width: 90%;
		margin: auto;
	}
	section#train div.time_table h4 {
		margin: 10px 0 10px;
	}
	section#train div.time_table > div {
		width: 100%;
		display: block;
		align-items: baseline;
	}
	section#train div.time_table > div:first-of-type {
		margin-right: 0%;
	}
	section#train ul.attention {
		width: 90%;
		margin: 20px auto 0;
	}
}

/* --- 車の場合 --- */
section#car {
	max-width: 980px;
	margin: 80px auto 0;
}
section#car .map-area {
    max-width: 100%;
	padding: 20px 0;
}
section#car .map-area img {
     width: 900px;
}
section#car ul.carroot {
	margin: 30px 0;
}
section#car ul.carroot li {
	text-align: left;
	text-indent:-1em;
	padding-left:1em;
	line-height: 180%;
}
section#car ul.carroot li:before {
    content: "●";
    display: inline;
    font-size: 14px;
    padding-right: 3px;
}
section#car h3 {
	font-size: 20px;
	text-align: left;
	margin: 30px 0 10px;
}
section#car dl.parking {
	width: 50%;
	display: flex;
	flex-wrap: wrap;
}
section#car dl.parking dt {
	width: 20%;
	text-align: left;
	line-height: 180%;
}
section#car dl.parking dd {
	width: 80%;
	text-align: left;
	line-height: 180%;
}
@media only screen and (max-width: 750px) {
	section#car {
		max-width: 100%;
		margin: 80px auto 0;
	}
	section#car .map-area {
		max-width: 100%;
		padding: 20px 0;
	}
	section#car .map-area img {
		width: 95%;
	}
	section#car ul.carroot {
		width: 90%;
		margin: 30px auto;
	}
	section#car h3 {
		width: 90%;
		margin: 0 auto 15px;
	}
	section#car dl.parking {
		width: 90%;
		margin: 0 auto;
	}
	section#car dl.parking dt {
		width: 20%;
		text-align: left;
		line-height: 180%;
	}
	section#car dl.parking dd {
		width: 80%;
		text-align: left;
		line-height: 180%;
	}
}
/* --- 飛行機の場合 --- */
section#airplane {
	max-width: 980px;
	margin: 80px auto 0;
}
section#airplane dl.airroot {
	margin: 0 0 30px;
}
section#airplane dl.airroot dt {
	font-size: 18px;
	text-align: left;
	margin: 0 0 15px;
}
section#airplane dl.airroot dd {
	line-height: 180%;
	text-align: left;
	margin: 0 0 20px;
}
section#airplane .red {
	color: #aa002b;
}
section#airplane a {
	border-bottom: #53585a 1px dotted;
}
section#airplane a:before {
    content: "";
    display: inline-block;
	background-image: url("../images/arrow_right_single.png");
	width: 5px;
	height: 10px;
	background-size: contain;
	background-repeat: no-repeat;
	margin-bottom: 1px;
	padding-right: 5px;
}
@media only screen and (max-width: 750px) {
	section#airplane {
		max-width: 90%;
		margin: 80px auto 0;
	}
}
/* --- 電話番号 --- */
@media only screen and (min-width: 750px){
	a.tel {
		pointer-events: none;
		color: #53585a;
		border:none;
	}
}
@media only screen and (max-width: 750px) {
	a.tel {
		color: #53585a;
		border:none;
	}
}
