/* CSS Document */


#fv {
	position: relative;
}
#fv h2 {
	position: absolute;
  top: 15%;
  left: 30%;
  width: 40%;
}

#profile {
	padding: 60px 0;
}
#profile .inner,
#map .inner {
	max-width: 820px;
  margin: 0 auto 60px;;
}
#profile .titleSet,
#history .titleSet{
	text-align: center;
	margin: auto;
	padding: 0 0 25px;
}
#profile .titleSet::before {
	border-top: solid #E2E1DE;
	border-width: 18px 20px 0 20px;
	left: 50%;
  transform: translateX(-50%);
}
#profile .titleSet strong,
#history .titleSet strong{
	margin: 0 0 5px;
}
#profile table {
  margin: 60px auto;
}
#profile .tbl th {
  background: #E2E1DE;
	border-top: solid 1px #BCC3C5;
	border-bottom: solid 1px #BCC3C5;
  padding: 20px;
	font-weight: 400;
  width: 25%;
	vertical-align: middle;
	line-height: normal;
}
#profile .tbl td {
	border-top: #Bcc3c5 1px solid;
	border-bottom: solid 1px #BCC3C5;
	
  padding: 30px 10px;
}

#map {
	padding: 0 0 200px;
}

#map h3 {
	background-color: #1B745B;
  color: #ffffff;
  text-align: center;
  padding: 5px 0;
}
#map dl {
	margin: 60px 0;
}
#map dl h4 {
	margin-bottom: 20px;
	text-align: center;
}
#map .map iframe {
	width: 100%;
}


#history {
	padding: 40px 0;
	background: #ECF4EE;
	position: relative;
}
#history::before {
	content: url("img/history_bg.svg");
	width: 100%;
	line-height: 0;
	position: absolute;
	bottom: 100%;
  z-index: -1;
}
#history::after {
	content: url("../module/img/line_company.svg");
}
#history .inner {
	max-width: 1100px;
  position: relative;
}
#history .historyBox::before {
	content: url(img/logo_gray.svg);
  width: 13%;
  position: absolute;
  bottom: 2%;
  right: 50px;
}
#history .historyBox {
	background: #fff;
  padding: 40px 60px 80px;
  margin: 0 0 100px;
  box-shadow: 2px 2px 4px #999;
  position: relative;
}
#history .historyBox dl {
	display: flex;
  flex-wrap: wrap;
  margin: 10px 0;
  position: relative;
}
#history .historyBox dl dt {
	text-align: right;
  width: 30%;
  margin-right: 40px;
  position: relative;
	font-size: 110%;
	color: #1b745b;
	padding: 0 0 30px;
}

#history .titleSet::before {
	display: none;
}
#history .historyBox dl dt::before {
	content: '';
  background: #1b745b;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  position: absolute;
  top: 10px;
  left: calc(100% + 13px);
}
#history .historyBox dl dt:not(:last-of-type)::after {
	content: '';
  border-left: 1px solid #1b745b;
  height: 100%;
  position: absolute;
  top: 10px;
  left: calc(100% + 20px);
}
#history .historyBox dl dd {
	width: calc(100% - 30% - 40px);
}

.ftLink {
	text-align: center;
	background: #E2E1DE;
	padding: 30px 0 40px;
	/*margin: 10px 0 0;*/
}
.ftLink h3 {
	color: #1b745b;
	margin: 0 0 5px;
}
.ftLink a.btn {
	font-size: 120%;
	width: 250px;
	padding: 12px;
}




@media screen and (max-width: 480px) {
	#fv > img {
		width: 100%;
		aspect-ratio: 5/3;
		object-fit: cover;
		object-position: 80%;
}
	#fv h2 {
    left: 20%;
    width: 60%;
}
	
	#profile {
		padding: 30px 0;
}
	#profile .tbl {
    margin: 30px 0;
}
	#profile .tbl th,
  #profile .tbl td {
   display: block;
   width: 100%;
  }
	#profile .tbl th {
     width: auto;
		padding: 15px 0;
		border-top: none;
	border-bottom: none;
}
	#profile .tbl td {
    padding: 15px 10px;
		border-top: none; 
    border-bottom: none;
		width: auto;
}
	/*#profile .last td:last-child {
    border-bottom: solid 1px #ccc;
    width: auto;
  }*/

	#history .historyBox {
    padding: 50px 10px 80px;
		margin: 0px 0 50px;
}
	#history .historyBox dl dt {
    font-size: 100%;
		letter-spacing: -3px;
		padding: 0 0 60px;
		line-height: normal;
}
	#history .historyBox dl dd {
		line-height: normal;
}
	#history .historyBox::before {
    width: 20%;
    bottom: 1%;
    right: 5%;
}
	
	#map {
    padding: 0px 0 90px;
}
	#map dl {
    margin: 30px 0;
}
	
	.ftLink {
		padding: 15px 0 20px;
	}
	.ftLink a.btn {
		font-size: 110%;
		width: 200px;
		padding: 10px;
	}
	
	
	
	
}
