@charset "utf-8";
/* CSS Document */

#page_main {
	width:100%;
	margin-bottom:7px;
}

#page_main img {
	width:100%;
	height:260px;
}

.page_mainimage {
object-fit: cover; /* 他のブラウザ用(＝通常の指定) */
object-position: 50% 50%; /* 他のブラウザ用(＝通常の指定) */
font-family: 'object-fit: cover; object-position: 50% 50%;' /* IE・Edge対応 */
}

#contents {
	width:96%;
	max-width:1100px;
	margin:0 auto;
}

#contents h2 {
	margin:0 auto 60px;
	color:#149986;
	text-align:center;
}

#contents h2 p {
	padding-bottom:7px;
	font-size:170%;
	display: inline;
  border-bottom: solid 2px #149986;
	letter-spacing:6px;
	line-height:200%;
}

#contents h2 span {
	font-size:55%;
}

#contents h3 {
	margin-bottom:40px;
	padding:18px;
	font-size:150%;
	letter-spacing:2px;
	color:#114590;
	border-left:solid 2px #114590;
	border-bottom:solid 2px #114590;
}

#contents h3 span  {
	font-size: 80%;
}

/*--------------------------------------------------------------------------*/

.company .section {
	margin-bottom:5em;
}

.company .president_img {
	width:25.45%;
	margin-left:6.55%;
	float:right;
}

.company .president_img img {
	width:100%;
	height:auto;
	max-width:100%;
}

.company .president_txt {
	width:100%;
}

.company .sign {
	width:100%;
	margin-top:2em;
	text-align:right;
}

.company .about dl,
.company .about dl dt,
.company .about dl dd {
  box-sizing: border-box;
}
.company .about dl  {
  border-bottom: 1px solid #DDDDDD;
}
.company .about dl dt,
.company .about dl dd {
  padding: 10px 10px 0 10px;
  border-top: 1px solid #DDDDDD;
}
.company .about dl dt {
  width: 13%;
  float: left;
	font-weight:bold;
}
.company .about dl dd {
  margin-left: 13%;
  padding-bottom: 10px;
}

.company .about dl dd img {
	float: right;
	width: 30%;
	height: auto;
}

.company .about dl dd:after {
  content: '';
  display: block;
  clear: both;
}
.company .about dl dt.vertical {
	padding-top:3em;
}

.company .history {
	position: relative;
}

.company .history img{
	position: absolute;
	bottom: 2em;
	right:3em;
}

.company .history dl,
.company .history dl dt,
.company .history dl dd {
  box-sizing: border-box;
}
.company .history dl:nth-child(odd) {
	background-color:#EEEEEE;
}
.company .history dl dt,
.company .history dl dd {
  padding: 10px 10px 0 10px;
}
.company .history dl dt {
  width: 13%;
	padding-left:20px;
  float: left;
}
.company .history dl dd {
  margin-left: 13%;
  padding-bottom: 10px;
}
.company .history dl dd:after {
  content: '';
  display: block;
  clear: both;
}
.map_box{
width: 50%;
}

.map {
height: 0;
overflow: hidden;
padding-bottom: 56.25%;
position: relative;
}
.map iframe {
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 100%;
}


/*--------------------------------------------------------------------------*/

.contact table {
	width: 100%;
	box-sizing: border-box;
}

.contact table th {
	padding: 0.6em;
	text-align: left;
	border-bottom: 1px solid #CCC;
	background: #EEE;
	box-sizing: border-box;
}

.contact table td {
	padding: 0.6em;
	border-bottom: 1px solid #CCC;
	box-sizing: border-box;
}

.contact table td input,
.contact table td textarea{
	width: 100%;
}

.contact table td input.short {
	width: 20%;
}

.contact .tac {
	text-align: center;
}

.contact div.tac {
	text-align: center;
	margin: 20px 0;
}

.contact div.tac input {
	padding: 0.5em 2em;
}


#contents li dl {
	margin: 0;
	padding: 0;
}

#contents li dl dt{
	margin: 0;
	padding: 0;
	float: left;
	width: 14%;
	font-weight: bold;
}

#contents li dl dd{
	margin: 0;
	padding: 0 0 0 14%;
}




/* タブレットレイアウト : 768 px ～ 959 px*/
@media screen and (max-width:959px)
{

#contents li dl {
	margin: 0;
	padding: 0;
}

#contents li dl dt{
	margin: 0;
	padding: 0;
	float: left;
	width: 20%;
}

#contents li dl dd{
	margin: 0;
	padding: 0 0 0 20%;
}

}

/* スマホ設定  768 以下*/
@media screen and (max-width:767px)
{
#page_main img {
	width:100%;
	height:120px;
}

#contents h2 p {
	padding-bottom:7px;
	font-size:150%;
	display: inline;
  border-bottom: solid 2px #149986;
	letter-spacing:6px;
	line-height:200%;
}
	
.map_box{
width: 100%;
padding: 10px 0px 0px 0px;
	
}
	

.company .about dl dt {
  width: 100%;
  float: none;
font-weight:bold;
	border: none;
}
.company .about dl dd {
  margin-left: 0%;
  padding-bottom: 10px;
}

.company .about dl dd img {
	float: none;
	width: 100%;
	height: auto;
	margin-bottom: 10px;
}

.company .history img{
	display: none;
}

.company .history dl:nth-child(odd) {
	background-color:#EEEEEE;
}

.company .history dl dt {
  width: 25%;
	padding-left:10px;
  float: left;
}
.company .history dl dd {
  margin-left: 25%;
  padding-bottom: 10px;
}
.company .history dl dd:after {
  content: '';
  display: block;
  clear: both;
}
.map_box{
width: 100%;
}

/*---------------------------------------------------------------*/


.contact table th {
	display: list-item;
	list-style: none;
	padding: 0.6em;
	text-align: left;
	border-bottom: 1px solid #CCC;
	background: #EEE;
	box-sizing: border-box;
}

.contact table td {
	display: list-item;
	list-style: none;
	padding: 0.8em 0.6em;
	border-bottom: 1px solid #CCC;
	box-sizing: border-box;
}
	
.contact table td input,
.contact table td textarea{
	width: 96%;
	font-size: 16px;
}

.contact div.tac input {
	padding: 0.5em 3em!important;
}
	

#contents li dl {
	margin: 0;
	padding: 0;
}

#contents li dl dt{
	margin: 0;
	padding: 0;
	float: none;
	width: 100%;

}

#contents li dl dd{
	margin: 0;
	padding: 0 0 0 0%;
}

	
}