@charset 'utf-8';


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

	body:not(.taiyo-keibi) #container {
		height: calc(100% - (60px + 100px + 90px));
	}

	body:not(.taiyo-keibi) #container > .inner,
	body:not(.taiyo-keibi) .articleblock,
	body:not(.taiyo-keibi) #serviceinfo,
	body:not(.taiyo-keibi) #serviceinfo > .inner,
	body:not(.taiyo-keibi) #serviceinfo > .inner > .brick {
		height: 100%;
	}

	body:not(.taiyo-keibi) #serviceinfo .girdblock {
		height: calc(100% - 114px);
	}

	body:not(.taiyo-keibi) .linelist,
	body:not(.taiyo-keibi) .linelistcolumns {
		height: 100%;
	}

	body:not(.taiyo-keibi) #contentsnavi {
		border: none;
		position: fixed;
		left: 0;
		bottom: 100px;
	}

	body:not(.taiyo-keibi) #bottom {
		position: fixed;
		left: 0;
		bottom: 0;
		z-index: 99;
	}
}


.articleblock,
body.safearea .articleblock {
	padding: 0;
}

.blockheader .label {
	font-size: 2.6em;
	line-height: 1.4;
}

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

	.blockheader {
		margin: 0 !important;
	}
}

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

	.blockheader .label {
		font-size: 3.4em;
	}
}



.presentation > .inner {
	max-width: none;
	padding-bottom: 0;
}

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

	.presentation > .inner {
		padding-top: 30px;
	}
}

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

	.presentation > .inner {
		min-height: 400px;
	}
}


.linelist {
	display: flex;
	justify-content: center;
	flex-direction: column;
	max-width: 1400px;
	margin: 0 auto;
}

.linelist .linelistcolumns {
	display: flex;
	flex-direction: column;
}

.linelist .list {
	display: flex;
	flex-direction: column;
	width: 100%;
}

.linelist .list > div:not(.cellcolumns) {
	padding: .5em 1.5em;
}

.linelist .list > div:first-child {
	border-top: none;
}

.linelist .list > div.head {
	text-align: center;
	font-size: 1.4em;
	font-weight: 700;
}

.linelist .list > div.head span {
	display: inline-block;
}

.linelist .list div.cell .sect {
/* 	margin: 0; */
}

.linelist .list div.cell .sect > h4 {
	margin: 0;
	padding-bottom: .3em;
	border-bottom: 1px solid;
	text-align: center;
}

.linelist .list div.cell .item {
	padding: .8em 0;
	border-bottom: 1px solid;
}

.linelist .list .cell .head {
	display: flex;
	font-size: 1em;
}

.linelist .list .cell .head:not(:last-child) {
	margin-bottom: .5em;
}

.linelist .list .cell .head > p {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 6em;
	margin: 0;
	width: 3.4em;
	padding: 0;
	border: 1px solid #669075;
	border-right: none;
	color: #669075;
	font-size: 1.2em;
	font-weight: 700;
	line-height: 1.2;
	writing-mode: vertical-lr;
}

.linelist .list .cell .head .btn {
	height: 6em;
	flex-grow: 1;
}

.linelist .list .cell .head .btn > div {
	width: 100%;
	height: 100%;
	font-size: 1.2em;
}

/* 
.linelist .list .cell .head .btn > div:last-child {
	padding-top: 1px;
}
 */

.linelist .list .cell .head .btn a.transbtn {
	height: 100%;
	padding: 0 .5em;
	border: 1px solid #669075;
	text-align: center;
}

.linelist .list .cell .head .btn a.transbtn:after {
	margin-left: 0;
}

.linelist .list .cell .head .btn a.transbtn:hover:after,
.linelist .list .cell .head .btn a.transbtn.hover:after {
	transform: translateX(5px);
}

.linelist .list .cell .head .btn a.transbtn .label {
	padding: 0;
	font-size: 1.3em;
	line-height: 1.4;
}

.linelist .list .cell .head .btn a.transbtn .label > span {
	display: block;
}

.linelist .list .cell .head + div {
	padding: 0 1.5em;
	font-size: 1em;
}



.linelist .list div.cell ul {
	list-style: none;
	margin: 0;
	padding: 0;
	color: #333;
	font-size: .85em;
}

.linelist .list div.cell ul li {
	display: inline-block;
	margin: 2px;
	padding: .3em .6em;
	border: 1px solid;
}

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

	.linelist .list {
/* 		flex-direction: row; */
	}

	.linelist .list > div.head {
/* 		width: 30%; */
		padding: .5em 0;
		padding-right: 5%;
/* 		text-align: left; */
		font-size: 1.8em;
		font-weight: 900;
	}

	.linelist .list > div.head p {
		line-height: 1.4;
	}

	.linelist .list > div.cell {
		display: flex;
		justify-content: center;
		padding: 0;
	}

	.linelist .list > div.cell .sect {
		width: 50%;
		padding: .5em 1.5em;
	}

	.linelist .list div.cell .item {
		display: flex;
		align-items: start;
	}

	.linelist .list div.cell .item .head {
		margin-bottom: 0;
	}

	.linelist .list div.cell .item:not(.wide) .head {
		width: 280px;
	}

	.linelist .list div.cell .item .head + div {
		width: calc(100% - 280px);
	}

	.linelist .list div.cell .item.wide .head {
		width: 100%;
	}

}


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

	.linelist .linelistcolumns {
		flex-direction: row;
		align-items: center;
	}
}


body:not(.taiyo-keibi) .btnarea.return {
	width: 50%;
	margin-left: auto;
	margin-right: auto;
}
