@charset 'UTF-8';
/* ----------------------------------------------------------------------
COMPANY
---------------------------------------------------------------------- */
@media only screen and (min-width: 601px) {
	#sec-mainvisual {
		background:url( "../img/company/main_company.jpg") no-repeat center center;
		background-size:cover;
	}
}

h3 {
	margin-bottom:50px;
}

@media only screen and (max-width: 960px) {
	.page-l-inner {
		padding-top:0;
	}
}

@media only screen and (max-width: 600px) {
	h3 {
		text-align:center;
	}
	#sec-mainvisual {
		background:url( "../img/company/main_company_sp.jpg") no-repeat center center;
		background-size:cover;
	}
}

@media only screen and (max-width: 450px) {
	#sec-company {
		padding-bottom:0;
	}
}

/* ------------------------------
ABOUT
------------------------------ */
.page-about table {
	width:100%;
	text-align:left;
	border-collapse:collapse;
	border-top:1px solid #ccc;
}

.page-about tr {
	border-bottom:1px dotted #ccc;
}

.page-about tr:last-child {
	border-bottom:1px solid #ccc;
}

.page-about th {
	padding:15px 10px;
	font-weight:normal;
	text-align:left;
	width: 150px;
}

.page-about td {
	padding:15px 10px;
}

.page-about .fax {
	padding-left: 10px;
}

.btn-map {
	display:inline-block;
	margin-left:10px;
	font-size:1.2rem;
}

.btn-map a {
	color:#1d8f59;
	display:block;
	border-radius:18px;
	border:1px solid #1d8f59;
	padding:4px 12px;
	line-height: 1.7em;
	-webkit-transition:.5s;
	        transition:.5s;
}

.btn-map a:hover {
	background:#1d8f59;
	color:#fff;
}

@media only screen and (max-width: 600px) {
	.page-about th {
		display:block;
		padding:10px 10px 3px;
		font-weight:bold;
	}
	.page-about td {
		display:block;
		padding:0 10px 10px;
	}
}
@media only screen and (max-width: 450px) {
	.page-about .fax {
		padding-left: 0;
	}
}

/* ------------------------------
HISTORY
------------------------------ */
.page-history h3 {
	margin-bottom:25px;
}

.page-history table {
	border-collapse:collapse;
	border-spacing:0;
}

.page-history th {
	padding:20px 0;
	min-width:60px;
}

.page-history th img {
	width:60px;
	height:11px;
}

.page-history td {
	padding:20px 0 20px 100px;
	position:relative;
	background:url( "../img/company/ln_01.gif") repeat-y 49px top;
}

.page-history td:before {
	content:url( "../img/company/dot.svg");
	width:8px;
	height:8px;
	position:absolute;
	left:45px;
	color:#1d8f59;
}

.page-history td:first-child {
	background:none;
}

.page-history tr:first-child td {
	background:url( "../img/company/ln_01_start.png") repeat-y 49px top;
}

.page-history tr:last-child td {
	background:url( "../img/company/ln_01_end.png") repeat-y 49px bottom;
}

@media only screen and (max-width: 600px) {
	.page-history .content {
		padding:15px 0 10px 40px;
		background:url("../img/company/ln_01.gif") repeat-y 9px center;
		position:relative;
	}
	.page-history table {
		width:100%;
		display:block;
	}
	.page-history tbody {
		width:100%;
		display:block;
	}
	.page-history tr {
		width:100%;
		display:block;
	}
	.page-history th,
	.page-history td {
		display:block;
		padding:0;
	}
	.page-history th {
		text-align:left;
	}
	.page-history th:before {
		content:'●';
		color:#1d8f59;
		position:absolute;
		left:5px;
		font-size:.9rem;
	}
	.page-history td {
		background:none;
		padding-bottom:25px;
	}
	.page-history td:before {
		content:'';
	}
	.page-history tr:first-child td {
		background:none;
	}
	.page-history tr:last-child td {
		background:none;
	}
}
@media only screen and (max-width: 420px) {
	.btn-map {
		margin-left:0;
	}
}

/* ------------------------------
GREETING
------------------------------ */
.page-greeting h4 {
	margin-bottom:70px;
	font-weight:normal;
	line-height:2em;
	text-align:left;
}

.page-greeting .img {
	float:right;
	margin:0 0 30px 30px;
	width:235px;
}

.page-greeting .txt p {
	margin-bottom:50px;
	line-height:2em;
}

.page-greeting .txt p:last-child {
	margin-bottom:0;
}

@media only screen and (max-width: 500px) {
	.page-greeting h4 {
		margin-bottom:40px;
	}
	.page-greeting .img {
		width:50%;
		margin:0 0 20px 20px;
	}
	.page-greeting .txt p {
		margin-bottom:30px;
	}
}

/* ------------------------------
ENVIRONMENT
------------------------------ */
.page-environment .l-row {
	margin-bottom:50px;
	padding-bottom:50px;
	border-bottom:1px dotted #ccc;
}

.page-environment h4 {
	margin-bottom:30px;
	color:#1d8f59;
}

.list-num-parenthesis li {
	list-style-type:none;
	list-style-position:inside;
	counter-increment:cnt;
	position:relative;
	padding-left:40px;
	text-indent:0;
	font-size:1.3rem;
	margin-bottom:3px;
}

.list-num-parenthesis li:before {
	display:marker;
	content:'【' counter(cnt) '】';
	position:absolute;
	left:0;
	top:0;
}

@media only screen and (max-width: 600px) {
	h4 {
		text-align:center;
	}
}

@media only screen and (max-width: 450px) {
	.page-environment .img {
		text-align:center;
	}
	.page-environment .img img {
		max-width:180px;
	}
}
