/* CSS Document */
#catch{
	background-size: contain;
	position: relative;
}
#catch .inner{
	width: 100%;
	margin: 0 auto;
	position: relative;
	left: 0;
	right: 0;
	z-index: 1;
}
#catch .inner img{
	width: 100%;
	margin: 0 auto 0;
	list-style-type: none;

}
#catch .inner h2{
    font-size: 1.4rem;
    line-height: 1.4;
    font-weight: 300;
    margin: 10px ;
	border-bottom: 1px solid #666;
}

#catch .inner p{
    font-size: 1.2rem;
    line-height: 1.4;
    font-weight: 300;
    margin: 10px;
	text-indent: 1em;
}


#contents .inner{
	width: 100%;
	margin: auto;
	background: #fff;
	position: relative;
	padding:0 0 30px 0;
	font-size: 1.2rem;
}

#contents .inner .discription{
}
#contents .inner .discription img{
	display: block;
	margin: auto;
	max-width: 100%;
}
#contents .inner .discription h2{
	font-size: 2rem;
	color: #2b5796;
	font-weight: 400;
	
}
#contents .inner .discription p{
	font-size: 1.4rem;
	margin-bottom: .5em;
}


#contents .inner .table_box{
	margin: 10px;
}
#contents .inner .memo {
    margin: 10px 30px;
}
#contents .inner .memo table{
    border-collapse: collapse;
	width: 100%;
}
#contents .inner .memo table td{
	border: 1px solid #ddd;
	padding: 5px 10px;
    
}
#contents .inner .table_box table{
	border-collapse: collapse;
	margin-bottom: 10px;
	width: 100%;
	font-size: 1.4rem;
}
#contents .inner .table_box table caption{
	font-size: 1.6rem;
	padding: 5px;
	text-align: left;
	border-bottom: 5px solid #3656a5;
}
#contents .inner .table_box table tr{
	border-bottom: 1px solid #3656a5;
}
#contents .inner .table_box table th{
	width: 8em;
	padding: 5px;
	color: #2f5796;
	vertical-align: top;
	text-align: center;
}
#contents .inner .table_box table td{
	padding: 0;
	margin: auto;
	text-align: center;
	height: 3em;
	position: relative;
	vertical-align: top;
	border: 1px solid #ddd;
}
#contents .inner .table_box table td p{
	padding: 0;
	margin: auto;
	text-align: center;
	text-indent: 0;
}


#contents .blue{
	background: #2b5796;
    margin: 0 0;
}

#contents .blue .inner{
	width: 100%;
	margin: auto;
	background: #fff url(/img/map_bg.jpg) no-repeat center center;
	position: relative;
	padding: 0 0 0;
	background-size: 100% auto;
	height: 60vw;
}

#contents .blue .inner img{
    margin: auto;
    padding: 0;
    display: block;
    position: absolute;
    bottom: 0;

    width: 90%;
    left: 0;
    right: 0;
}
#contents .blue .inner p{
	margin: auto;
	padding: 0;
	display: block;
	position: absolute;
	right: 1vw;
	top:  1vw;
	text-align: right;
	color: #fff;
}
#contents .blue .inner img.text{
	margin: auto;
	padding: 0;
	display: block;
	position: absolute;
	bottom: auto;
	left: 1vw;
	top: 5vw;
	width: 65%;
}
#contents .inner article section{
	margin: 0 0 10px;
}
#contents .inner article .discription{
	margin: 0 0 10px;
	font-size: 1.2rem;

}
#contents .inner article section::after{
	content: "";
	display: block;
	clear: both;
}
#contents .inner article section p{
	text-indent: 1em;
	line-height: 1.5;
	margin: 10px 10px 20px;
		font-size: 1.4rem;
}
#contents .inner article section ol{
	line-height: 1.5;
	margin: 10px 2em 20px;
		font-size: 1.4rem;

}
#contents .inner article section dl{
	margin: 0 0 10px;
}
#contents .inner article section dl dt{
	margin: 0 15px 10px;
	padding: 0 5px;
	border-bottom: 1px solid #2b5796;
	font-size: 1.5rem;
}
#contents .inner article section dl dd{
	margin: 0 5px 10px;
	font-size: 1.4rem;
}
#contents .inner .table_box {
	display: flex;
    margin: 10px;
	flex-direction: column;
}




#contents .inner .ph {
	display: flex;
    margin: 10px;
	flex-direction: column;
	
}
#contents .inner .ph div{
}

#contents .inner .ph div img{
	display: block;
	margin: auto;
	max-width: 100%;
}
#contents .inner .ph div.popup{
	display: inline-block;
	margin: auto;
}



#contents .inner article section div.img img{
	width: 100%;
	margin: 5px 0 ;
	display: block;
}
#contents .inner article section.r{
}
#contents .inner article section.r h2{
	text-align: right;
}
#contents .inner article section.r div.img{
	float: right;
}
#contents .inner article section.r p{
	float: left;
}
#contents .inner article section p.name{
	float: right;
	text-indent: 0;
}
#contents .inner .reception{
	border: 1px solid #2b5796;
	text-indent: 0;
	padding: 10px;
}

#contents .inner .reception h2{
	border-bottom: 1px solid #2b5796;
	font-size: 1.6rem;
	font-weight: 400;
	text-indent: 0;
	padding:0 5px;
	margin-bottom: 5px;
}
#contents .inner .box2 img{
	max-width: 100%;
    margin: 0 0 0;
    padding: 0;
	background: none;
	border: 0 none;
}
#contents .inner .box2 p{
	text-indent: 0;
}
#contents .inner .box2 a{
	text-indent: 0;
	padding: 5px 0;
	display: block;
	text-decoration: none;
	font-size: 1.4rem;
	line-height: 1.5;
	border: 1px solid #cddae2;
	border-bottom: 4px solid #cddae2;
	font-weight: 700;
	padding-left: 10px;
	color: #333;
}

#contents .inner .box2 a.contact_bg{
	background: #fff url(/img/contact.png) no-repeat right bottom;
	background-size:auto 100% ;
}
.svg #contents .inner .box2 a.contact_bg{
	background: #fff url(/img/contact.svg) no-repeat right bottom;
	background-size:auto 100% ;
}
table.opt{width: 100%;}
table.opt thead th{
	background: #f6f6f6;
	border: 1px solid #c5c5c5;
	border-bottom: 5px solid #3656a5;
}
table.opt tbody th{
	background: #f6f6f6;
	border: 1px solid #c5c5c5;

}

#contents .inner .box .contact{
	background:repeating-linear-gradient(-45deg, #eee 0, #eee 4px, #fafafa 4px, #fafafa 8px);
	padding: 8px;
    clear: both;
    display: flex;
    margin: 0 auto 30px;
    flex-direction: column;
    width: 538px;
    max-width: 90%;
}
#contents .inner .box .contact dl{
	background:#fff;
	margin: 5px 0;
}
#contents .inner .box .contact dl dt{
	font-size: 1.8rem;
	line-height: 2.8;
	border-bottom: 4px solid #cddae2;
	font-weight: 700;
	padding-left: 10px;
}
#contents .inner .box .contact dl dt.contact_bg{
	background:url(/img/contact.png) no-repeat right bottom;
	background-size:auto 100% ;
}
.svg #contents .inner .box .contact dl dt.contact_bg{
	background:url(/img/contact.svg) no-repeat right bottom;
	background-size:auto 100% ;
}
#contents .inner .box .contact dl dt.access_bg{
	background:url(/img/access.png) no-repeat right bottom;
	background-size:auto 100% ;
}
.svg #contents .inner .box .contact dl dt.access_bg{
	background:url(/img/access.svg) no-repeat right bottom;
	background-size:auto 100% ;
}
#contents .inner .box .contact dl dd{
	background:#fff;
	padding: 10px;
	float: left;
}
#contents .inner .box .contact dl dd.link{
	float: right; 
}
#contents .inner .box .contact dl dd.link a{
    background: #2b5796;
    border: 1px solid #2b5796;
    color: #fff;
    padding: 5px 10px;
    text-decoration: none;
    border-radius: 4px;
}
#contents .inner .box .contact dl dd.link a:hover{
    background: #fff;
    color: #2b5796;
}
.others_link{
	display: block;
    margin: 10px auto;
    width: 538px;
	max-width: 90%;
}
.others_link img{
	display: block;
	width: 100%;
}
#contents .inner article section .conlist dl{
    line-height: 1.5;
    margin: 0 10px 10px;
    font-size: 1.4rem;
	display: flex;
	flex-direction: column;
}
#contents .inner article section .conlist dl dt{
    line-height: 1.5;
    padding:5px 0;
	margin: 0 0 10px;
    font-size: 1.4rem;
}
#contents .inner article section .conlist dl dd{
    line-height: 1.5;
    padding:0 0;
    font-size: 1.4rem;
}

span.maru {
    width: 1em;
	height: 1em;
	display: inline-block;
    background-color: black;    
    -webkit-border-rasius: 50%;
    -moz-border-rasius: 50%;
    -o-border-rasius: 50%;
    border-radius: 50%;
}


/* 三角形を描く */
span.sankaku {
    width: 0px;
    height: 0px;
	display: inline-block;
    border-bottom: solid 1em black;
    border-left: solid .6em transparent;
    border-right: solid .6em transparent;
}

/* 四角形を描く */
span.shikaku {
    width: 1em;
    height: 1em;
	display: inline-block;
    background-color: black;
}
#contents .inner article section h2 span{
	font-weight: normal;
	float: right;
    margin: 0;
    padding: 0;
    color: #2b5796;
    font-size: 1.4rem;text-align: right;
}

#contents .inner article section #route_schedule .link{
	display: flex;width: 100%;
	justify-content:space-between;
}
#contents .inner article section #route_schedule .link p{
	margin: 0;
	padding: 0;
}
#contents .inner article section #route_schedule .link p a,
#contents .inner article section #route_schedule .link p span{
	padding: 5px;
	border-radius: 4px;
	text-decoration: none;
	text-indent: 0;
}
#contents .inner article section #route_schedule .link p a{
	border: 1px solid #ddd;
	background: #2b5796;
	color: #fff;
}
#contents .inner article section #route_schedule .link p span{
	border: 1px solid #ddd;
		background: #f6f6f6;
	color: #999;

}
#contents .inner article section .pdf_link{
	text-align: right;
	margin: -20px 0 10px;
	padding: 0 10px;
	clear: both;
}


@media (min-width: 768px) {
	#catch{
		position: relative;
		background-size: contain;
	}
	#catch .inner{
		width: 100%;
		margin: 0 auto;
		position: relative;
		bottom: 0;
		left: 0;right: 0;
		z-index: 1;
	}
	#catch .inner h2{
		font-size: 1.6rem;
		line-height: 1.4;
		padding:0 1em;
		margin: 0;
	}
	#contents .inner{
		width: 100%;
		margin: auto;
		background: #fff;
		position: relative;
		padding: 0 0;
	}
	.frontpage #contents .inner{
		width: 100%;
		margin: auto;
		background: #fff;
		position: relative;
		padding: 30px 0;
	}
	#catch .inner .txt{
		z-index: 1;
		font-family: 'Noto Serif JP', serif;
		color: #000;
	}
	#catch .inner .txt::after{
		content: "";
		clear: both;
		display: block;
	}

	#catch .inner .txt .ja{
		line-height: 1.75;
		padding: 0 0 10px 2%;
		margin: 0;width: 58%;
		color: #000;
		float: left;
	}
	#catch .inner .txt .ja p{
		line-height: 1.75;
		font-size: 1.2rem;
	}

	#catch .inner .txt .en{
		line-height: 1.5;
		font-size: 1rem;
		padding: 0;
		color: #000;
		width: 40%;
		float: right;
	}
	#contents .inner{
		font-size: 1.4rem;
	}
	#contents .inner .discription img{
		display: block;
		float: right;
		margin-left: 10px;
		width: 35%;
	}

	#contents .inner .discription::after{
		content: '';
		display: block;
		clear: both;
	}

	#contents .blue .inner{
		width: 100%;
		margin: auto;
		background: #fff url(/img/map_bg.jpg) no-repeat center center;
		position: relative;
		padding: 0 0 0;
		
		height: 60vw;
	}

	#contents .blue .inner img{
		margin: auto;
		padding: 0;
		display: block;
		position: absolute;
		bottom: 0;
		top: 0;
	}
	#contents .blue .inner p{
		font-size: 2rem;
	}
	#contents .blue .inner p span{
		font-size: 1.4rem;
	}

	#contents .inner .table_box {
		display: flex;
		margin: 10px 10px 20px;
		flex-direction: row;
		justify-content:space-between;
	}

	#contents .inner .table_box div{
		flex-basis: 48%;
	}

	#contents .inner .table_box div table{
		border-collapse: collapse;
		margin:0 0  10px;
		width: 100%;
		font-size: 1.4rem;
	}
	#contents .inner article section .pdflink{
		width: 30%;
		max-width: 180px;
		display: block;
		text-decoration: none;
		text-align: center;
		margin:0 auto 10px;
	}
	#contents .inner .table_box table {
		margin: 10px 20px;
	}
	#contents .inner .table_box a {
		padding: 10px;
	}
	#contents .inner .ph {
		display: flex;
		margin: 10px;
		flex-direction: row;
	}
	#contents .inner .box2 img{
		width: 40%;
		float: left;
		display: block;
		margin: 0 0 10px 0;
		padding: 0;
		background: none;
		border: 0 none;
	}
	#contents .inner .box2 p{
		text-indent: 0;
		margin: 0 0 0.5em;
	}
	#contents .inner .box2 .doc{
		float: right;
		width: 58%;
		text-indent: 0;
	}
	#contents .inner .box2 a{
		clear: both;
		text-indent: 0;
		padding: 10px 0;
		display: block;
		text-decoration: none;
		font-size: 1.4rem;
		line-height: 1.5;
		border: 1px solid #cddae2;
		border-bottom: 4px solid #cddae2;
		font-weight: 700;
		padding-left: 10px;
		color: #333;
	}
	#contents .inner .table_box table.opt{width: 100%; margin: 0;}
	#contents .inner .table_box table.opt thead th{
			background: #f6f6f6;
			border: 1px solid #c5c5c5;
			border-bottom: 5px solid #3656a5;
		}
	#contents .inner .table_box table.opt tbody th{
			background: #f6f6f6;
			border: 1px solid #c5c5c5;

	}
	#contents .inner article section .conlist dl{
		line-height: 1.5;
		margin: 0 0 10px;
		font-size: 1.4rem;
		display: flex;
		flex-direction: row;
	}
	#contents .inner article section .conlist dl dt{
		line-height: 1.5;
		padding:5px 0;
		margin: 0 0 10px;
		font-size: 1.4rem;
		border-bottom: 0 none;
		flex-basis:7em;
	}
	#contents .inner article section .conlist dl dd{
		line-height: 1.5;
		padding:5px 0;		margin: 0 5px 10px;
		font-size: 1.4rem;
	}
	#contents .inner article section .pdf_link{
	text-align: right;
	margin: -20px 0 10px;
	padding: 0;
}

}
@media (min-width: 1040px) {
	.inland #catch{
		background: url(/img/catch/route/inland.jpg) no-repeat center center;
		position: relative;
		height: 350px;
	}
	.foreign #catch{
		background: url(/img/catch/route/foreign.jpg) no-repeat center center;
		position: relative;
		height: 350px;
	}
	#catch .inner{
		width: 1040px;
		margin: auto;
		padding: 0;
	}
	.inland #catch .inner .stax{
		position: absolute;
		width: 390px;
		top: 0px;
		right: 140px;
		z-index: 1;
	}
	.foreign #catch .inner .stax{
		position: absolute;
		width: 390px;
		top: 143px;
		right: 8px;
		z-index: 1;
	}
	 #catch .inner .japan{
		position: absolute;
		width: 450px;
		top: 34px;
		right: 83px;
		z-index: 1;
	}

	.frontpage #catch{
		background: url(/img/csr/index_catch.jpg) no-repeat center top;
		position: relative;		height: auto;

	}
	.frontpage #catch .inner{
		background:#fff url(/img/csr/index_catch.jpg) no-repeat center top;
		width: 1040px;
		margin: auto;
		padding: 0;
		height: 1240px;
	}
	.frontpage #catch .inner .text{
		position: absolute;
		width: 665px;
		top: 176px;
		left: 5px;
		z-index: 1;
	}
	.frontpage #catch .inner .japan{
		position: absolute;
		width: 622px;
		top: 570px;
		right: 170px;
		z-index: 1;
	}
	.frontpage #catch .inner .txt{
		position: absolute;
		width: 420px;
		top: 521px;
		left: 47px;
		z-index: 1;
		font-family: 'Noto Serif JP', serif;
		color: #fff;
		float: none;
	}

	.frontpage #catch .inner .txt .ja{
		float: none;
		color: #fff;
		width: 100%;
	}
	.frontpage #catch .inner .txt .ja p{
		line-height: 1.75;
		font-size: 14px;
		padding: 0 0 5px;
		margin: 0;
		float: none;
		color: #fff;
		width: 100%;
	}

	.frontpage #catch .inner .txt .en{
		float: none;
		margin: 0;
		padding: 0;
	}
	.frontpage #catch .inner .txt .en p{
		line-height: 1.5;
		font-size: 10px;
		padding: 0 0;
		margin: 0;
		color: #000;
		width: 375px;
		float: none;
	}






	#contents .inner{
		width: 1040px;
		margin: auto;
		background: #fff;
		position: relative;
		padding: 0 0 30px 0;
	}
	.frontpage #contents .inner{
		width: 1040px;
		margin: auto;
		background: #fff;
		position: relative;
		padding: 30px 0;
	}

	#contents .inner .discription{
		margin: 0 10px 20px;
		position: relative;
	}
	
	
	#contents .blue{
		background: #255797;
		margin: 0 0;
	}

	#contents .blue .inner{
		width: 1040px;
		margin: auto;
		background: #fff url(/img/map_bg.jpg) no-repeat center center;
		position: relative;
		padding: 0 0 0;
		height: 620px;
	}

	#contents .blue .inner img{
		margin: auto;
		padding: 0;
		display: block;
		position: absolute;
		bottom: 0;
		top: 0;
	}
	#contents .blue .inner img.flow{
		margin: auto;
		padding: 0;
		display: block;
		position: absolute;
		bottom: 0;
		right: 0;
		top: 0;
		width: 445px;
	}
	#contents .blue .inner img.text{
		margin: auto;
		padding: 0;
		display: block;
		position: absolute;
		bottom: 0;
		left: 20px;
		top: 0;
		width: 550px;
	}
	#contents .inner .box2 p{
		text-indent: 0;
		margin: 0 0 1em;
	}
	#contents .inner .box2 .doc{
		float: right;
		width: 58%;
		text-indent: 0;
	}
	#contents .inner .box2 a{
		clear: both;
		text-indent: 0;
		padding: 10px 0;
		display: block;
		text-decoration: none;
		font-size: 1.6rem;
		line-height: 1.5;
		border: 1px solid #cddae2;
		border-bottom: 4px solid #cddae2;
		font-weight: 700;
		padding-left: 10px;
		color: #333;
	}
}
