@charset "utf-8";
/* CSS Document */

#access {
	margin-bottom: 110px;
}
@media screen and (max-width: 480px) {
	#access {
		margin-bottom: 60px;
	}
}
/* ==============================================

	linkBtnArea

================================================= */
.linkBtnArea {
	padding: 0 6%;
}
.linkBtnArea ul {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	max-width: 840px;
	margin: 0 auto;
}
.linkBtnArea ul li {
	flex: 1;
	text-align: center;
	line-height: 115%;
}
.linkBtnArea ul li a {
	font-size: 1.3rem;
	gap: 10px;
}
.linkBtnArea ul li a::after {
	width: 6px;
	height: 6px;
	transform: rotate(135deg);
}
.linkBtnArea ul li a:hover::before {
	-webkit-filter: brightness(0) invert(1)!important;
	filter: brightness(0) invert(1)!important;
}
.linkBtnArea ul li.by_bus a::before {
	content: "";
	background: url("../images/access/icon_bus.svg") center no-repeat;
	width: 19px;
	height: 23px;
	background-size: contain;
}
.linkBtnArea ul li.by_train a::before {
	content: "";
	background: url("../images/access/icon_train.svg") center no-repeat;
	width: 21px;
	height: 25px;
	background-size: contain;
}
.linkBtnArea ul li.by_car a::before {
	content: "";
	background: url("../images/access/icon_car.svg") center no-repeat;
	width: 24px;
	height: 20px;
	background-size: contain;
}
.linkBtnArea ul li.by_plane a::before {
	content: "";
	background: url("../images/access/icon_plane.svg") center no-repeat;
	width: 27px;
	height: 28px;
	background-size: contain;
}
@media screen and (max-width: 1024px) {
	.linkBtnArea {
		padding: 0 5%;
	}
	.linkBtnArea ul {
		gap: 15px;
	}
}
@media screen and (max-width: 896px) {
	.linkBtnArea ul {
		flex-flow: row wrap;
	}
	.linkBtnArea ul li {
		flex: inherit;
		width: calc((100% - 15px) / 2);
	}
	.linkBtnArea ul li .cmn_btn {
		max-width: inherit;
	}
}
@media screen and (max-width: 768px) {
	.linkBtnArea ul {
		width: 100%;
		height: auto;
	}
}
@media screen and (max-width: 480px) {
	.linkBtnArea ul {
		gap: 10px;
	}
	.linkBtnArea ul li {
		width: calc((100% - 10px) / 2);
	}
	.linkBtnArea ul li a {
		gap: 8px;
	}
	.linkBtnArea ul li a::before {
		zoom: 0.8;
	}
}

/* ==============================================

	access_info

================================================= */
.access_info {
	background: #f9f9f9;
	padding: 100px 0;
	margin-top: 80px;
}
/*---------------------------------------------
	access_infoDtl
---------------------------------------------*/
.access_infoDtl {
	display: flex;
	align-items: flex-start;
	flex-flow: row-reverse;
	justify-content: center;
	gap: 0 60px;
	margin-bottom: 100px;
}
.access_infoTbl {
	width: 800px;
}
.access_info table {
	border-collapse: collapse;
	border-spacing: 0;
	width: 100%;
}
.access_info table tr:first-child {
	border-top: 1px solid #143677;
}
.access_info table tr {
	border-bottom: 1px solid #143677;
}
.access_info table th {
	padding: 18px 0;
	font-weight: 500;
	width: 100px;
	vertical-align: middle;
	color: #143677;
}
.access_info table td {
	padding: 15px 0 15px 25px;
	line-height: 140%;
}
.access_info table td small {
	display: block;
	margin-top: 5px;
	line-height: 120%;
}

/*---------------------------------------------
	access_way
---------------------------------------------*/
#access_way {
	max-width: 990px;
	margin: 0 auto 90px;
	padding: 40px 50px;
	background: #fff;
	display: flex;
	gap: 40px 50px;
}
.access_way_box {
	flex: 1;
}
.access_way_ttl {
	text-align: center;
	border-bottom: 1px solid #bbb6aa;
	margin-bottom: 25px;
}
.access_way_ttl h2 {
	font-size: 1.6rem;
	color: #6a5b25;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 15px;
	height: 40px;
}
#access_train .access_way_ttl h2::before {
	content: "";
	background: url("../images/access/icon_train.svg") center no-repeat;
	width: 24px;
	height: 29px;
	background-size: contain;
}
#access_car .access_way_ttl h2::before {
	content: "";
	background: url("../images/access/icon_car.svg") center no-repeat;
	width: 26px;
	height: 22px;
	background-size: contain;
}
#access_plane .access_way_ttl h2::before {
	content: "";
	background: url("../images/access/icon_plane.svg") center no-repeat;
	width: 26px;
	height: 22px;
	background-size: contain;
}
.access_way_info {
	padding: 0 30px;
	display: flex;
	justify-content: center;
}
.access_way_info li {
	line-height: 142%;
	display: flex;
	align-items: baseline;
}
.access_way_info li::before {
	position: relative;
	top: -3px;
	left: 0;
	margin-right: 8px;
	display: inline-block;
	width: 5px;
	height: 5px;
	content: '';
	border-radius: 50%;
	background: #a7a7a7;
}
.access_way_info li span {
	width: calc(100% - 13px);
}
.access_way_info li:not(:last-child) {
	margin-bottom: 5px;
}
.access_way_info p {
	margin-bottom: 15px;
}

/*---------------------------------------------
	access_map
---------------------------------------------*/
#access_map iframe {
	width: 100%;
	margin-bottom: 50px;
}

@media screen and (max-width: 1366px) {
	.access_infoDtl {
		padding: 0 7%;
		gap: 0 40px;
	}
}
@media screen and (max-width: 1024px) {
	.access_infoDtl {
		padding: 0 5%;
	}
	#access_way {
		width: 90%;
	}
	.access_way_info {
		padding: 0;
	}
	.access_infoTbl {
		width: 100%;
	}
}
@media screen and (max-width: 896px) {
	.access_info {
		margin-top: 70px;
	}
	.access_infoDtl {
		flex-flow: column;
		align-items: center;
		gap: 50px 0;
	}
	#access_map iframe {
		height: 500px;
	}
}
@media screen and (max-width: 768px) {
	#access_way {
		flex-flow: column;
	}
}
@media screen and (max-width: 640px) {
	.access_infoTbl {
		width: 100%;
	}
	#access_map iframe {
		height: 400px;
	}
}
@media screen and (max-width: 480px) {
	.access_info {
		padding: 60px 0;
		margin-top: 40px;
	}
	.access_infoDtl {
		gap: 30px 0;
		margin-bottom: 40px;
	}
	.access_info table {
		font-size: 1.2rem;
	}
	.access_info table th {
		width: 80px;
		padding: 12px 0;
	}
	.access_info table td {
		padding: 12px 0 12px 15px;
	}
	#access_way {
		padding: 25px 30px;
		margin-bottom: 40px;
	}
	.access_way_ttl {
		margin-bottom: 18px;
	}
	.access_way_ttl h2 {
		gap: 10px;
		font-size: 1.45rem;
		height: 30px;
	}
	#access_train .access_way_ttl h2::before,
	#access_car .access_way_ttl h2::before {
		zoom: 0.75;
	}
	#access_map iframe {
		height: 250px;
		margin-bottom: 30px;
	}
}

/* ==============================================

	accessbyArea

================================================= */

/* -------------------------------------------------
	access_cmn
------------------------------------------------- */
.access_cmn {
	padding: 100px 5% 20px;
}
.access_byArea .access_cmn:nth-child(odd) {
}

.access_byInner {
	max-width: 1170px;
	margin: 0 auto;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	gap: 90px 9.4%;
	flex-flow: row wrap;
}
.access_byBox {
}
.access_byBox h3 {
	font-size: 1.8rem;
	margin-bottom: 25px;
	line-height: 155%;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	letter-spacing: 0.1em;
	text-align: center;
}
.access_byBox a {
	text-decoration: underline;
}
.access_byBox a:hover {
	text-decoration: none;
}
@media screen and (max-width: 1366px) {
	.access_byInner {
		gap: 90px 6%;
	}
}
@media screen and (max-width: 480px) {
	.access_cmn {
		padding: 60px 5% 0;
	}
	.access_byInner {
		gap: 60px;
	}
	.access_byBox h3 {
		font-size: 1.6rem;
		line-height: 135%;
	}
}

@media screen and (max-width: 768px) {
	#access .guests_barrierfree {
		margin: 90px 5% 0;
	}
	.access_img {
		width: 100%;
		margin: 0 auto;
		display: flex;
		flex-flow: column;
		gap: 100px;
	}
	.access_img li p {
		color: #143677;
		font-weight: 500;
		margin-top: 10px;
		margin-bottom: 15px;
	}
}
@media screen and (max-width: 480px) {
	#access .guests_barrierfree {
		margin: 60px 5% 0px;
	}
	.access_img {
		padding: 0 7%;
		gap: 60px;
	}
}


