@charset "UTF-8";
/* CSS Document */

/* --------------------------------------------------


access共通


-------------------------------------------------- */

/* --------------------------------------------------
main
-------------------------------------------------- */

#main {
  width: 100%;
	box-sizing:border-box;
	position:relative;
}

@media screen and (max-width: 800px) {
	#main {
		width: auto;
		float:none;
		padding-left:0;
	}
}

/* --------------------------------------------------
ttl
-------------------------------------------------- */
.ttl-access{
	font-size: 7.2rem;
	font-weight: bold;
	text-align: center;
	position: relative;
	z-index: 10;
}

.access-wrap-ttl{
	font-size: 7.2rem;
	font-weight: bold;
	margin-bottom: 0.5em;
}

.access-sttl{
	font-size: 2.4rem;
	font-weight: bold;
	padding-left: .5em;
	border-left: 6px solid #B9464A;
}

@media screen and (max-width: 800px) {
	.ttl-access{
		font-size: 2.6rem;
	}
	
	.access-wrap-ttl{
		font-size: 2.4rem;
	}
	
	.access-sttl{
		font-size: 1.6rem;
	}
}

/* --------------------------------------------------
pht
-------------------------------------------------- */
.pct-map{
	margin-top: -50px;
	margin-bottom: 5%;
}
@media screen and (max-width: 800px) {
	.pct-map{
		margin-top: -16px;
	}
}

/* --------------------------------------------------
access-wrap 
-------------------------------------------------- */
.access-wrap{
	margin-bottom: 5%;
}

/* --------------------------------------------------
access-block 
-------------------------------------------------- */
.access-block{
	background-color: #F3F3F3;
	border: 1px solid #DEDEDE;
	margin-bottom: 4%;
	padding: 2em;
	position: relative;
}
.access-block dl dd{
	margin-top: 5%;
}
.access-block .access-inner{
	margin: 4em 0 2em;
}
.access-block .access-inner.innerclose{
	display: none;
}
.access-block .access-ttl-area{
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}
.access-block .access-ttl-area .access-ttl{
	font-size: 3.6rem;
	font-weight: bold;
	position: relative;
	padding-bottom: .4em;
}
.access-block .access-ttl-area .access-ttl:after{
	content: "";
	display: block;
	position: absolute;
	width: 215px;
	height: 5px;
	margin: auto;
	top: auto;
	bottom: 0;
	right: auto;
	left: 0;
	z-index: 0;
	background: #B9464A;
}
.access-block .way{
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 1em 0;
}
.access-block .way + .way{
	margin-top: 4%;
}

.access-block hr {
	height: 2px;
	position: relative;
	border: none;
	margin: 2em 0 2.4em;
}
.access-block hr::before {
	content: "";
	background-image: linear-gradient(to right, #707070, #707070 3px, transparent 3px, transparent 6px);
	background-size: 6px 1px;
	background-repeat: repeat-x;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}
.access-block .way .route {
	width: 100%;
	flex-grow: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: relative;
	z-index: 10;
}
.access-block .way .route::after{
	content: '';
	display: block;
	position: absolute;
	width: 100%;
	height: 5px;
	background: #B9464A;
	left: 0;
	z-index: -1;
}
.access-block .way .route .route-spot-start,
.access-block .way .route .route-spot-center,
.access-block .way .route .route-spot-end{
	background: #fff;
	margin: 1em 0;
	padding: 1.4em 1em;
	border: 1px solid #707070;
	width: 34rem;
	/* height: 9rem; */
	font-size: 1.8rem;
	font-weight: bold;
	text-align: center;
	display: flex;
    align-items: center;
    justify-content: center;
}
.access-block .way .route .route-time{
	min-width: calc(100% - 125rem);
	font-size: 1.8rem;
	font-weight: bold;
	text-align: center;
	color: #B9464A;
	align-self: flex-end;
	position: relative;
	padding-top: 110px;
}

/* way-airplane */
.access-block .way.way-airplane .route-time:before{
	content: "";
	display: block;
	position: absolute;
	width: 99px;
	height: 50px;
	margin: auto;
	top: 0;
	bottom: auto;
	right: 50%;
	transform: translateX(50%);
	z-index: 1;
	background: url(../img/icon-airplane.svg) center no-repeat;
	background-size: contain;
}
/* way-bus */
.access-block .way.way-bus .route-time:before{
	content: "";
	display: block;
	position: absolute;
	width: 105px;
	height: 50px;
	margin: auto;
	top: 0;
	bottom: auto;
	right: 50%;
	transform: translateX(50%);
	z-index: 1;
	background: url(../img/icon-bus.svg) center no-repeat;
	background-size: contain;
}
/* way-shinkansen */
.access-block .way.way-shinkansen .route-time:before{
	content: "";
	display: block;
	position: absolute;
	width: 95px;
	height: 48px;
	margin: auto;
	top: 0;
	bottom: auto;
	right: 50%;
	transform: translateX(50%);
	z-index: 1;
	background: url(../img/icon-shinkansen.svg) center no-repeat;
	background-size: contain;
}
/* way-car */
.access-block .way.way-car .route-time:before{
	content: "";
	display: block;
	position: absolute;
	width: 99px;
	height: 36px;
	margin: auto;
	top: 0;
	bottom: auto;
	right: 50%;
	transform: translateX(50%);
	z-index: 1;
	background: url(../img/icon-car.svg) center no-repeat;
	background-size: contain;
}
/* way-train */
.access-block .way.way-train .route-time:before{
	content: "";
	display: block;
	position: absolute;
	width: 105px;
	height: 50px;
	margin: auto;
	top: 0;
	bottom: auto;
	right: 50%;
	transform: translateX(50%);
	z-index: 1;
	background: url(../img/icon-train.svg) center no-repeat;
	background-size: contain;
}
/* way-ferry */
.access-block .way.way-ferry .route-time:before{
	content: "";
	display: block;
	position: absolute;
	width: 111px;
	height: 38px;
	margin: auto;
	top: 0;
	bottom: auto;
	right: 50%;
	transform: translateX(50%);
	z-index: 1;
	background: url(../img/icon-ferry.svg) center no-repeat;
	background-size: contain;
}
/* by-train */
.access-block .way .route-time.by-train:before{
	content: "";
	display: block;
	position: absolute;
	width: 105px;
	height: 50px;
	margin: auto;
	top: 0;
	bottom: auto;
	right: 50%;
	transform: translateX(50%);
	z-index: 1;
	background: url(../img/icon-train.svg) center no-repeat;
	background-size: contain;
}
/* by-car */
.access-block .way .route-time.by-car:before{
	content: "";
	display: block;
	position: absolute;
	width: 105px;
	height: 50px;
	margin: auto;
	top: 0;
	bottom: auto;
	right: 50%;
	transform: translateX(50%);
	z-index: 1;
	background: url(../img/icon-car.svg) center no-repeat;
	background-size: contain;
}

.access-block .way .btn-more{
	max-width: 440px;
	margin-left: 2em;
	margin-right: 0;
}
.access-block .way .btn-more a{
	text-align: center;
	display: block;
	width: 100%;
	min-width: 300px;
	padding: .4em;
	color: #E62115;
	background-color: #fff;
	font-weight: bold;
	border: 1px solid #E62115;
	border-radius: 2.5rem;
	position: relative;
	transition: .3s;
}
.access-block .way .btn-more a:after{
	content: "";
	display: block;
	position: absolute;
	width: 6px;
	height: 6px;
	margin: auto;
	top: 50%;
	bottom: auto;
	right: 10%;
	left: auto;
	z-index: 5;
	border-top: 2px solid #E62115;
	border-right: 2px solid #E62115;
	transform: translateY(-50%) rotate(45deg);
	transition: .3s;
}

@media screen and (max-width: 1400px) {
	.access-block .way .route .route-spot-start,
	.access-block .way .route .route-spot-center,
	.access-block .way .route .route-spot-end{
		width: auto;
	}
}

@media screen and (max-width: 1200px) {
	.access-block .way{
		flex-wrap: wrap;
	}
	.access-block .way .btn-more{
		flex: 100%;
		margin: 1em 0 1em auto;
	}
}


@media screen and (max-width: 800px) {
	.access-block{
		padding: 2em 10px;
	}
	.access-block .access-ttl-area .access-ttl{
		font-size: 1.8rem;
	}
	.access-block .access-ttl-area .access-ttl:after{
		width: 60px;
	}
	.access-block .way{
		display: block;
		margin: 1em 0 3em;
	}
	.access-block .way .route {
		display: block;
	}
	.access-block .way .route::after{
		width: 5px;
		height: 100%;
		left: 10%;
		top: 0;
		bottom: 0;
	}
	.access-block .way .route .route-time{
		width: 100%;
		padding-top: 4em;
		padding-left: 4em;
	}
	.access-block .way .route .route-time::before{
		right: calc(50% - 2em);
	}
	.access-block .way .btn-more a{
		min-width: inherit;
	}
}

/* --------------------------------------------------


kyushu.html


-------------------------------------------------- */

/* link-list */
.link-list{
	padding:1rem;
}
.link-list li a{
	display: block;
	font-size: 1.6rem;
	padding: 1em 2em;
	border: 1px solid #B1B1B1;
	border-radius: 2em;
	margin-bottom: .6em;
}
.link-list li a:before{
	content:"\f0c1";
	font-family:fontawesome;
	margin-right:1rem;
	color:#CA0011;
}

/* --------------------------------------------------


city.html


-------------------------------------------------- */

/* --------------------------------------------------
ttl 
-------------------------------------------------- */
/* city-ttl */
.city-block .city-ttl{
	font-size: 4.7rem;
	font-weight: bold;
	position: relative;
	padding-bottom: .4em;
	margin-bottom: 2em;
}
.city-block .city-ttl:after{
	content: "";
	display: block;
	position: absolute;
	width: 100px;
	height: 5px;
	margin: auto;
	top: auto;
	bottom: 0;
	right: auto;
	left: 0;
	z-index: 0;
	background: #B9464A;
}
/* city-mttl */
.city-mttl{
	font-size: 2.4rem;
	font-weight: bold;
	margin-bottom: 1em;
	padding-left: .7em;
	border-left: 6px solid #CA0011;
}

/* city-sttl */
.city-sttl{
	font-size: 1.7rem;
	color: #B9464A;
	margin-bottom: 0.5em;
}

@media screen and (max-width: 800px) {
	
	.city-block .city-ttl{
		font-size: 2.4rem;
	}
	
	.city-mttl{
		font-size: 2rem;
	}

	.city-sttl{
		font-size: 1.6rem;
	}
}

/* --------------------------------------------------
city-top 
-------------------------------------------------- */
.city-top{
	margin: 8% 0 5%;
}
.city-top .ttl-access{
	margin-bottom: .5em;
}
.city-top p{
	line-height: 2;
}

@media screen and (max-width: 800px) {
	.city-top p{
		line-height: 1.6;
	}
}

/* --------------------------------------------------
city-block 
-------------------------------------------------- */
.city-block{
	position: relative;
	z-index: 0;
	padding: 5% 0;
}
.city-block::before{
	content: '';
	position: absolute;
	display: block;
	width: 86%;
	height: 80%;
	top: 0;
	bottom: auto;
	left: auto;
	right: 0;
	z-index: -1;
	background-color: #F3F3F3;
}
.city-block:nth-child(2n):before{
	left: 0;
	right: auto;
}
#howto-tram:before{
	height: 72%;
}
#about-shiromegurin:before{
	height: 92%;
}
#howto-shiromegurin:before{
	height: 74%;
}
#ic-card:before{
	height: 66%;
}
/* city-wrap */
.city-block .city-wrap{
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	margin-bottom: 3%;
}
.city-block .city-wrap.reverse{
	flex-direction: row-reverse;
}
.city-block .city-wrap .city-txt{
	width: 48%;
	margin-bottom: 4%;
}
.city-block .city-wrap .pht{
	width: 48%;
	margin: 0 auto 1em;
}
.city-block .city-wrap .city-txt .pht{
	width: 90%;
	margin-bottom: 2em;
}
.city-block .city-wrap .city-txt p{
	font-size: 1.7rem;
	margin-bottom: 1em;
}

@media screen and (max-width: 800px) {
	.city-block .city-wrap .city-txt{
		width: 100%;
		margin-bottom: 4%;
	}
	.city-block .city-wrap .pht{
		width: 100%;
	}
	.city-block .city-wrap .city-txt p{
		font-size: 1.4rem;
	}
}
/* wide-wrap */
.city-block .wide-wrap .city-txt{
	padding-left: 8%;
	margin-bottom: 1em;
}
.city-block .wide-wrap .pht{
	margin-right: 0;
}
@media screen and (max-width: 800px) {
	.city-block .wide-wrap .city-txt{
		width: 92%;
		padding-left: 0;
		margin: 0 auto;
	}
}
/* table-price */
.city-block .table-price{
	border-bottom: 1px solid #DEDEDE;
	border-collapse: collapse;
	width: 100%;
	margin-bottom: 2em;
	table-layout: fixed;
}
.city-block .table-price th,
.city-block .table-price td{
	background-color: #fff;
	padding: 1em .4em;
	border-top: 1px solid #DEDEDE;
	border-right: 1px solid #DEDEDE;
	border-left: 1px solid #DEDEDE;
	font-size: 1.3rem;
	line-height: 1.6rem;
	text-align: center;
}
.city-block .table-price th{
	font-weight: bold;
}
.city-block .table-price th:first-child{
	width: 20%;
}
/* wifi-txt */
.city-block .wifi-txt{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	font-size: 1.7rem;
}
.city-block .wifi-txt a{
	color: #D33845;
	font-weight: bold;
	text-decoration: underline;
	margin: 0 .4em;
}
@media screen and (max-width: 800px) {
	.city-block .wifi-txt img{
		max-width: 46px;
	}
}
/* explanation-txt */
.city-block .city-wrap p.explanation-txt{
	font-size: 1.4rem;
	line-height: 2;
	margin-bottom: 2em;
}
@media screen and (max-width: 800px) {
	.city-block .city-wrap p.explanation-txt{
		font-size: 1.2rem;
		line-height: 1.8;
	}
}
/* about-txt */
.city-block .city-wrap .city-txt.about-txt{
	padding-left: 3%;
}
/* city-list */
.city-block .city-wrap .city-list{
	margin-bottom: 1em;
}
.city-block .city-wrap .city-list li{
	position: relative;
}
.city-block .city-wrap .city-list li:before{
	content: "・";
}


/* --------------------------------------------------
link-pdf
-------------------------------------------------- */
.link-pdf{
	padding:1rem;
}
.link-pdf li a{
	display: block;
	font-size: 1.6rem;
	padding: 1em 2em;
	border: 1px solid #B1B1B1;
	border-radius: 2em;
	margin-bottom: .6em;
}
.link-pdf li a:before{
	content:"\f15c";
	font-family:"Font Awesome 5 Free";
	font-weight: 900;
	margin-right:1rem;
	color:#CA0011;
}


/* links-wrap */
.links-wrap p.related-link{
	margin: 1em 0;
}

/* related-link related-file*/

p.related-link,
p.related-file{
	margin: 4rem 0;
	word-wrap: normal;
}

p.related-link a,
p.related-file a{
	display: block;
	width: 100%;
	margin: 0 auto;
	text-align: left;
	color: #000;
	background: #fff;
	border: 1px solid #B1B1B1;
	padding: .8em 2em .8em 3.5em;
	border-radius: 3.2rem;
	position: relative;
	transition: .3s;
	position: relative;
}


/* related-link */
p.related-link a::before{
	content:"\f0c1";
	font-family: "FontAwesome";
	margin-right: 1rem;
	color: #CA0011;
	position: absolute;
	line-height: 1;
	left: 1.5em;
	top: 50%;
	margin-top: -.5em;
}

/* related-file */
p.related-file a::before{
	content:"\f15c";
	font-family: "FontAwesome";
	margin-right: 1rem;
	color: #CA0011;
	position: absolute;
	line-height: 1;
	left: 1.5em;
	top: 50%;
	margin-top: -.5em;
}

@media screen and (max-width: 800px) {

	p.related-link,
p.related-file{
	margin: 2rem 0;
}

}