/* =========================================

========================================= */
.companyArea {
  background-color: #FFFFFF;
  padding: 102px clamp(24px, 3.4375vw, 44px) 93px;
  display: flex;
  justify-content: center;
}

@media screen and (max-width: 768px) {
  .companyArea {
    padding: 50px 0;
  }
}

/* -----------------------------------
philosophy
----------------------------------- */
.philosophy_title {
  font-weight: 600;
  font-size: 24px;
  line-height: 2;
}
.philosophy_list {
  margin-top: 16px;
}
.philosophy_listItem {
  font-weight: 600;
  font-size: 18px;
  line-height: 2;
  padding-left: 1.1rem;
  position: relative;
}
.philosophy_listItem::before {
  content: "";
  display: inline-block;
  border-radius: 50%;
  width: 8px;
  height: 8px;
  background-color: #E60012;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
}
.philosophy_listItem + .philosophy_listItem {
  margin-top: 16px;
}

@media screen and (max-width: 768px) {
  .bgYellowBox {
    padding: 56px 16px;
  }
  .philosophy_title {
    font-size: 19px;
  }
  .philosophy_listItem {
    font-size: 16px;
    line-height: 1.6;
  }
}

/* -----------------------------------
テーブル
----------------------------------- */

.typeA{
	margin: 0;
	border-collapse: collapse;
	width: 100%;
}
.typeA.--mtAdjust{
  margin-top: 25px;
}
.typeA caption{
	text-align: left;
	margin:.5em 0;
}
.typeA tr {
  border-top: 1px solid #D5DBE0;
}
.typeA.--lower tr {
  display: flex;
  align-items: center;
}
.typeA tr:last-of-type {
  border-bottom: 1px solid #D5DBE0;
}
.typeA th{
  font-size: 16px;
  font-weight: 600;
	padding: 26px 8px;
  letter-spacing: 0.0243em;
	text-align: left;
  width: 98px;
}
.typeA td{
  font-size: 18px;
  line-height: 1.6;
  font-weight: 300;
  letter-spacing: 0.03375em;
	padding: 26px 48px;
	text-align: left;
}
.typeA.--mtAdjust th{
  width: 115px;
}
.typeA.--mtAdjust td{
	padding: 26px 36px;
}
.typeA.--lower th{
	padding: 26px 0 26px 16px;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.4;
  width: 143px;
  letter-spacing: 0;
}
.typeA.--lower td{
	padding: 26px 35px;
  letter-spacing: 0.03375em;
  font-size: 20px;
  line-height: 1.4;
  font-weight: 300;
}


@media screen and (max-width: 768px) {
  .typeA tr {
    display: flex;
    flex-direction: column;
  }
  .typeA.--lower tr {
    align-items: flex-start;
  }
  .typeA th,
  .typeA.--mtAdjust th {
    padding: 25px 8px 6px;
  }
  .typeA td,
  .typeA.--mtAdjust td {
    padding: 6px 8px 16px;
  }
  .typeA.--lower th{
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.0243em;
    padding: 23px 8px 4px;
  }
  .typeA.--lower td{
    font-size: 18px;
    line-height: 1.6;
    font-weight: 300;
    padding: 6px 8px 14px;
  }
}