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

** office
==================================================*/
#officeSec {
  overflow: hidden;
}
#officeSec .office-inner {
  padding-inline: 5.8%;
}

#officeTtl {
  position: relative;
  min-height: 798px;
}
#officeTtl .basepht {
  position: absolute;
  right: -35px;
  top: 0;
  z-index: -1;
  width: 1804px;
}
#officeTtl .lrbox {
  margin-top: 90px;
  padding-inline: 5.8% 1.6%;
}
#officeTtl .labels {
  border: 1px solid #fdc3b8;
  border-radius: 10px;
  width: 165px;
  padding-block: 33px;
  padding-inline: 20px;
}
#officeTtl .labels-li {
  padding-left: 30px;
  font-size: 1.4rem;
  position: relative;
}
#officeTtl .labels-li::before {
  content: "";
  display: block;
  width: 20px;
  aspect-ratio: 20/40;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  background: no-repeat center center/contain;
}
#officeTtl .labels-li + .labels-li {
  margin-top: 25px;
}
#officeTtl .labels-office::before {
  background-image: url(../img/office/ico_marker_office.svg);
}
#officeTtl .labels-manufacturing::before {
  background-image: url(../img/office/ico_marker_manufacturing.svg);
}
#officeTtl .labels-sales::before {
  background-image: url(../img/office/ico_marker_overseas_sales.svg);
}
#officeTtl .anchornav {
  width: 250px;
}
#officeTtl .anchornav-li + .anchornav-li {
  margin-top: 10px;
}
#officeTtl .anchornav-a {
  display: block;
  border-radius: 1000px;
  background: #f96f64;
  color: #fff;
  font-size: 1.6rem;
  position: relative;
  padding-block: 14px 11px;
  padding-inline: 23px;
  position: relative;
}
#officeTtl .anchornav-a::after {
  content: "";
  display: block;
  height: 12px;
  aspect-ratio: 60/25;
  background: url(../img/office/ico_anchor_btm_wt.svg) no-repeat center center/contain;
  position: absolute;
  right: 25px;
  top: 0;
  bottom: 0;
  margin-block: auto;
}
#officeTtl .anchornav-a:hover {
  background: #ef363c;
}

#OfficeCompany .company-list {
  margin-top: 40px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 100px 9.4%;
}
#OfficeCompany .company-list .txtbox {
  margin-top: 30px;
}
#OfficeCompany .company-list .ttl {
  font-size: 2.8rem;
}
#OfficeCompany .company-list .txt {
  margin-top: 20px;
  font-size: 1.4rem;
  text-align: justify;
}
#OfficeCompany .company-list .address {
  margin-top: 20px;
  font-size: 1.4rem;
}

#officeFactory {
  margin-top: 80px;
}
#officeFactory .heading {
  font-size: 3rem;
  color: #ef363c;
}
#officeFactory .factorysec {
  margin-top: 40px;
  display: grid;
  grid-template-columns: 58.4% 38.6%;
  justify-content: space-between;
}
#officeFactory .factorysec + .factorysec {
  margin-top: 70px;
}
#officeFactory .factorysec .phtbox.col2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 3.2%;
}
#officeFactory .factorysec .txtbox .ttl-jp {
  font-size: 2.8rem;
  line-height: 1.5;
}
#officeFactory .factorysec .txtbox .ttl-en {
  font-size: 1.6rem;
  line-height: 1.5;
}
#officeFactory .factorysec .txtbox .txt {
  margin-top: 30px;
  font-size: 1.4rem;
  text-align: justify;
}
#officeFactory .factorysec .txtbox .towebsite {
  margin-top: 20px;
}
#officeFactory .factorysec .txtbox .towebsite-a {
  display: block;
  width: 100px;
  border-radius: 1000px;
  background: #fad7cf;
  color: #ef363c;
  font-size: 1.4rem;
  text-align: center;
  padding: 10px 4px 7px;
}
#officeFactory .factorysec .txtbox .towebsite-a:hover {
  background: #ef363c;
  color: #fff;
}

#factoryInternal {
  margin-top: 25px;
}

#factoryOverseas {
  margin-top: 100px;
}

@media screen and (max-width: 991px) and (min-width: 768px) {
  #OfficeCompany .company-list {
    gap: 100px 4.7%;
  }
}
@media screen and (max-width: 991px) {
  #officeSec .office-inner {
    padding-inline: 2.9%;
  }
  #officeTtl {
    min-height: 641px;
  }
  #officeTtl .basepht {
    right: -110px;
    width: 1450px;
  }
  #officeTtl .lrbox {
    margin-top: 70px;
    padding-inline: 2.9% 1.6%;
  }
}
@media screen and (max-width: 767px) {
  #officeTtl {
    min-height: auto;
  }
  #officeTtl .basepht {
    right: -135px;
    top: 60px;
    width: 1160px;
  }
  #officeTtl .lrbox {
    flex-direction: column;
    margin-top: 160px;
    padding-inline: 0;
  }
  #officeTtl .labels {
    margin-left: auto;
    width: 120px;
    padding-block: 18px 14px;
    padding-inline: 10px;
  }
  #officeTtl .labels-li {
    padding-left: 20px;
    font-size: 1.2rem;
  }
  #officeTtl .labels-li::before {
    width: 12px;
  }
  #officeTtl .labels-li + .labels-li {
    margin-top: 10px;
  }
  #officeTtl .anchornav {
    margin-top: 140px;
    width: 100%;
    padding-inline: 2.9%;
  }
  #officeTtl .anchornav-a {
    font-size: 1.4rem;
    padding-inline: 20px;
  }
  #officeTtl .anchornav-a::after {
    height: 10px;
    right: 20px;
  }
  #OfficeCompany {
    margin-top: 60px;
  }
  #OfficeCompany .company-list {
    margin-top: 20px;
    grid-template-columns: 1fr;
    gap: 50px 0;
  }
  #OfficeCompany .company-list .txtbox {
    margin-top: 20px;
  }
  #OfficeCompany .company-list .ttl {
    font-size: 2.4rem;
  }
  #OfficeCompany .company-list .txt,
  #OfficeCompany .company-list .address {
    margin-top: 15px;
  }
  #officeFactory {
    margin-top: 60px;
  }
  #officeFactory .heading {
    font-size: 2.6rem;
  }
  #officeFactory .factorysec {
    margin-top: 30px;
    grid-template-columns: 1fr;
    gap: 20px;
  }
  #officeFactory .factorysec + .factorysec {
    margin-top: 40px;
  }
  #officeFactory .factorysec .phtbox.col2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 3.2%;
  }
  #officeFactory .factorysec .txtbox .ttl-jp {
    font-size: 2.4rem;
  }
  #officeFactory .factorysec .txtbox .ttl-en {
    font-size: 1.3rem;
  }
  #officeFactory .factorysec .txtbox .txt {
    margin-top: 20px;
  }
  #factoryOverseas {
    margin-top: 50px;
  }
}