@charset "utf-8";


/*  l-episode
--------------------------------------------------*/
.l-intro{
	position: relative;
	width: 100%;
	padding-block: 20.0rem 30.0rem;
	margin-block: 0 8.0rem;
}
.l-intro:after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    margin-inline: auto;
    width: 1px;
    height: 6.0rem;
    background-color: #666666;
}
.intro-heading{
	font-size: 3.2rem;
	line-height: 1.75;
	letter-spacing: .3em;
	text-align: center;
}
.intro-desc{
	font-size: 1.6rem;
	line-height: 2;
	letter-spacing: .2em;
	text-align: center;
}
.intro-heading + .intro-desc{
	margin-top: 3.5rem;
}
.intro-route{
	margin-block: 15.0rem 16.0rem;
}
.intro-station {
	position: relative;
}
.intro-station__ttl {
	font-size: 2.0rem;
	line-height: 1;
	letter-spacing: .2em;
	margin-bottom: 3.0rem;
}
.intro-station__list {
	width: 100%;
	gap: 12.0rem 9.8rem;
}
.intro-station__item {
	position: relative;
	width: calc((100% - 19.6rem) / 3);
	padding-left: calc(30 / 1360 * 100%);
}
.intro-station__item:before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 4px;
	height: 100%;
	background-color: #527c87;
}
.intro-station__item__info {
	width: calc(185 / 358 * 100%);
}
.intro-station__item__info__desc {
	font-size: 2.0rem;
	line-height: 1.4;
	letter-spacing: .15em;
}
.intro-station__item__info__desc span{
	display: inline-block;
}
.intro-station__item__info__desc em{
	font-size: 1.25em;
	letter-spacing: .15em;
	line-height: 1;
}
.intro-station__item__info__desc i{
	font-size: 2.0em;
	letter-spacing: .05em;
	line-height: 1;
	color: #527c87;
	vertical-align: -0.02em;
}
.intro-station__item__info__desc small{
	font-size: 0.75em;
}
.intro-station__item__info__note {
	font-size: 1.2rem;
	line-height: 1.666666666666667;
	letter-spacing: .1em;
	margin-top: 1.0rem;
}
.intro-station__item__figure {
	width: calc(160 / 358 * 100%);
}
@media screen and (max-width: 768px){
	.l-intro{
		padding-block: 6.0rem 12.0rem;
		margin-block: 0 6.0rem;
	}
	.intro-heading{
		font-size: 2.0rem;
		width: 100%;
	}
	.intro-desc{
		font-size: 1.4rem;
        text-align: justify;
	}
	.intro-heading + .intro-desc{
		margin-block: 2.0rem 0;
	}
	.intro-route{
		width: 100%;
		margin-block: 4.0rem 7.0rem;
		padding: 1.0rem;
		overflow-y: hidden;
	}
	.intro-route figure{
		width: 800px;
	}
	.intro-route .f-caption{
		left: 0;
		right: auto;
		transform: translateY(0);
	}
	.intro-station__ttl {
		font-size: 1.8rem;
		margin-bottom: 2.0rem;
	}
	.intro-station__list {
		gap: 3.5rem 0;
	}
	.intro-station__item {
		width: 100%;
		padding-left: calc(25 / 320 * 100%);
	}
	.intro-station__item:before {
		width: 3px;
	}
	.intro-station__item__info {
		padding-block: 2.0rem;
	}
	.intro-station__item__info__desc {
		font-size: 1.6rem;
	}
	.intro-station__item__info__note {
		font-size: 1.0rem;
		margin-top: .7rem;
		text-align: justify;
	}
	.intro-station__item__figure {
		z-index: 1;
	}
}




/*  l-airport
--------------------------------------------------*/
.l-airport {
	position: relative;
	padding-bottom: 18.0rem;
}
.airport-inner {
	position: relative;
}
.airport-ttl {
	font-size: 2.5rem;
	line-height: 1.75;
	letter-spacing: .2em;
	text-align: center;
	margin-bottom: 6.0rem;
}
.airport-contents {
	position: relative;
	padding-block: 7.5rem;
	background: url(../img/bg_airport-pc.jpg) no-repeat center center/cover;
}
.airport-heading {
	font-size: 2.5rem;
	line-height: 1.75;
	letter-spacing: .2em;
	color: #fff;
	text-align: center;
	margin-bottom: 4.0rem;
}
.airport-box {
	width: min(80%,820px);
	margin-inline: auto;
	background-color: #000000;
	color: #fff;
}
.airport-box + .airport-box {
	margin-top: 2.5rem;
}
.airport-box1 .airport-figure {
	width: calc(310 / 820 * 100%);
}
.airport-box2 .airport-figure {
	width: calc(195 / 820 * 100%);
}
.airport-box1 .airport-info {
	width: calc(510 / 820 * 100%);
	padding-left: calc(40 / 820 * 100%);
}
.airport-box2 .airport-info {
	width: calc(625 / 820 * 100%);
	padding-left: calc(40 / 820 * 100%);
}
.airport-info__from {
	display: inline-block;
	font-size: 1.6rem;
	line-height: 1.4;
	letter-spacing: .15em;
}
.airport-info__desc {
	display: inline-block;
	font-size: 1.8rem;
	line-height: 1.4;
	letter-spacing: .15em;
}
.airport-info__desc em{
	font-size: 1.555555555555556em;
	letter-spacing: .15em;
	line-height: 1;
}
.airport-info__desc rt{
	font-size: 1.0rem;
	letter-spacing: .15em;
	text-align: center;
}
.airport-info__desc span{
	font-size: 1.333333333333333em;
	letter-spacing: .15em;
	line-height: 1;
}
.airport-info__desc i{
	font-size: 2.555555555555556em;
	letter-spacing: .05em;
	line-height: 1;
	vertical-align: -0.02em;
}
.airport-info__note {
	font-size: 1.0rem;
	line-height: 1.6;
	letter-spacing: .1em;
	margin-top: 1.0rem;
}
@media screen and (max-width: 768px){
	.l-airport {
		padding-bottom: 10.0rem;
	}
	.airport-ttl {
		font-size: 1.8rem;
		line-height: 2;
		margin-bottom: 3.0rem;
	}
	.airport-contents {
		padding-block: 4.0rem;
		background: url(../img/bg_airport-sp.jpg) no-repeat center center/cover;
	}
	.airport-heading {
		font-size: 1.8rem;
		line-height: 2;
		margin-bottom: 3.0rem;
	}
	.airport-box {
		width: calc(340 / 380 * 100%);
		padding-block: 2.0rem 2.5rem;
		padding-inline: calc(20 / 380 * 100%);
	}
	.airport-box + .airport-box {
		margin-top: 2.0rem;
	}
	.airport-box1 .airport-figure {
		width: 100%;
		margin-bottom: 2.0rem;
	}
	.airport-box2 .airport-figure {
		width: 100%;
		margin-bottom: 2.0rem;
	}
	.airport-box1 .airport-info {
		width: 90%;
		padding-left: 0;
		margin-inline: auto;
	}
	.airport-box2 .airport-info {
		width: 90%;
		padding-left: 0;
		margin-inline: auto;
	}
	.airport-info__from {
		display: block;
		font-size: 1.2rem;
        margin-bottom: 0.8rem;
	}
	.airport-info__desc {
		display: block;
		font-size: 1.6rem;
	}
	.airport-info__desc rt {
		font-size: .8rem;
		transform: translateY(-10%);
	}
}

