@charset "UTF-8";

/* company_block
----------------------------------------*/
.company_block .table_block {
	font-size: 1.4rem;
}

.company_block .table_block tr {
	position: relative;
}
.company_block .table_block tr::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 1px;
	background: url("../img/common/line.png") repeat-x;
	background-size: auto 100%;
	bottom: 0;
}
.company_block .table_block th {
	font-weight: bold;
	text-align: left;
	width: 147px;
	padding: 15px 0;
	vertical-align: top;
}
.company_block .table_block td {
	font-weight: 400;
	padding: 15px 0;
}


.company_block .access_block {
}


.company_block .access_block .map {
	width: 100%;
}
.company_block .access_block .map iframe {
	width: 100%;
}

.company_block .access_block .txt {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin-top: 30px;
}

.company_block .access_block .txt dl {
	position: relative;
	font-size: 1.5rem;
	padding-bottom: 20px;
	width: 48%;
}
.company_block .access_block .txt dl::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 1px;
	background: url("../img/common/line.png") repeat-x;
	background-size: auto 100%;
	bottom: 0;
}

.company_block .access_block .txt dt {
	font-weight: bold;
	margin-bottom: 5px;
}
.company_block .access_block .txt dd {
	font-weight: 400;
}


@media only screen and (max-width: 1301px) {

}
@media only screen and (max-width: 768px) {
	.company_block .table_block {
		font-size: 1.3rem;
	}
	.company_block .table_block th {
		width: 32%;
	}


	.company_block .access_block {
		display: block;
	}



	.company_block .access_block .map {
		max-width: 100%;
		margin-bottom: 20px;
	}
	.company_block .access_block .map iframe {
		height: 350px;
	}

	.company_block .access_block .txt {
		max-width: 100%;
		display: block;
	}

	.company_block .access_block .txt dl {
		width: 100%;
		font-size: 1.5rem;
		padding-bottom: 15px;
		margin-bottom: 20px;
	}

}

/* message_block
----------------------------------------*/
.message_block {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.message_block div {
	max-width: 570px;
	width: 57%;
	display: flex;
	flex-direction: column;
}
.message_block div p {
	font-size: 1.6rem;
	line-height: 2.25;
	letter-spacing: 0.05em;
}

.message_block02 div p {
	font-size: 1.6rem;
	line-height: 2.25;
	letter-spacing: 0.05em;
}

.message_block div p + p {
	text-align: right;
	font-weight: bold;
	line-height: 1;
	margin: auto 0 0;
}
.message_block figure {
	max-width: 369px;
	width: 37%;
}
.message_block figure img {
	vertical-align: bottom;
}
.message_block02 p:last-child {
	text-align: right;
	margin-top: 20px;
}
@media only screen and (max-width: 768px) {
	.message_block div {
		max-width: 100%;
		width: 100%;
		margin-bottom: 30px;
	}
	.message_block div p {
		font-size: 1.5rem;
		line-height: 1.8;
	}
	.message_block div p + p {
		margin: 20px 0 0;
	}
	.message_block figure {
		max-width: 369px;
		width: 100%;
		margin: 0 auto 20px;
	}
	.message_block02 div p {
		line-height: 1.8;
		font-size: 1.5rem;
	}
}

/* history_block
----------------------------------------*/
.history_block li {
  margin-bottom: 20px;
	font-family: 'Noto Serif JP', sans-serif;
	letter-spacing: 0.05em;
}
.history_date {
	font-size: 1.6rem;
	color: #B2A57E;
	margin-bottom: 10px;
	padding-left: 15px;;
}
.history_content p {
	line-height: 1.6;
	padding: 15px;
	background-color: #F3F3F3;
}
@media ( min-width : 767px ){
  .history_block li {
    overflow: hidden;
    margin: 0;
    position: relative;
		display: flex;
  }
  .history_date {
		font-size: 2rem;
		text-align: center;
    width: 190px;
		line-height: 70px;
		padding: 0;
		margin-bottom: 0;
  }
  .history_block li + li .history_date {
		line-height: 70px;
		margin-top: 14px;
  }
  .history_content {
    flex: 1;
    /* border-left: 1px #707070 dotted; */
    padding-left: 60px;
		background: url(../img/company/dot.png) left top repeat-y;
  }
  .history_block li + li .history_content {
    padding-top: 13px;
  }
  .history_content::before {
    content: '';
    width: 15px;
    height: 15px;
    background: #ffffff;
		border: 4px solid #B2A57E;
    position: absolute;
    left: 0;
    top: 28px;
    border-radius: 100%;
    transform: translateX(-50%);
		box-sizing: border-box;
  }
  .history_block li + li .history_content::before {
    top: 42px;
  }
  .history_content p {
		line-height: 2.2;
    padding: 20px;
		position: relative;
  }
  .history_content p::after {
    content: "";
		border-top: 11px solid transparent;
		border-right: 19px solid #F3F3F3;
		border-bottom: 11px solid transparent;
		position: absolute;
		top: 24px;
		left: 0;
		transform: translateX(-100%);
  }
}