@charset "UTF-8";

.page-Ttl{
	text-align: center;
	background-image:url("../images/aboutus/img_page_ttl.jpg");
	background-repeat: no-repeat;
	background-position: center;
	background-size:cover;
	padding: 150px 0 0 0;
}

.page-Ttl h1 {
	position: relative;
}

.page-Ttl h1::after {
	display: block;
	content: '会社案内';
	font-size: 2.4rem;
	text-shadow: 0px 0px 10px rgba(0,0,0,1);
	position: absolute;
	bottom: -50px;
	left: 0;
}

.page-Ttl h1::after {
	bottom: -40px;
	left: 50%;
	margin-left: -2em;
}

.font-style h1{
	margin:  0; 
    position:  relative;
	font-size:  3rem;
    font-weight:  bold;
	padding: 0;
	text-align: center;
	display: block;
	margin-bottom: 30px;
}

.font-style h1:before {
	display: none;
}

.about_ttl > span {
	display: block;
}

.about_ttl .eng {
	font-family: 'Sarabun', sans-serif;
	margin-bottom: 10px;
}

.about_ttl .jp {
	font-size: 1.7rem;
}

.about_table {
	display: block;
	font-size: 1.6rem;
	margin-bottom: 50px;
}

.about_table_L {
	width: 100%;
}

.about_table_R {
	width: 100%;
}

.about_table table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	line-height: 2;
}

.about_table table th,
.about_table table td {
	width: 100%;
	display: block;
	box-sizing: border-box;
}

.about_table table th {
	padding: 20px 0 0;
	text-align: left;
}

.about_table table td {
	border-bottom: 1px solid #c9c9c9;
	padding: 10px 0;
}

.map {
	position: relative;
	padding-top: 100%;
	margin: 0 auto 30px;
}

.map iframe,
.map object,
.map embed {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}

.map_guide {
	text-align: center;
	margin-bottom: 50px;
}
.map_guide p {
	width: auto;
	display: inline-block;
	text-align: left;
	line-height: 2;
}

.map_guide span {
	position: relative;
	display: flex;
}

.map_guide span::before {
	display: block;
	content: '□';
	flex-shrink: 0;
}

@media only screen and (min-width: 48em){	/* 768px */

	.font-style h1 {
		font-size:  4rem;
		margin-bottom: 50px;
	}
	
	.map {
		padding-top: 40%;
	}

} /* end 768px*/


 @media only screen and (min-width: 60em) {	/*960px*/

	.page-Ttl h1::after {
		left: 0;
		margin-left: 0;
	}

	.font-style h1{
		font-size:  6rem;
		margin-bottom: 50px;
	}
	
	.about_ttl .eng {
		margin-bottom: 20px;
	}
	
	.about_table {
		display: flex;
		justify-content: space-between;
	}
	
	.about_table_L {
		width: 48%;
	}

	.about_table_R {
		width: 48%;
	}
	
		.about_table table {
		border-spacing: 20px 0;
	}

	.about_table table th,
	.about_table table td {
		display: table-cell;
		padding: 30px 0 20px;
	}

	.about_table table th {
		width: 25%;
		border-bottom: 2px solid #404040;
		text-align: left;
	}

	.about_table table td {
		width: 75%;
		border-bottom: 2px solid #c9c9c9;
	}
	
} /* end 960px*/
