section.office,
section.factory {
  max-width: 1000px;
  margin: 0 auto;
  width: 90%;
}
section.office ul,
section.factory ul {
  width: 100%;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  section.office ul,
  section.factory ul {
    margin-top: 20px;
  }
}
section.office ul li,
section.factory ul li {
  display: flex;
  justify-content: center;
  margin-top: 60px;
  width: 100%;
  gap: 0 6%;
}
@media screen and (max-width: 767px) {
  section.office ul li,
  section.factory ul li {
    margin-top: 40px;
    flex-direction: column;
  }
}
section.office ul li:first-child,
section.factory ul li:first-child {
  margin-top: 0;
}
section.office ul li .img,
section.factory ul li .img {
  width: 44%;
}
@media screen and (max-width: 767px) {
  section.office ul li .img,
  section.factory ul li .img {
    width: 100%;
  }
}
section.office ul li .txt-area,
section.factory ul li .txt-area {
  width: 50%;
}
@media screen and (max-width: 767px) {
  section.office ul li .txt-area,
  section.factory ul li .txt-area {
    width: 100%;
  }
}
section.office ul li .txt-area h3,
section.factory ul li .txt-area h3 {
  font-size: 24px;
  position: relative;
  border-bottom: 1px solid var(--light-gray);
  padding-left: 27px;
  padding-bottom: 20px;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  section.office ul li .txt-area h3,
  section.factory ul li .txt-area h3 {
    margin-top: 15px;
    font-size: 18px;
    padding-bottom: 15px;
    padding-left: 22px;
  }
}
section.office ul li .txt-area h3:before,
section.factory ul li .txt-area h3:before {
  content: "";
  position: absolute;
  width: 14px;
  height: 12px;
  top: 30%;
  left: 0;
  display: block;
  translate: 0 -50%;
  background: url(/common/img/icn_arw.svg) no-repeat center;
}
@media screen and (max-width: 767px) {
  section.office ul li .txt-area h3:before,
  section.factory ul li .txt-area h3:before {
    translate: 0 -48%;
  }
}
section.office ul li .txt-area p,
section.factory ul li .txt-area p {
  margin-top: 15px;
}
section.office ul li .txt-area .map a,
section.factory ul li .txt-area .map a {
  color: var(--blue);
  font-size: 16px;
  font-weight: bold;
  margin-top: 10px;
  display: block;
  width: fit-content;
  padding-right: 0;
}
section.office ul li .txt-area .map a:after,
section.factory ul li .txt-area .map a:after {
  display: none;
}
section.office ul li .txt-area .map a span,
section.factory ul li .txt-area .map a span {
  font-size: 12px;
}
section.office ul li .txt-area .map a img,
section.factory ul li .txt-area .map a img {
  width: 10px;
  translate: 0 -8px;
  margin-left: 8px;
}

section.factory {
  margin-top: 140px;
}
@media screen and (max-width: 767px) {
  section.factory {
    margin-top: 80px;
  }
}

section.branch {
  max-width: 1000px;
  margin: 140px auto 0;
  width: 90%;
}
@media screen and (max-width: 767px) {
  section.branch {
    margin-top: 80px;
  }
}
section.branch ul {
  width: 100%;
  margin-top: 40px;
  gap: 70px 8%;
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  section.branch ul {
    flex-direction: column;
    margin-top: 20px;
    gap: 40px 0;
  }
}
section.branch ul li {
  width: 46%;
}
@media screen and (max-width: 767px) {
  section.branch ul li {
    width: 100%;
  }
}
section.branch ul li h3 {
  font-size: 24px;
  position: relative;
  border-bottom: 1px solid var(--light-gray);
  padding-left: 27px;
  padding-bottom: 20px;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  section.branch ul li h3 {
    margin-top: 15px;
    font-size: 18px;
    padding-bottom: 15px;
    padding-left: 22px;
  }
}
section.branch ul li h3 span {
  font-size: 16px;
}
@media screen and (max-width: 767px) {
  section.branch ul li h3 span {
    font-size: 12px;
  }
}
section.branch ul li h3:before {
  content: "";
  position: absolute;
  width: 14px;
  height: 12px;
  top: 30%;
  left: 0;
  display: block;
  translate: 0 -50%;
  background: url(/common/img/icn_arw.svg) no-repeat center;
}
@media screen and (max-width: 767px) {
  section.branch ul li h3:before {
    translate: 0 -48%;
    top: 33%;
  }
}
section.branch ul li p {
  margin-top: 15px;
}
section.branch ul li .map a {
  color: var(--blue);
  font-size: 16px;
  font-weight: bold;
  margin-top: 10px;
  display: block;
  width: fit-content;
  padding-bottom: 3px;
  padding-right: 0;
}
section.branch ul li .map a:after {
  display: none;
}
section.branch ul li .map a span {
  font-size: 12px;
}
section.branch ul li .map a img {
  width: 10px;
  translate: 0 -8px;
  margin-left: 8px;
}

section.group,
section.affiliated {
  max-width: 1000px;
  margin: 140px auto 0;
  width: 90%;
}
@media screen and (max-width: 767px) {
  section.group,
  section.affiliated {
    margin-top: 80px;
  }
}
section.group ul,
section.affiliated ul {
  margin-top: 40px;
  display: flex;
  flex-wrap: wrap;
  gap: 80px 5%;
}
@media screen and (max-width: 767px) {
  section.group ul,
  section.affiliated ul {
    flex-direction: column;
    margin-top: 20px;
    gap: 40px 0;
  }
}
section.group ul li,
section.affiliated ul li {
  width: 30%;
}
@media screen and (max-width: 767px) {
  section.group ul li,
  section.affiliated ul li {
    width: 100%;
  }
}
section.group ul li a,
section.affiliated ul li a {
  display: block;
}
@media (hover) {
  section.group ul li a:hover h3,
  section.affiliated ul li a:hover h3 {
    color: var(--blue);
  }
  section.group ul li a:hover img,
  section.affiliated ul li a:hover img {
    transform: scale(1.1);
  }
}
section.group ul li a .img,
section.affiliated ul li a .img {
  overflow: hidden;
  border: 1px solid var(--light-gray);
}
section.group ul li a .img img,
section.affiliated ul li a .img img {
  transition: transform 0.3s;
}
section.group ul li a h3,
section.affiliated ul li a h3 {
  margin-top: 20px;
  line-height: 1.7;
  padding-right: 30px;
  background: url(/common/img/icn_blank.svg) no-repeat right top 7px/16px;
  font-size: 18px;
  transition: color 0.3s;
}
section.group ul li a p,
section.affiliated ul li a p {
  margin-top: 10px;
}