@charset "UTF-8";

.l-headerLogo {
    display: none;
}
.l-headerLogo.w {
    display: block;
}

section.lead {
    padding: clamp(30px, 90 / 1400 * 100vw, 90px) 20px;
    text-align: center;
}
h3.lead__ttl {
    font-size: clamp(20px, 30 / 1400 * 100vw, 30px);
}
p.lead__txt {
    margin-top: clamp(20px, 50 / 1400 * 100vw, 50px);
    line-height: 2.22;
    font-size: clamp(14px, 18 / 1400 * 100vw, 18px);
}

img.mv__img {
    object-position: bottom;
}
section.map {
    padding: 0 20px;
}
img.map__img {
    max-width: 930px;
    margin-left: auto;
    margin-right: auto;
    width: 80%;
    display: block;
}
span.mainCon__bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100%;
    background-position: top;
    background-repeat: repeat;
    background-size: contain;
	z-index: -1;
}

/* --------------------------------------------------
   forstation（駅からのアクセス）
-------------------------------------------------- */
.forstation {
	padding: clamp(60px, 180 / 1400 * 100vw, 180px) 20px;
}

/* --- 共通：見出しパーツ --- */
.forstation ._note {
	font-size: 1.2rem;
	letter-spacing: 0.04em;
	margin-bottom: -5px;
}

.forstation ._main {
	line-height: 1.2;
	letter-spacing: 0.04em;
}

.forstation ._num {
	font-weight: 500;
	letter-spacing: 0.04em;
	color: #b59a5b;
	margin-inline: 4px;
}

.forstation ._num ._tilde {
	font-family: var(--ac-font-jp);
	font-size: 0.6em;
	vertical-align: 0.12em;
	margin: 0 -.04em;
}

.forstation ._small {
	font-size: 12px;
	letter-spacing: 0;
	vertical-align: 0.35em;
	margin-left: .2em;
	color: var(--ac-note);
}

/* --- 2カラム（最寄駅） --- */
.st__2culm__wrap {
	display: flex;
	justify-content: center;
	gap: 20px;
	width: 1000px;
	margin: 0 auto;
}

.st__2culm__ind {
	flex: 1 1 0;
	min-width: 0;
}

.st__2culm__ttl {
	margin-bottom: 14px;
}

.st__2culm__ttl ._main {
	font-size: clamp(20px, 30 / 1400 * 100vw, 30px);
}

.st__2culm__ttl ._num {
	font-size: clamp(26px, 44 / 1400 * 100vw, 44px);
}

.st__2culm__img {
	aspect-ratio: 3 / 2;
}

.st__2culm__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* --- 3カラム（直通所要時間） --- */
.st__3culm__wrap {
	display: flex;
	justify-content: center;
	gap: 20px;
	width: 1000px;
	margin: 60px auto 0;
}

.st__3culm__ind {
	flex: 1 1 0;
	min-width: 0;
}

.st__3culm__ttl {
	margin-bottom: 12px;
}

.st__3culm__ttl ._main {
	margin-top: 2px;
	font-size: clamp(16px, 20 / 1400 * 100vw, 20px);
}

.st__3culm__ttl ._num {
	font-size: clamp(20px, 26 / 1400 * 100vw, 26px);
}

.st__3culm__ttl ._time {
	margin-top: 6px;
	font-size: 1.2rem;
	letter-spacing: 0.04em;
}

.st__3culm__img {
	aspect-ratio: 3 / 2;
}
.st__3culm__img img {
	width: 100%;
	object-fit: cover;
	aspect-ratio: 16/13;
}
.st__3culm__img{
    position: relative;
}
.st__3culm__img figcaption {
    position: absolute;
    bottom: 5px;
    right: 5px;
    font-size: 1.2rem;
    color: #ffffff;
}


/* ==========================================================
   タブレット（〜1180px）
   ========================================================== */
@media screen and (max-width: 1180px) {

	.mv__tit ._en {
		font-size: 5.2vw;
	}

	.lead__heading {
		font-size: 2.5vw;
	}

	.st__2culm__ttl ._main {
		font-size: 2.2vw;
	}

	.st__2culm__ttl ._num {
		font-size: 3.7vw;
	}

	.st__3culm__ttl ._main {
		font-size: 1.65vw;
	}

	.st__3culm__ttl ._num {
		font-size: 2.8vw;
	}

	.forstation ._note {
		font-size: 1.1vw;
	}

	.st__3culm__ttl ._note,
	.st__3culm__ttl ._time,
	.forstation ._small {
		font-size: 1vw;
	}
}


/* ==========================================================
   SP（〜767px）
   ========================================================== */
@media screen and (max-width: 767px) {

	/* --- mv --- */
	.mv__tit ._en {
		font-size: 11.4vw;
		letter-spacing: 0.18em;
		text-indent: 0.18em;
	}

	.mv__tit ._jp {
		margin-top: 10px;
		font-size: 3.2vw;
	}

	/* --- lead --- */
	.lead__sec {
		padding: 15vw 6% 0;
	}

	.lead__heading {
		font-size: 5.6vw;
		letter-spacing: 0.06em;
		text-indent: 0.06em;
	}

	/* --- route --- */
	.route__sec {
		padding: 12vw 6% 0;
	}

	/* --- forstation --- */
	.forstation {
		padding: 16vw 6% 20vw;
	}

	.forstation ._note {
		font-size: 3.1vw;
	}

	.forstation ._main {
		white-space: normal;
	}

	.forstation ._small {
		font-size: 2.9vw;
		vertical-align: 0.3em;
	}

	/* 2カラム → 1カラム */
	.st__2culm__wrap {
		display: block;
		max-width: 100%;
	}

	.st__2culm__ind + .st__2culm__ind {
		margin-top: 11vw;
	}

	.st__2culm__ttl {
		margin-bottom: 3.5vw;
	}

	.st__2culm__ttl ._main {
		font-size: 5.6vw;
	}

	.st__2culm__ttl ._num {
		font-size: 9.4vw;
	}

	/* 3カラム → 1カラム */
	.st__3culm__wrap {
		display: block;
		max-width: 100%;
		margin-top: 13vw;
	}

	.st__3culm__ind + .st__3culm__ind {
		margin-top: 10vw;
	}

	.st__3culm__ttl {
		margin-bottom: 3.5vw;
	}

	.st__3culm__ttl ._note {
		font-size: 3vw;
	}

	.st__3culm__ttl ._main {
		font-size: 5.2vw;
	}

	.st__3culm__ttl ._num {
		font-size: 8.6vw;
	}

	.st__3culm__ttl ._time {
		font-size: 3vw;
	}

	.st__2culm__img,
	.st__3culm__img {
		aspect-ratio: 16 / 10;
	}
}

/* ==========================================================
   SP（〜500px）
   ========================================================== */
@media screen and (max-width: 500px) {
	/* --- mv --- */
	
    img.mv__img {
		aspect-ratio: 75/64;
	}
	
	img.map__img {
		width: 100%;
	}
}



