@charset "UTF-8";
@import url("https://use.typekit.net/ifq6wap.css");
.garamond {
	font-family: "garamond-premier-pro", serif;
	font-style: normal;
	font-weight: 400;
}
.ar { text-align: right;}
.full { width: 100%;}
.dib { display: inline-block;}
.inner {
	margin: auto;
	padding-right: 15px;
	padding-left: 15px;
	max-width: 930px;
}
.access-block { position: relative;}
.access-title {
	text-align: center;
	margin-bottom: 25px;
}
.access-title .ttl {
	position: relative;
	font-size: clamp(40px, 3.3333vw, 48px);
	line-height: 1.1;
	text-transform: uppercase;
	margin-bottom: 15px;
	padding-bottom: 5px;
}
.access-title .ttl::before {
	background-color: #000000;
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 1px;
	margin: auto;
	width: 100px;
}
.access-title .txt {
	font-size: clamp(20px, 1.5278vw, 22px);
	line-height: 1.7;
}
.access-title .txt-normal {
	font-size: 15px;
	line-height: 1.8;
	margin-top: 20px;
}
.tag-list {
	display: grid;
	font-size: 16px;
	line-height: 1.75;
	text-align: center;
	grid-template-columns: repeat(2, 1fr);
	padding: 0;
	gap: clamp(10px, 1.3889vw, 20px);
	max-width: 440px;
	margin: clamp(20px, 2.7778vw, 40px) auto 0;
}
.tag-list li {
	background-color: #ffffff;
	padding: 10px 2px;
}
@media screen and (max-width: 767px) {
	.access-title { margin-bottom: 30px;}
	.tag-list { grid-template-columns: 1fr;}
}
.bg-flower {
	position: absolute;
	background-repeat: no-repeat;
    background-size: contain;
	opacity: .5;
}
.flower01 {
	background-image: url(../access/img/bg_flower01.png);
	width: 70%;
	height: 644px;
	max-width: 44vw;
	left: calc(-1 * (100vw - 900px) / 2);
	transform: translateX(-263px);
	background-position: top left;
	top: 24%;
}
.flower02 {
	background-image: url(../access/img/bg_flower02.png);
	width: 75%;
	height: 560px;
	max-width: 46.7vw;
	right: calc(-1 * (100vw - 900px) / 2);
	background-position: top right;
	transform: translateX(280px);
	top: 36%;
}
.flower03 {
	background-image: url(../access/img/bg_flower03.png);
	width: 81%;
    height: clamp(545px, 65.4167vw, 942px);
	left: calc(-1 * (100vw - 900px) / 2);
	transform: translateX(-330px);
    top: 185%;
	background-position: top left;
}
.flower04 {
	background-image: url(../access/img/bg_flower04.png);
	width: 75%;
	height: clamp(370px, 38.6111vw, 556px);
	max-width: 670px;
	right: calc(-1 * (100vw - 900px) / 2);
	top: 169%;
    transform: translatex(265px);
	background-position: top right;
}
.flower05 {
	background-image: url(../access/img/bg_flower05.png);
	width: 250px;
	height: 256px;
	left: -170px;
    top: 75px;
	background-position: top left;
}
@media screen and (max-width: 767px) {
	.flower01 {
		width: 200px;
        height: 205px;
        left: auto;
        right: -150px;
        max-width: initial;
        transform: rotate(180deg);
        top: 5px;
	}
	.flower03 {
		width: 176px;
		height: 227px;
		left: auto;
		right: -75px;
		transform: initial;
	}
	.flower04 {
		width: 200px;
        height: 165px;
        right: auto;
        left: -120px;
        top: 165px;
		transform: initial;
	}
	.flower04.bigger {
		width: 235px;
        height: 195px;
        right: -45px;
        left: auto;
        top: -70px;
	}
	.train-wrap .flower03 { top: 49%;}
	.train-wrap .flower01 { top: 10%;}
	.train-wrap .flower04 { top: 15%;}
	.train-wrap .flower04.pos01 { top: 73%;}
	.train-wrap .flower05 { top: 58%;} 
}
/* subway-block */
.subway-block { 
	padding: clamp(60px, 8.3333333333333333333vw, 100px) 0 clamp(60px, 11.4583vw, 165px);
	position: relative;
	overflow: hidden;
	background: url(../access/img/access-bg_pc.png) center 50px no-repeat;
	background-size: 100%;
}
.subway-block .access-title { margin-bottom: clamp(35px, 3.4722vw, 50px);}
.subway-ttl {
	border-bottom: 1px solid;
	text-align: center;
	margin-bottom: 25px;
	padding-bottom: 50px;
}
.subway-ttl .ttl {
	font-size: 22px;
	line-height: 1.7;
	margin: 0 0 20px;
}
.subway-ttl .txt {
	font-size: 15px;
	line-height: 1.8;
}
.subway-time {
	margin: 0 auto 30px;
	max-width: 395px;
}
.subway-map {
	text-align: center;
	margin: 0 auto clamp(60px, 4.8611vw, 70px);
	max-width: 620px;
}
.subway-train + .subway-train { margin-top: 45px;}
.subway-train .train-wrap { position: relative;}
.subway-train .train-list {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	padding: 0;
	gap: 1.67%;
}
.subway-train .train-list .ttl {
	font-size: clamp(16px, 1.3194vw, 19px);
	text-align: center;
}
.subway-train .train-list .ttl .lg { font-size: 164%;}
.subway-train .train-list .note {
	font-size: clamp(10px, 0.7639vw, 11px);
	text-align: center;
}
.subway-train .train-ttl {
	border-top: 1px solid;
	padding: 50px 0 35px;
}
.subway-train .train-ttl h3 {
	font-size: clamp(20px, 1.5278vw, 22px);
	line-height: 1.6;
	margin-bottom: 5px;
	text-align: center;
}
.subway-train .train-ttl .txt {
	font-size: 16px;
	line-height: 1.9;
	text-align: center;
}
@media screen and (max-width: 767px) {
	.subway-block {
		background: url(../access/img/access-bg_sp.png) center top repeat-y;
		background-size: 100%;
	}
	.subway-ttl .ttl { margin: 0 -10px 35px;}
	.subway-time { margin: 0 auto 40px;}
    .subway-map {
		margin-left: -15px;
		width: calc(100% + 30px);
        max-width: initial;
	}
	.subway-train .train-list {
		border-bottom: none;
		grid-template-columns: 1fr !important;
		padding: 0;
		gap: 30px !important;
	}
	.subway-train + .subway-train { margin-top: 30px;}
	.subway-train .train-list .ttl { font-size: 19px;}
	.subway-train .train-list .note { font-size: 11px;}
	.subway-train .train-list .item {
		margin: auto;
		max-width: 62%;
	}
	.subway-train .train-ttl { border: none;}
	.subway-train .train-ttl h3 {
		padding-bottom: 20px;
        margin-bottom: 15px;
		border-bottom: 1px solid;
	}
}
/* station-block */
.station-block {
	padding: clamp(60px, 8.3333vw, 120px) 0 clamp(60px, 10.0694vw, 145px);
	background-color: rgba(129, 130,174, .15);
	background: rgba(129, 130,174, .15) url(../access/img/access-bg_pc.png) center top repeat-y;
	background-size: 100%;
}
.bus-block { margin-bottom: 90px;}
.bus-map { margin-top: 70px;}
.bus-map .img { margin-bottom: 10px;}
.bus-map .time-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	padding: 0;
}
.bus-map > .ttl {
	margin-bottom: 50px;
	font-size: clamp(20px, 1.5278vw, 22px);
	line-height: 1.7;
	text-align: center;
}
.bus-map + .bus-map { margin-top: 60px;}
.bus-map .time-list {
	margin-top: 20px;
	text-align: center;
}
.bus-map .time-list .ttl {
	display: inline-block;
	font-size: clamp(19px, 1.7361vw, 21px);
	line-height: 1.16;
	text-align: left;
}
.bus-map .time-list .ttl .lg { 
	font-size: 184%;
	color: #de9a27;
}
.bus-map .time-list .ttl .destination {
	display: inline-block;
	padding-bottom: 0.25em;
	border-bottom: #464d9e solid 0.25em;
}
.bus-map .time-list .bus-comp {
	position: relative;
	top:1em;
	display: block;
	text-align: left;
	font-size: clamp(11px, 1.7361vw, 14px);
}
.bus-map .cap-image .cap-under { 
	text-align: right;
}
.car-map {
	margin-bottom: clamp(50px, 5.5556vw, 80px);
}
.car-map .desc {
	text-align: center;
}
.car-map .txt {
    font-size: clamp(14px, 1.0417vw, 15px);
    line-height: 1.8;
		text-align: center;
}
.car-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: clamp(40px, 3.125vw, 45px) 30px;
	padding: 0;
}
.car-list .img { margin-bottom: clamp(15px, 1.3889vw, 20px);}
.car-list .ttl {
	font-size: 22px;
	padding: clamp(4px, 0.625vw, 9px) 5px;
	text-align: center;
	background-color: #fff;
	margin-bottom: clamp(15px, 1.3889vw, 20px);
}
.car-list .txt {
	font-size: 18px;
	margin-bottom: clamp(20px, 2.0833vw, 30px);
	text-align: center;
}
.car-list .lbl {
	font-size: clamp(14px, 1.25vw, 18px);
	background-color: #000000;
	color: #fff;
	padding: 5px clamp(15px, 1.3889vw, 20px);
	display: flex;
	align-items: center;
	gap: clamp(15px, 1.3889vw, 20px);
	margin-bottom: 5px;
}
.car-list .lbl .sm { font-size: 78%;}
.car-list .note {
	font-size: 14px;
	letter-spacing: -0.01em;
	padding-left: clamp(15px, 1.3889vw, 20px);
}
@media screen and (max-width: 767px) {
	.station-block {
		background: rgba(129, 130,174, .15) url(../access/img/access-bg_sp.png) center top repeat-y;
		background-size: 100%;
	}
	.bus-map .time-list { grid-template-columns: 1fr;}
	.bus-map .img  {
		margin: 0 auto;
		width: 280px;
		max-width: 100%;
	}
	.car-map { grid-template-columns: 1fr;}
	.car-map .img {
		margin-left: -15px;
		width: calc(100% + 30px);
	}
	.car-map .cap-image .cap { padding-right: 5px;}
	.car-map .txt {
		font-size: 15px;
	}
	.car-map .desc {
		margin: 0 auto 0;
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 30px;
	}
	
	.car-list { grid-template-columns: 1fr;}
}


.car-list .img {
  display : block;
}

@media screen and (min-width: 768px) {

  .car-list .cap {
    display  :block;
    min-height : 13px;
  }
}

.train-wrap__note {
	text-align : right;
	font-size : 12px;
	margin-top : 20px;
}