.greeting_wrap {
  display: flex;
  gap: 4rem;
}
@media (max-width: 768px) {
  .greeting_wrap {
    flex-direction: column;
  }
}
.greeting_wrap .img {
  flex: 1;
  text-align: center;
}
@media (max-width: 768px) {
  .greeting_wrap .img img {
    width: 29.6rem;
  }
}
.greeting_wrap .txt {
  flex: 3;
}
.greeting_wrap .txt p {
  font-size: 1.4rem;
  line-height: 2;
  font-family: var(--font-min);
}
@media (max-width: 840px) {
  .greeting_wrap .txt p br.pc {
    display: none;
  }
}
.greeting_wrap .txt .name_txt {
  text-align: right;
  margin-top: 2rem;
}
@media (max-width: 840px) {
  .greeting_wrap .txt .name_txt {
    width: 20rem;
    margin-left: auto;
  }
}
.greeting_wrap h3 {
  font-size: clamp(1.6rem, 0.457rem + 2.38vw, 2.6rem);
  font-family: var(--font-min);
  margin-bottom: 2.4rem;
}

.history .history_building {
  position: relative;
}
@media (max-width: 840px) {
  .history .history_building {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
  }
}
.history .history_wrap {
  display: flex;
  gap: 2rem;
}
@media (max-width: 840px) {
  .history .history_wrap {
    flex-direction: column;
    align-items: center;
  }
}
.history .history_wrap .head {
  flex: 1;
}
.history .history_wrap .head .head_inner {
  writing-mode: vertical-rl;
}
@media (max-width: 840px) {
  .history .history_wrap .head .head_inner {
    width: calc(5em + 6rem);
  }
}
.history .history_wrap .head h3 {
  font-size: clamp(2rem, 0.286rem + 3.57vw, 3.5rem);
  font-family: var(--font-min);
  background: url(../img/company/history_img01.svg) center top/contain no-repeat;
  padding: 6rem 6rem 0;
  line-height: 1.4;
  mix-blend-mode: multiply;
  margin-top: -4rem;
}
@media (max-width: 840px) {
  .history .history_wrap .head h3 {
    padding: 12rem 0 0;
    background-size: 80%;
  }
}
.history .history_wrap .txt_wrap {
  flex: 4;
}
.history .history_wrap .txt_wrap .txt {
  padding: 4rem 0 1rem;
  background: url(../img/company/history_img02.png) right bottom/33rem no-repeat;
}
@media (max-width: 840px) {
  .history .history_wrap .txt_wrap .txt {
    padding: 0 0 10rem;
    background-size: 80%;
    background-position: bottom center;
  }
}
.history .history_wrap .txt_wrap .txt p {
  margin-bottom: 2rem;
  line-height: 2.2;
  font-size: 1.4rem;
}
.history .history_wrap .txt_wrap .outline_wrap {
  margin-top: 2rem;
}
.history .history_wrap .txt_wrap .outline_wrap h4 {
  font-family: var(--font-min);
  font-size: clamp(2rem, 1.392rem + 1.27vw, 2.5rem);
}
.history .history_wrap .txt_wrap .outline_wrap dl {
  display: flex;
  gap: 2rem;
  margin-bottom: 0.8rem;
  font-size: 1.4rem;
}
@media (max-width: 840px) {
  .history .history_wrap .txt_wrap .outline_wrap dl {
    flex-direction: column;
    gap: 0;
    font-size: 1.3rem;
  }
}
.history .history_wrap .txt_wrap .outline_wrap dl dt {
  font-weight: 500;
}

.about .about_wrap {
  display: flex;
  gap: 4rem;
}
@media (max-width: 840px) {
  .about .about_wrap {
    flex-direction: column;
    gap: 2rem;
  }
}
.about .about_wrap .txt {
  flex: 1;
}
.about .about_wrap .txt table {
  width: 100%;
}
.about .about_wrap .txt table th {
  font-weight: 500;
}
.about .about_wrap .txt table th,
.about .about_wrap .txt table td {
  text-align: left;
  font-size: 1.4rem;
  padding: 0.4rem 0;
}
@media (max-width: 840px) {
  .about .about_wrap .txt table th,
  .about .about_wrap .txt table td {
    font-size: 1.3rem;
  }
}
.about .about_wrap .map {
  flex: 1;
}
.about .about_wrap .map iframe {
  aspect-ratio: 4/3;
  width: 100%;
}

.privacy {
  font-size: 1.4rem;
}
@media (max-width: 840px) {
  .privacy {
    font-size: 1.3rem;
  }
}
.privacy h4 {
  margin-top: 2rem;
}