.access-page { color:#371a11; }
.access-page .header nav .is-current { color:#37afe5; }
.access-main { font-size:15px; line-height:1.8; }
.access-hero { position:relative; isolation:isolate; display:grid; width:auto; height:349px; margin:0 30px; place-items:center; overflow:hidden; background:url("assets/access/access-title-v2.png") center/cover no-repeat; color:#fff; text-align:center; }
.access-hero::before { content:""; position:absolute; z-index:0; inset:0; background:rgba(65,65,65,.4); pointer-events:none; }
.access-hero-copy { position:relative; z-index:1; text-shadow:0 2px 8px rgba(24,15,12,.72),0 1px 2px rgba(24,15,12,.7); }
.access-hero-copy span { display:block; margin:0 0 6px; font-size:16px; font-weight:400; line-height:1.4; }
.access-hero-copy h1 { margin:7px 0 0; font:600 34px/1.45 "Noto Serif JP",serif; letter-spacing:.08em; }
.access-breadcrumb { display:flex; max-width:936px; margin:36px auto 0; padding:0 12px; align-items:center; gap:12px; color:#85888c; font-size:11px; font-weight:400; }
.access-breadcrumb a { color:#54c1f1; }
.access-section { width:min(878px,calc(100% - 40px)); margin:0 auto; }
.access-hours { padding-top:78px; }
.access-section-heading { margin-bottom:42px; text-align:center; }
.access-section-heading span { color:#55bee9; font-size:13px; }
.access-section-heading h2 { margin:0; font:600 26px/1.4 "Noto Serif JP",serif; letter-spacing:.08em; }
.access-hours-card { padding:47px 75px 38px; border:1px solid #e8e2df; border-radius:4px; background:#fff; box-shadow:0 4px 16px rgba(55,26,17,.1); }
.access-hours table { width:100%; border-collapse:collapse; text-align:center; table-layout:fixed; }
.access-hours th,.access-hours td { padding:16px 8px; border-bottom:1px solid #eee6e2; font-size:17px; white-space:nowrap; }
.access-hours thead th { font-weight:600; }
.access-hours th:first-child { width:128px; border-right:1px solid #eee6e2; text-align:left; }
.access-hours-card > p { margin:13px 0 0; font-size:13px; }
.access-hours-card > p span { margin-left:16px; }
.access-hours-card > p .access-hours-note,
.access-hours-card > p .access-hours-note > span { margin-left:0; }
.access-location { padding-top:135px; padding-bottom:94px; }
.access-map { position:relative; display:block; width:100%; height:275px; overflow:hidden; border-radius:5px; background:#eef5f7; }
.access-map iframe { display:block; width:100%; max-width:100%; height:100%; border:0; }
.access-map > a { position:absolute; right:12px; bottom:12px; padding:7px 13px; border-radius:100px; background:#fff; color:#4d91dc; box-shadow:0 4px 16px rgba(55,26,17,.1); font-size:12px; opacity:0; transform:translateY(6px); transition:.25s; }
.access-map:hover > a,.access-map:focus-within > a { opacity:1; transform:none; }
.access-info-grid { display:grid; grid-template-columns:minmax(0,1.07fr) minmax(0,1fr); gap:28px; margin-top:29px; }
.access-details { min-width:0; margin:0; border-top:1px solid #e9e3df; }
.access-details > div { display:grid; grid-template-columns:115px minmax(0,1fr); padding:26px 18px; border-bottom:1px solid #e9e3df; }
.access-details dt { font-weight:600; }
.access-details dd { min-width:0; margin:0; }
.access-details dd a { white-space:nowrap; }
.access-details a:hover { color:#55bee9; }
.access-route-list { display:grid; min-width:0; gap:14px; }
.access-route-card { display:flex; min-width:0; min-height:82px; padding:14px 18px; align-items:center; gap:18px; border:1px solid #e9e3df; border-radius:5px; }
.access-route-card i { display:grid; width:36px; height:36px; flex:0 0 36px; place-items:center; color:#628ce1; font-style:normal; }
.access-route-card i svg { display:block; width:34px; height:34px; fill:currentColor; }
.access-route-card > div { min-width:0; }
.access-route-card h3 { margin:0; color:#55bee9; font-size:14px; }
.access-route-card p { margin:2px 0 0; font-size:12px; line-height:1.65; }

@media (max-width:1024px) {
	.access-breadcrumb { padding:0 5vw; }
	.access-section { width:min(878px,82vw); }
	.access-hours-card { padding:40px 45px; }
	.access-location { padding-top:110px; }
	.access-map { height:250px; }
}

@media (max-width:767px), (min-width:768px) and (max-width:1024px) and (orientation:portrait) {
	.access-main { font-size:14px; }
	.access-hero { width:100%; height:auto; aspect-ratio:375/156; margin:0; }
	.access-hero-copy span { margin-bottom:3px; font-size:10px; line-height:1.4; }
	.access-hero-copy h1 { margin-top:4px; font-size:21px; line-height:1.45; }
	.access-breadcrumb { margin-top:22px; padding:0 18px; font-size:11px; }
	.access-section { width:auto; margin-inline:18px; }
	.access-hours { padding-top:58px; }
	.access-section-heading { margin-bottom:27px; }
	.access-section-heading h2 { font-size:23px; }
	.access-hours-card { padding:20px 7px; margin:0 -2px; }
	.access-table-wrap { overflow:visible; }
	.access-hours table { width:100%; min-width:0; }
	.access-hours th,.access-hours td { padding:10px 1px; font-size:12px; }
	.access-hours th:first-child { width:82px; padding-left:5px; }
	.access-hours thead th { font-size:11px; }
	.access-hours-card > p { padding-inline:5px; font-size:11px; }
	.access-hours-card > p span { display:block; margin-left:0; }
	.access-hours-note > span { display:block; }
	.access-hours-note > span:last-child { white-space:nowrap; }
	.access-location { padding-top:78px; padding-bottom:60px; }
	.access-map { height:210px; }
	.access-map > a { opacity:1; transform:none; }
	.access-info-grid { grid-template-columns:minmax(0,1fr); gap:24px; margin-top:20px; }
	.access-details > div { grid-template-columns:82px minmax(0,1fr); padding:20px 8px; }
	.access-route-card { padding:14px; }
	.access-route-card i { width:34px; height:34px; flex-basis:34px; }
	.access-route-card i svg { width:32px; height:32px; }
	.access-bus-stop-line { display:block; white-space:nowrap; }
}

@media (min-width:768px) and (max-width:1024px) and (orientation:landscape) {
	.access-hero { height:280px; margin:0 30px; }
}
