@charset "utf-8";

body{
	background:#fafafa;
	font-family: 'TsukuARdGothic-Regular','TsukuBRdGothic-Regular','メイリオ', Meiryo,'Yu Gothic UI','ヒラギノ角ゴシック','Hiragino Sans','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
}

/*#section-breadcrumb{
	border-bottom:1px solid #e7e7e7;
}
*/
.btn-search:hover{
	color:#fff !important;
	opacity:0.8;
}

.row-card-plan-01{
	margin-bottom:60px;
}

	@media(max-width:767px) {
		#middle-page .row-card-plan-01{
			margin-bottom:20px;
		}
		
		#middle-page #text-area{
			margin-top:20px !important;
		}
		
		.searchbox01 .btn-group .btn{
			font-size:13px;
		}
	
	}
.title02-set{
	margin-top:40px;
}

/*
PCMB
*************************************/

@media(min-width:768px) {
	.pcview{display:block;}
	.mbview{display:none;}
}

@media(max-width:767px) {
	.pcview{display:none;}
	.mbview{display:block;}
}


/*
カラー
*************************************/

#dep-arr ul{
	border-bottom:4px solid #3BAFDA;
}


#main-middle .card{
	border-top:5px solid #3BAFDA
}

a.btn-detail{
	background:#333;
}

a.btn-detail:hover{
	opacity:0.8;
}

#dep-arr ul li a:hover,
#dep-arr ul li a.active,
h1.ttl-dep-arr span.area-name{
	background:#3BAFDA
}

.txt-dep-arr span.area-name{
	color:#3BAFDA
}

.card-header h2 i,
.ttl03 i{
	color:#999;
}


/*
dep-arr
*************************************/

#dep-arr{
	margin-top:50px;
}

#dep-arr ul{
	width:100%;
	margin:0 auto;
	text-align:center;
}

#dep-arr ul li{
	display:inline-block;
}

#dep-arr ul li:first-child{
	margin-left:10px;
	margin-right:5px;
}

#dep-arr ul li:first-child a{
	border-radius: 3px 0 0 0;
}

#dep-arr ul li:last-child a{
	border-radius: 0 3px 0 0;
}

#dep-arr ul li a{
	color:#333;
	font-weight:bold;
	background:#eee;
	display:block;
	padding:10px 30px;
	text-decoration:none;
}

#dep-arr ul li a:before{
	content: "\f0da";
	font-family: "Font Awesome 5 Free";
	font-weight:900;
	margin-right:10px;
}

#dep-arr ul li a:hover{
	text-decoration:none;
	color:#fff;
	font-weight:bold;
}

#dep-arr ul li a.active{
	font-weight:bold;
	color:#fff;
}

	@media(max-width:767px) {
		#dep-arr ul li a{
			padding:10px 20px;
			width:160px;
			font-size:14px;
			text-align:center;
		}
	}
	
	@media (max-width:374px) {
		#dep-arr ul li a{
			padding:10px 12px;
			width:133px;
		}
		
		#dep-arr ul li a:before{
			margin-right:5px;
		}
	}

/*
ttl-dep-arr
*************************************/

h1.ttl-dep-arr{
	font-size:24px;
	font-weight:bold;
	text-align:center;
	padding:30px 0;
	text-shadow:none;
	color:#333;
	background:url(/static/3/img/ferry/bg-stripe.png),#fff;
	margin-bottom:0;
}

h1.ttl-dep-arr span.area-name{
	color:#fff;
	padding:5px 10px 2px 10px;
	text-align:center;
	margin-right:20px;
	border-radius: 3px;
	display:inline-block;
}

@media(max-width:767px) {
	h1.ttl-dep-arr{
		font-size:16px;
		font-weight:bold;
		text-align:center;
		padding:17px 5px 10px 5px;
	}
	
	h1.ttl-dep-arr span.area-name{
		margin-right:10px;
		margin-bottom:10px;
	}
	
	h1.ttl-dep-arr span.ttl-main{
		display:inline-block;
		margin-bottom:10px;
	}
}

/*
txt-dep-arr
*************************************/

.txt-dep-arr{
	padding:30px 0;
	margin-bottom:60px;
	text-align:center;
	line-height:1.8;
	background:#fff;
}

.txt-dep-arr span.area-name{
	font-size:18px;
	font-weight:bold;
	margin-right:3px;
}

@media(max-width:767px) {
	.txt-dep-arr{
		padding:10px;
		font-size:12px;
		margin-bottom:20px;
	}
}


.ttl03{
	font-size:18px;
	margin: 0px 0 5px 30px;
	text-align:center;
	font-weight:bold;
}

.ttl03 i{
	margin-right:15px;
}

@media(max-width:767px) {
	.ttl03 i{
		margin-right:10px;
	}
}

/*
area-list
******************************/

ul.area-list{
	margin-bottom:20px;
	padding-left:0;
}

ul.area-list li{
	width:175px;
	float:left;
	border:1px solid #ccc;
	margin-right:10px;
	margin-bottom:5px;
}

ul.area-list a{
	font-size:14px !important;
	position: relative;
	padding:7px 10px;
	display:block;
	color:#333;
	background:#fff;
}

ul.area-list li a:after{
	content: "\f054";
	font-family: "Font Awesome 5 Free";
	font-weight:900;
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	right: 2px;
	color:#F53D7E;
}

ul.area-list a:hover{
	background:#fad6dc;
}

ul.area-list li a{
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

@media (min-width : 992px) {
	ul.area-list li{
		width:175px;
	}

}
@media only screen and (min-width : 992px) and (max-width : 1199px) {
	ul.area-list li{
		width:100%;
	}
	ul.area-list li a{
		width:100%;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
}


@media (min-width : 992px) {
	ul.area-list li:nth-child(even){
		margin-right:0px;
	}
}

@media only screen and (min-width : 768px) and (max-width : 991px) {
	ul.area-list li{
		width:32%;
	}
	
	ul.area-list li:nth-child(3n){
		margin-right:0px;
	}
	
}


@media(max-width:767px) {
	ul.area-list li{
		width:48.5%;
	}
	ul.area-list li:nth-child(even){
		margin-right:0px;
	}
}

@media(max-width:374px) {
	ul.area-list li{
		width:47.5%;
	}
}


/*
main-middle
********************************************/


#main-middle {
	margin-bottom:40px;
}

#main-middle h2{
	font-size:20px;
	text-align:left;
	margin:5px 0 15px 0;
}

#main-middle .card{
	margin-bottom:40px;
}


#main-middle .card:last-child{
	margin-bottom:20px;
}

#main-middle .card.type-ferry-bus .card-header{
	
}

#main-middle .card-header{
	padding:25px 20px;
	background:#fff;
}

#main-middle .card-header h2{
	margin:0;
}

#main-middle .card-body{
	padding:0;
}

#main-middle .card h3{
	text-align:left;
}



.table#main-price-list{
	margin-bottom:0;
}

.table#main-price-list th{
	color:#666;
	background:#ddd;
}

.table#main-price-list .main-price-list-area{
	font-weight:bold;
	color:#666;
	text-align:left !important;
	background:#f4f4f4;
	padding-left:15px;
}

table.main-price-list th,
table.main-price-list td{
	vertical-align:middle;
}

table.main-price-list td:first-child{
	background:#fff;
}
table.main-price-list td:first-child a{
	font-weight:normal;
	color:#333;
}
table.main-price-list td a{
	color:#F53D7E;
	font-weight:bold;
	text-decoration:none;
}
table.main-price-list td{
	padding:12px ;
	background:#fff;
}

table.main-price-list thead th,
table.main-price-list th, table.main-price-list td{
	border:none !important;
	border-top:1px solid #dee2e6 !important;
}

table.main-price-list thead th{
	background:#f8f8f8;
}

table.main-price-list tr:last-child td{
	border-bottom:1px solid #dee2e6 !important;
}

a.btn-detail{
	display:block;
	color:#fff !important;
	padding:5px;
	border-radius:5px;
	text-align:center;
}

.price-num{
	color:#F53D7E;
	font-size:18px;
	font-weight:bold;
	display:inline-block;
}

.price-num:before{
	content: "￥";
	color:#F53D7E;
	font-weight:bold;
	display:inline-block;
}

.price-num:after{
	content: "～";
	color:#F53D7E;
	font-weight:bold;
	display:inline-block;
	margin-left:3px;
}

@media(min-width : 768px) {
	.mb-price-label,
	.mb-trans-label{
		display:none;
	}
}

@media(max-width:767px) {
	#main-middle .card-header{
		padding:15px 20px;
	}
	
	.passenger-type-ferry,
	.passenger-type-ferry-bus{
		margin-bottom:5px;
	}
	.price-num{
		float:right;
		margin-right:30px;
	}
}

.trans-txt{
	text-align:center;
}
.special-price-line,
.student-price-line,
.normal-price-line{
	text-align:center;
}

/*
.num-none{
	display:block;
	text-align:center;
}
*/

@media(max-width:767px) {
	.trans-txt,
	.special-price-line,
	.student-price-line,
	.normal-price-line{
		text-align:left;
	}
	
	.special-price-line:after,
	.student-price-line:after,
	.normal-price-line:after{
		content: "";
		clear: both;
		height: 0;
		display: block;
		visibility: hidden;
	}
	
	.num-none{
		width:95px;
		text-align:center;
		display:inline-block;
	}
}

.trans-txt{
	font-size:14px;
}

/*
テーブルセル幅調整
************************/

@media(min-width:1200px) {
	table.main-price-list thead th:first-child{
		text-align:left;
		padding-left:20px;
	}
	table.main-price-list thead th:nth-child(2),
	table.main-price-list thead th:nth-child(3),
	table.main-price-list thead th:nth-child(4){
		width:140px;
	}
	table.main-price-list thead th:nth-child(2),
	table.main-price-list thead th:nth-child(3),
	table.main-price-list thead th:nth-child(4){
		text-align:center;
	}

	table.main-price-list thead th:last-child,
	table.main-price-list tbody td:last-child{
		width:150px;
		text-align:center;
	}

}

@media(min-width : 992px) and (max-width : 1199px) {
	table.main-price-list thead th:first-child{
		text-align:left;
		padding-left:20px;
	}

	table.main-price-list thead th:nth-child(2),
	table.main-price-list thead th:nth-child(3),
	table.main-price-list thead th:nth-child(4){
		width:140px;
	}
	table.main-price-list thead th:nth-child(2),
	table.main-price-list thead th:nth-child(3),
	table.main-price-list thead th:nth-child(4){
		text-align:center;
	}


	table.main-price-list thead th:last-child,
	table.main-price-list tbody td:last-child{
		width:150px !important;
		text-align:center;
	}
}

@media(min-width : 768px) and (max-width : 991px) {
	table.main-price-list thead th:first-child{
		text-align:left;
		padding-left:20px;
	}

	table.main-price-list thead th:nth-child(2),
	table.main-price-list thead th:nth-child(3),
	table.main-price-list thead th:nth-child(4){
		width:137px !important;
	}
	table.main-price-list thead th:nth-child(2),
	table.main-price-list thead th:nth-child(3),
	table.main-price-list thead th:nth-child(4){
		text-align:center;
	}


	table.main-price-list thead th:last-child,
	table.main-price-list tbody td:last-child{
		width:100px !important;
		text-align:center;
	}

}

@media(max-width:767px) {
	table.main-price-list thead{
		display:none;
	}

	table.main-price-list tbody td,
	table.main-price-list tr:last-child td{
		display:block;
		padding:3px 20px !important;
		border:none !important;
	}
	
	.cell-null{
		display:none !important;
	}
	
	.mb-trans-label,
	.mb-price-label{
		margin-left:35px;
		margin-right:15px;
	}
	
	table.main-price-list a.btn-detail{
		margin-bottom:20px;
		font-size:16px;
	}
	table.main-price-list tr:last-child a.btn-detail{
		margin-bottom:0px;
	}
	
	h3.ttl03{
		padding:20px 15px 10px 15px;
		margin-left:4px !important;
		margin-bottom:0;
	}
	
	table.main-price-list tbody tr td:first-child{
		margin-left:15px;
		font-weight:bold;
	}

}

@media(max-width:374px) {


}


p.passenger-type-ferry{
	background:url(/static/3/img/ferry/icon_fe.gif) no-repeat left center;
	background-size:80px;
	padding-left:90px;
	font-weight:normal;
}

p.passenger-type-ferry-car{
	background:url(/static/3/img/ferry/icon_fecar.gif) no-repeat left center;
	background-size:80px;
	padding-left:90px;
	font-weight:normal;
}

p.passenger-type-ferry-bike{
	background:url(/static/3/img/ferry/icon_febk.gif) no-repeat left center;
	background-size:80px;
	padding-left:90px;
	font-weight:normal;
}

p.passenger-type-ferry-bus{
	background:url(/static/3/img/ferry/icon_febu.gif) no-repeat left center;
	background-size:80px;
	padding-left:90px;
	font-weight:normal;
}


@media(min-width : 768px) and (max-width : 991px) {

	p.passenger-type-ferry{
		background:url(/static/3/img/ferry/icon_fe.gif) no-repeat left top;
		background-size:80px;
		padding-top:30px;
		padding-left:0;
		font-size:14px;
		font-weight:normal;
	}
	
	p.passenger-type-ferry-car{
		background:url(/static/3/img/ferry/icon_fecar.gif) no-repeat left top;
		background-size:80px;
		padding-top:30px;
		padding-left:0;
		font-size:14px;
		font-weight:normal;
	}

	p.passenger-type-ferry-bike{
		background:url(/static/3/img/ferry/icon_febk.gif) no-repeat left top;
		background-size:80px;
		padding-top:30px;
		padding-left:0;
		font-size:14px;
		font-weight:normal;
	}

	p.passenger-type-ferry-bus{
		background:url(/static/3/img/ferry/icon_febu.gif) no-repeat left top;
		background-size:80px;
		padding-top:30px;
		padding-left:0;
		font-size:14px;
		font-weight:normal;
	}
	
	.trans-txt{
		font-size:11px;
	}

}



.card-header a{
	color:#333;
	display:inline-block;
}

.cpn-txt{
	font-size:14px;
	font-weight:bold;
	color:#cc0000;
	margin-top:3px;
}

.cpn-txt .cpn-i{
	font-size:10px;
	font-weight:bold;
	color:#fff;
	background:#cc0000;
	padding:2px 5px;
	margin-right:8px;
	border-radius:2px;
}

.passenger-txt{
	margin-top:5px;
	font-size:12px !important;
	font-weight:normal !important;
	color:#666;
}

@media(min-width : 768px) and (max-width : 991px) {
	.cpn-txt{
		font-size:14px;
		font-weight:bold;
		color:#cc0000;
		margin-top:3px;
	}

	.cpn-txt .cpn-i{
		display:block;
		width:80px;
		margin-right:0;
		margin-bottom:5px;
	}
}


@media(min-width : 768px) {
	#main-middle .card-body{
		padding:20px;
	}
	
	.table#main-price-list .this_month, 
	.table#main-price-list .next_month, 
	.table#main-price-list .after_2months, 
	.table#main-price-list .after_3months{
		text-align:center !important;
	}
	

	
}

@media(max-width:767px) {
	#main-middle h2{
		font-size:16px;
		text-align:left;
		margin:15px 0 10px 10px;
	}
	
	.table#main-price-list th{
		text-align:center;
	}
	
	.table#main-price-list th,
	.table#main-price-list .route_title,
	.table#main-price-list .main-price-list-area{
		font-size:14px;
	}
	
	.passenger-txt{
		padding-right:10px;
	}

}


ul.f-info{
	padding:15px;
	margin-bottom:10px;
}

ul.f-info li{
	display:inline-block;
	float:none;
}

ul.f-info li + li{
	margin-left:15px;
}

ul.f-info li .f-info-ttl{
	font-weight:bold;
	margin-right:10px;
}

/*
.ttl-box
**************************************/

.ttl-box{
	padding:20px 0px 10px 0px;
	background:#fff;
	border-bottom:1px solid #E7E7E7;
	position: relative;
}

.ttl-box h1{
	font-size:14px;
	font-weight:bold;
	line-height: 1.4;
	display:inline-block;
}

.ttl-box h1 .label-box{
	font-size:14px;
	font-weight:bold;
	color:#fff;
	margin-right:10px;
	padding:4px 10px;
	background:#3bafda;
	vertical-align: 3px;
	display: inline-block;
	border-radius: 2px;
}

.ttl-box h1 i{
	font-size:14px;
	vertical-align: 2px;
	margin:0 10px;
	color:#B2B2B2;
}

.from-name,
.to-name{
	font-size:18px;
}
	
.from-txt,
.to-txt{
	font-size:14px;
	padding-left:5px;
}

.ttl-box .select-month{
	font-size:12px;
	font-weight:bold;
	color:#B2B2B2;
	margin-bottom:3px;
}

.ttl-box .total-box{
	position: absolute;
	bottom:0px;
	right: 100px;
	font-weight:bold;
	margin-left:20px;
}

.ttl-box .total-box:after{
	content: "";
	clear: both;
	height: 0;
	display: block;
	visibility: hidden;
}

.ttl-box .total-box .total-num{
	font-size:22px;
	padding-right:5px;
	line-height:1.0;
}

.ttl-box hr{
	margin-left:-15px;
	margin-right:-15px;
}

.to-txt{
	padding-right:8px;
}

@media(min-width:992px) {
	.ttl-box{
		padding:30px 0 15px 0;
		margin-bottom:30px;
	}
	
	.ttl-box h1{
		font-size:20px;
		line-height:1.0;
	}
	
	.from-name,
	.to-name{
		font-size:21px;
	}
	
	.from-txt,
	.to-txt{
		font-size:16px;
		padding-left:8px;
	}

	.ttl-box .total-box .total-num{
		font-size:22px;
		padding-right:5px;
		vertical-align: -1px;
		line-height:1.4;
	}

}

@media(min-width : 992px) and (max-width : 1199px) {
	.ttl-box h1{
		max-width:500px !important;
	}
}


@media(min-width : 768px) and (max-width : 991px) {
	.ttl-box{
		margin-bottom:30px;
	}
	.ttl-box h1{
		max-width:580px;
	}

}

@media(max-width:767px) {
	table.table.main-price-list{
		width:100%;
		border-bottom:none;
	}
	
}

/*
逆区間
*************************************************/

.btn-reverse02{
	width:85px;
	padding:3px 8px;
	margin:0px 0 0px 20px;
	font-size:14px;
	font-weight:bold;
	color:#fff !important;
	text-align:center;
	background:#666;
	border:none;
	border-radius: 3px;
	display:inline-block;
	position:static;
}

.btn-reverse02:hover{
	color:#fff;
	text-decoration:none;
	background:#B2B2B2;
}

@media (max-width: 767px){
	.btn-reverse02{
		margin-left:0;
	}
}

/*
relation-area
*************************************************/

.relation-area h3{
	font-size:18px;
	font-weight:bold;
	padding:0;
	margin-bottom:15px;
}

.relation-area {
	padding:30px;
	background:#fff;
}

.relation-area ul li{
	float:left;
	margin-right:20px;
}

.relation-area ul li a{
	color:#333;
	text-decoration:underline;
}
.relation-area ul li a:hover{
	text-decoration:none;
}

/*
pr-box01
*************************************************/

.pr-box01{
	text-align:center;
	margin-bottom:30px;
}

.pr-box01 a{
	display:inline-block;
}

.pr-box01 a:hover{
	opacity:0.8;
}

.pr-box01 > div + div{
	margin-top:15px;
}


/*
searchbox01
*************************************************/


.searchbox01 h3{
	font-size:18px;
	padding-bottom:10px;
	margin-bottom:15px;
	border-bottom:1px solid #ddd;
}

.searchbox01 .rh-select .btn + .btn{
	border-left:1px solid #DBDBDB;
	margin-left:0;
}

@media(max-width:767px) {
	.searchbox01{
		margin-bottom:10px;
	}
	.rh-select dl dt{
		width:100%;
	}
	.rh-select dl dd{
		margin-left:0;
	}
	

}

/*
company-name
*************************************************/

.company-name{
	margin-left:23px;
	margin-bottom:5px;
}

.company-name a{
	padding-left:35px;
	/*background:url(/static/img/common/icon/i-nav-ferry.png) no-repeat center left;*/
	background:url(/static/3/img/ferry/bg_icon_ferry.png) no-repeat center left;
}

@media(max-width:767px) {
	.company-name{
		margin-top:15px;
		margin-left:22px;
		margin-bottom:5px;
		text-align:left;
	}
	
	.ttl03 + .company-name{
		margin-left:14px;
	}
	
	.company-name a{
		padding-left:25px;
		background-size:22px 14px;
	}

}


/*
text-area
******************************************/

#text-area{
	background:url(/static/img/ferry/bg-main02.jpg) no-repeat bottom center scroll,#000;
	background-size:cover;
	padding:50px 0;
	margin-top:50px;
	text-align:center;
}

#text-area h2{
	font-size:24px;
	font-weight:bold;
	line-height:1.5;
	margin-bottom:10px;
	text-align:center;
	color:#fff;
	margin-bottom:15px;
}


#text-area p{
	font-size:16px;
	color:#fff;
	line-height:1.8;
	margin-bottom:10px;
}

.dep-txt,
.arr-txt{
	font-size:20px;
	margin:0 10px 0 5px;
}


/*
about_baby
******************************************/
@media(max-width:767px) {
	.searchbox01 .people-selection{
		margin-bottom:0;
	}
}

.about_baby{
	padding:10px;
	margin-top:10px;
	margin-bottom:10px;
	border:1px solid #ccc;
	border-radius:5px;
}

.about_baby h4{
	font-size:14px;
	font-weight:bold;
	margin-top:-10px;
	margin-left:-10px;
	margin-right:-10px;
	padding:7px;
	text-align:center;
	background:#f4f4f4;
}
.about_baby h5{
	font-size:14px;
	font-weight:bold;
	margin-top:10px;
	margin-bottom:5px;
}

.about_baby p{
	margin-bottom:0;
}

.about_baby ul{
	margin-left:20px;
}
.about_baby ul li{
	list-style:disc;
}

.baby-sp{
	margin-left:23px;
}

#searchbox .modal-header{
	display:block;
	text-align:center;
	background:#333;
	height:auto;
}
#searchbox .modal-header h2{
	color:#fff;
	font-size:18px;
	font-weight:bold;
	padding:10px;
}

#searchbox .modal-header .close{
	color:#fff;
}


/*
loader
******************************/


#loader {
    position: fixed;
    top:calc(50% - 120px/2);
    left:calc(50% - 180px/2);
	width: 180px;
	height: 120px;
	text-align: center;
	color: #333;
	z-index: 1000000;
	background:rgba(255,255,255,0.8);
	padding:20px;
	border-radius: 10px;
	border:3px solid #666;
}

#loader p{
	padding:15px;
	font-size:18px;
	font-weight:bold;
}

/*
route-notfound
*******************************/

.route-notfound{
	padding:30px;
	margin:50px 0;
	border:1px solid #f38585;
}

.route-notfound p{
	font-weight:bold;
	color: #f38585;
}

/*
色調整
********************************/

.input-group .fa-plus,
.input-group .fa-minus{
	color:#3BAFDA !important;
}

.searchbox01 .btn-group .btn.active,
table.main-price-list td a{
	background:#3BAFDA !important;
}

/*
検索用モーダル時調整
********************************/

body.search-modal-open{
	position: fixed !important;
	overflow: hidden !important;
	width:100%;
}

.holiday {
    color: #da4453 !important;
}

/* 2021.04 改修 */

table.main-price-list{
	margin-top:15px;
}

#main-middle .card h3.ttl03{
	padding-top:0;
	margin-bottom:5px;
}

.relation-area h4{
	font-size:17px;
	font-weight:bold;
	margin-bottom:7px;
}

.relation-area h4 a{
	text-decoration:underline;
}
.relation-area h4 a:hover{
	text-decoration:none;
}


@media(max-width:767px) {
	table.main-price-list{
		margin-top:5px;
	}
	#main-middle .card h3.ttl03{
		padding-bottom:0;
	}
	.company-name{
		margin-top:5px;
	}
	.relation-area h4{
		margin-top:15px;
	}

	.company-name{
		margin-left:4px;
	}
	#main-middle .card-body{
		padding-top:10px;
	}
}

.relation-area.carrier > div + div,
.relation-area.ship > div + div{
	margin-top:20px;
}

.relation-area.carrier img,
.relation-area.ship img{
	width:100%;
	border-radius:4px;
}

.relation-area.carrier p,
.relation-area.ship p{
	font-size:15px;
}

.relation-area.carrier .address{
	margin:10px 0 0 25px;
	position:relative;
}

.relation-area.carrier .address:before{
	content: "\f3c5";
	font-family: "Font Awesome 5 Free";
	font-weight:900;
	position: absolute;
	top: 0;
	left:-20px;
}


.relation-area.ship .row + .row{
	margin-top:15px;
}


ul.terminal-list li{
	overflow:hidden;
	border:1px solid #ccc;
	margin-bottom:20px;
	border-radius:4px;
	position: relative;
}

ul.terminal-list li a{
	display:block;
	text-decoration:none;
	font-weight:bold;
	color:#6c1044;
}

ul.terminal-list li:after{
	content: "\f054";
	font-family: "Font Awesome 5 Free";
	font-weight:900;
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	right:10px;
	color: #F53D7E;
	font-size:24px;
}
ul.terminal-list li a:hover{
	background:#fad6dc;
}
ul.terminal-list li img{
	float:left;
	border-radius:4px;
	object-fit: cover
}


ul.terminal-list li a:after{
	content: "";
	clear: both;
	height: 0;
	display: block;
	visibility: hidden;
}

.terminal-add{
	color:#666;
	font-weight:normal;
	display:block;
	margin-top:7px;
	position:relative;
	margin-left:27px;
	font-size:15px;
}

.terminal-add:before{
	content: "\f3c5";
	font-family: "Font Awesome 5 Free";
	font-weight:900;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	left: -22px;
}

.terminal-tel{
	color:#666;
	font-weight:normal;
	display:block;
	position:relative;
	margin-left:27px;
	font-size:15px;
}

.terminal-tel:before{
	content: "\f095";
	font-family: "Font Awesome 5 Free";
	font-weight:900;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	left: -24px;
}

ul.terminal-list li:after{
	font-size:20px;
	right:5px;
}

@media(min-width:768px) {
	.ttl03 i{
		margin-right:16px;
	}

}


/* 時刻表 */


.ferry-timetable{
	margin:20px 0 0 0px;
	font-size:14px;
}

.ferry-timetable thead{
	background:#f9f9f9;
}

.company-name a,
.timetable-acc-link a,
a.restore{
	text-decoration:underline;
}

.company-name a:hover,
.timetable-acc-link a:hover,
a.restore:hover{
	text-decoration:none;
}

/*
.ferry-timetable table tr:nth-child(even){
	background:rgba(0,0,0,0.025);
}*/
.ferry-timetable table tr:last-child{
	border-bottom:1px solid #ddd;
}

.ferry-timetable .table th,
.ferry-timetable .table td{
	padding:10px 3px;
}

/* 便名 */

.ferry-timetable .table th:first-child,
.ferry-timetable .table td:first-child{
	width:150px;
	text-align:center;
}

.timetable-acc-link{
	margin-left:58px;
	position:relative;
}

.timetable-acc-link a{
	position:relative;
	display:inline-block;
}

.timetable-acc-link:before{
	content: "\f017";
	font-family: "Font Awesome 5 Free";
	font-weight:900;
	position:absolute;
	left:-30px;
	color:#999;
}

.timetable-acc-link a:after{
	content: "\f0de";
	font-family: "Font Awesome 5 Free";
	font-weight:900;
	color:#333;
	position:absolute;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	right:-15px;
}

.timetable-acc-link a.collapsed:after{
	content: "\f0dd";
	font-family: "Font Awesome 5 Free";
	font-weight:900;
	color:#333;
	position:absolute;
	top:7px;
	right:-15px;
}

.timetable-acc-link a.restore:after{
	content: "\f2d2";
	font-family: "Font Awesome 5 Free";
	font-weight:900;
	color:#333;
	font-size:12px;
	position:absolute;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	right:-18px;
}

@media(max-width:767px) {
	.ferry-timetable .table th:first-child,
	.ferry-timetable .table td:first-child{
		width:80px;
	}
	
	.timetable-acc-link{
		margin-left:40px;
	}
	
	.timetable-acc-link:before{
		left:-23px;
	}
}

/* 出発時刻 */

.ferry-timetable .table th:nth-child(2),
.ferry-timetable .table td:nth-child(2){
	width:100px;
	text-align:center;
}

@media(max-width:767px) {
	.ferry-timetable .table th:nth-child(2),
	.ferry-timetable .table td:nth-child(2){
		width:70px;
	}
}

/* 到着時刻 */
.ferry-timetable .table th:nth-child(3),
.ferry-timetable .table td:nth-child(3){
	width:100px;
	text-align:center;
}

@media(max-width:767px) {
	.ferry-timetable .table th:nth-child(3),
	.ferry-timetable .table td:nth-child(3){
		width:70px;
	}
}



@media(max-width:767px) {
	.ferry-timetable{
		margin:10px 10px;
	}

	.ferry-timetable table{
		width:500px;
		font-size:13px;
	}
	
	.ferry-timetable + .ferry-timetable{
		border-top:none;
	}
	
	.ferry-timetable + .main-price-list{
		margin-top:15px;
	}


}









@media(min-width:992px) {
	ul.terminal-list{
		width:100%;
	}
	ul.terminal-list li{
		width:48.8%;
	}
	
	ul.terminal-list li:nth-child(odd){
		margin-left:0;
	}
	ul.terminal-list li:nth-child(even){
		margin-right:0;
	}
	ul.terminal-list li img{
		width:135px;
		height:100px;
		
	}
	ul.terminal-list li .terminal-info{
		margin-left:143px;
	}
	ul.terminal-list li a{
		font-size:16px;
		padding:17px;
	}
}

@media(min-width : 992px) and (max-width : 1199px) { 
	.terminal-add,
	.terminal-tel{
		font-size:13px;
	}
} 
@media(min-width : 768px) and (max-width : 991.99px) { 
	ul.terminal-list{
		width:100%;
	}
	ul.terminal-list li{
		width:100%;
	}
	
	ul.terminal-list li:nth-child(odd){
		margin-left:0;
	}
	ul.terminal-list li:nth-child(even){
		margin-right:0;
	}
	ul.terminal-list li img{
		width:150px;
		height:100px;
	}
	ul.terminal-list li .terminal-info{
		margin-left:170px;
	}
	ul.terminal-list li a{
		font-size:16px;
		padding:17px;
	}

} 
@media(max-width:767px) {
	ul.terminal-list{
		width:100%;
	}
	ul.terminal-list li{
		width:100%;
		margin:5px 10px 5px 0;

	}
	ul.terminal-list li:nth-child(even){
		margin-right:0px;
	}
	ul.terminal-list li img{
		width:70px;
		height:55px;
	}
	ul.terminal-list li .terminal-info{
		margin-left:80px;
	}
	ul.terminal-list li a{
		font-size:14px;
		padding:10px 15px 10px 7px;
		height: auto !important;
	}
	
	ul.terminal-list li:after{
		right:5px;
		font-size:14px;
	}
	.terminal-add{
		margin-top:5px;
	}
	.terminal-add:before{
		top:8px;
	}
	.terminal-add,
	.terminal-tel{
		font-size:12px;
		margin-left:18px;
	}
	.terminal-add:before{
		left:-16px;
	}
	.terminal-tel:before{
		left:-18px;
	}
	
	.relation-area{
		padding:20px;
	}
}


/* 調整 */
.route_detail{
	border-radius:5px;
	padding:20px 5px 0 5px;
	border:1px solid #ddd;

}

.route_detail + .route_detail{
	margin-top:20px;
}

.main-price-list th{
	font-size:14px;
}

.ferry-timetable table.table{
	margin-bottom:0;
}

@media(max-width:767px) {
	.route_detail{
		margin-left:7px;
		margin-right:7px;
	}
	.route_detail + .route_detail{
		margin-top:15px;
	}
	
	#main-middle > .card{
		padding-bottom:10px;
	}
}