@charset 'utf-8';


#container > .inner {
	max-width: none;
}

.articleblock,
body.safearea .articleblock {
	max-width: none;
	padding: 0;
	padding-bottom: 30px;
}

.articleblock .blockheader {
	padding-top: 30px;
}

@media only screen and (min-width: 769px) {

	.articleblock .blockheader {
		padding-top: 50px;
	}
}

.presentation h1 {
	margin-bottom: .5em;
	color: #09233c;
	font-size: 1.6em;
	font-family: aktivgrotesk, 'Helvetica Neue', Helvetica, Avenir, san-serif;
	font-weight: normal;
}

.presentation h2 span {
	display: inline-block;
}

.presentation h2 strong {
	display: inline-block;
	padding: 0 .2em;
	background: #133e82;
	color: #fff;
	font-weight: 700;
}

.presentation h2 strong small {
	font-size: .65em;
	font-weight: 400;
}

.presentation .sentence:nth-child(n + 3) p {
	color: #4d4d4d;
	font-size: 1.3em;
}

.presentation {
	background-color: #fff;
	position: relative;
	overflow: hidden;
}

body.safearea .presentation > .inner {
	padding-left: env(safe-area-inset-left);
	padding-right: env(safe-area-inset-right);
}

.presentation h3 + h4 {
	margin-top: -1em;
}

.presentation h3 + h4 span {
	display: inline-block;
	padding: 0 .2em;
	background: #4d4d4d;
	color: #fff;
	font-size: .85em;
}

.presentation .brick {
	padding: 30px;
}
/*
.presentation.half .brick {
	background: rgba(9,35,60,.5);
	color: #fff;
}
*/
@media only screen and (max-width: 768px) {

	#transport-network:before {
		background-image: url(../image/service/back-transport-network-v3.jpg);
	}

	#regular-transport:before {
		background-image: url(../image/service/back-regular-transport.jpg);
	}

	#short-distance:before {
		background-image: url(../image/service/back-short-distance-v3.jpg);
	}

	#mixed-loading:before {
		background-image: url(../image/service/back-mixed-loading-v2.jpg);
	}

	#vehicles:before {
		background-image: url(../image/service/back-header-vehicles.jpg);
	}
}

@media only screen and (min-width: 769px) {

	.presentation {
		background-position: center center;
		background-repeat: no-repeat;
		background-size: cover;
	}

	.presentation:not(:last-child) {
		margin-bottom: 30px;
	}

/* 
	body.pc .presentation {
		background-attachment: fixed;
	}
 */

	.presentation:not(.guidetext) h1 {
		color: #fff;
	}

	.presentation.half .brick {
		background: rgba(0,0,0,.5);
		color: #fff;
	}


	#transport-network {
		background-image: url(../image/service/back-transport-network-v3.jpg);
	}

	#regular-transport {
		background-image: url(../image/service/back-regular-transport.jpg);
	}

	#short-distance {
		background-image: url(../image/service/back-short-distance-v3.jpg);
	}

	#mixed-loading {
		background-image: url(../image/service/back-mixed-loading-v2.jpg);
	}

	#vehicles {
		background-image: url(../image/service/back-header-vehicles.jpg);
	}
}

@media only screen and (min-width: 1001px) {

	.presentation.half:before {
		width: 100%;
	}

	.presentation.half .cover {
		padding: 80px;
	}

	.presentation.half .brick {
		padding: 50px;
	}
}


body.vehicles .pageheader {
	background-image: url(../image/service/back-header-vehicles.jpg);
	background-position: center 40%;
}


.presentation .chapter .vehicles {
}

.presentation .chapter .vehicles p:not(:last-child) {
	margin-bottom: 1em !important;
}

.presentation .chapter .vehicles .list {
	display: table;
	font-size: 1.4em;
}

.presentation .chapter .vehicles .list:not(:last-child) {
	margin-bottom: 1em;
}

.presentation .chapter .vehicles .list > div:not(:last-child) {
	margin-bottom: 1em;
}

.presentation .chapter .vehicles .line {
	display: table-row;
	background-color: #fafafa;
}

.presentation .chapter .vehicles .line:nth-child(even) {
	background-color: #f2f2f2;
}

.presentation .chapter .vehicles .line span {
	display: table-cell;
	width: auto;
	vertical-align: top;
	padding: .3em .5em;
}

.presentation .chapter .vehicles .line span.head {
}

.presentation .chapter .vehicles .line:not(:last-child) span {
}

.presentation .chapter .vehicles .line span:not(.head) {
	padding-left: 1em;
	text-align: right;
	white-space: nowrap;
}

.presentation .chapter .vehicles h2 small {
	display: inline-block;
	font-size: .85em;
	font-weight: 400;
}



.presentation .sentence .media.draw > figure > span {
	padding: 1em;
	background: #fff;
}



.alternateblock {
	max-width: 1000px;
	margin: 0 auto;
}

.alternateblock .line {
	font-size: .65rem;
}

.alternateblock .line:not(:last-child) {
	margin-bottom: 3em;
}

.alternateblock .line .cell {
	max-width: 500px;
	margin: 0 auto;
}

.alternateblock figure {
	margin-bottom: 2em !important;
}

.alternateblock h2 {
	margin-bottom: .5em !important;
	padding: .5em 1.2em;
	background: #f4f4f4;
	border: 1px solid #ccc;
	font-size: 1.8em !important;
}

.alternateblock h2 span {
	display: inline-block;
}

.alternateblock .sentence {
	font-size: .65rem !important;
}

.alternateblock .sentence h3 {
	margin-bottom: .5em !important;
}

.alternateblock table tr:nth-child(odd) {
	background: #fafafa;
}

.alternateblock table th,
.alternateblock table td {
	padding: .3em .5em !important;
}

.alternateblock table th {
	width: 10em;
	text-align: left;
}

.alternateblock table td {
	width: calc(100% - 10em);
	text-align: right;
}

.alternateblock table .unit {
	display: inline-block;
	width: 3em;
	padding-left: .2em;
	font-size: .85em;
	text-align: left;
}


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

	.alternateblock .line:not(:last-child) {
		margin-bottom: 2em;
	}
}

@media only screen and (min-width: 769px) {

	.alternateblock figure {
		margin-bottom: 0 !important;
	}

	.alternateblock .line .inner {
		display: flex;
		flex-wrap: wrap;
	}

	.alternateblock .line .cell {
		max-width: none;
	}

	.alternateblock .line .cell:nth-child(1) {
		width: 55%;
	}

	.alternateblock .line .cell:nth-child(2) {
		width: 45%;
		padding-top: 1em;
		padding-left: 5%;
		padding-bottom: 1em;
	}
}
