@charset "UTF-8";
.company-group {
  margin-bottom: min(8.333vw, 120px);
}
@media only screen and (max-width: 767px) {
  .company-group {
    margin-bottom: 20.513vw;
  }
}

.company-group__inner {
  margin-inline: auto;
  width: var(--container-width-pc);
}
@media only screen and (max-width: 767px) {
  .company-group__inner {
    width: var(--container-width-sp);
  }
}
.company-group__inner br.sp-only {
  display: none;
}
@media only screen and (max-width: 767px) {
  .company-group__inner br.sp-only {
    display: initial;
  }
}

.company-group__local-nav {
  margin-bottom: min(4.167vw, 60px);
}
@media only screen and (max-width: 767px) {
  .company-group__local-nav {
    margin-bottom: 10.256vw;
  }
}
@media only screen and (max-width: 767px) {
  .company-group__local-nav ul.c-extension_anchor-list a.c-extension_anchor {
    width: 100%;
    justify-content: space-between;
  }
}

.company-group__tree-container {
  margin-bottom: min(6.944vw, 100px);
}
@media only screen and (max-width: 767px) {
  .company-group__tree-container {
    margin-bottom: 15.385vw;
  }
}

.company-group__tree-primary-node {
  position: relative;
  margin-inline: auto;
  text-align: center;
  border: 1px solid var(--line-light_gray);
  padding: min(0.972vw, 14px) min(2.083vw, 30px);
  width: min(44.444vw, 640px);
  border-radius: min(0.694vw, 10px);
  font-family: var(--family-jp);
  font-size: var(--size-18px);
  font-weight: var(--weight-bold);
  line-height: var(--line-height-170);
}
@media only screen and (max-width: 767px) {
  .company-group__tree-primary-node {
    font-size: var(--size-18px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) {
  .company-group__tree-primary-node {
    font-family: var(--family-jp);
    font-size: var(--size-16px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .company-group__tree-primary-node {
    font-size: var(--size-16px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) {
  .company-group__tree-primary-node {
    padding: 2.564vw 7.692vw;
    width: initial;
    border-radius: 2.564vw;
  }
}
.company-group__tree-primary-node:first-child:after {
  content: "";
  position: absolute;
  display: block;
  bottom: 0;
  left: 50%;
  translate: 0 calc(100% + 1px);
  height: min(1.181vw, 17px);
  border-left: 1px solid var(--line-light_gray);
}
@media only screen and (max-width: 767px) {
  .company-group__tree-primary-node:first-child:after {
    height: 4.359vw;
  }
}
.company-group__tree-primary-node:nth-child(2) {
  --border-length: 0px;
}
.company-group__tree-primary-node:nth-child(2):after {
  content: "";
  position: absolute;
  display: block;
  bottom: 0;
  left: 50%;
  translate: 0 calc(100% + 1px);
  height: var(--border-length);
  border-left: 1px solid var(--line-light_gray);
}

.company-group__tree-primary-node + .company-group__tree-primary-node {
  margin-top: min(1.181vw, 17px);
}
@media only screen and (max-width: 767px) {
  .company-group__tree-primary-node + .company-group__tree-primary-node {
    margin-top: 4.359vw;
  }
}

.company-group__tree-secondary-node-container {
  display: flex;
  justify-content: space-between;
  margin-top: min(1.458vw, 21px);
}
@media only screen and (max-width: 767px) {
  .company-group__tree-secondary-node-container {
    margin-top: 5.769vw;
  }
}
.company-group__tree-secondary-node-container > div {
  display: flex;
  flex-direction: column;
  width: min(36.944vw, 532px);
  gap: min(1.389vw, 20px);
}
@media only screen and (max-width: 767px) {
  .company-group__tree-secondary-node-container > div {
    width: 37.949vw;
    gap: 2.564vw;
  }
}

.company-group__tree-secondary-node-header {
  position: relative;
  display: block;
  border: 1px solid var(--line-light_gray);
  border-bottom: none;
  background-color: var(--primary-red);
  color: var(--text-white);
  text-align: center;
  padding: min(0.972vw, 14px) min(2.778vw, 40px);
  border-top-left-radius: min(0.694vw, 10px);
  border-top-right-radius: min(0.694vw, 10px);
  font-family: var(--family-jp);
  font-size: var(--size-18px);
  font-weight: var(--weight-bold);
  line-height: var(--line-height-170);
}
@media only screen and (max-width: 767px) {
  .company-group__tree-secondary-node-header {
    font-size: var(--size-18px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) {
  .company-group__tree-secondary-node-header {
    text-align: left;
    padding: 2.564vw 2.564vw;
    border-top-left-radius: 2.564vw;
    border-top-right-radius: 2.564vw;
    font-family: var(--family-jp);
    font-size: var(--size-14px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-150);
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .company-group__tree-secondary-node-header {
    font-size: var(--size-14px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-150);
  }
}

.company-group__tree-secondary-node-header-icon {
  display: block;
  position: absolute;
  rotate: 90deg;
  translate: 0% -50%;
  top: 50%;
  right: min(1.389vw, 20px);
  position: absolute;
  overflow: hidden;
  display: inline-block;
  width: min(2.083vw, 30px);
  height: min(2.083vw, 30px);
  border-radius: 50%;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  background-image: url("/assets/img/component/icon/icon-circle_white.svg");
}
@media only screen and (max-width: 767px) {
  .company-group__tree-secondary-node-header-icon {
    width: 4.615vw;
    height: 4.615vw;
  }
}
.company-group__tree-secondary-node-header-icon::before, .company-group__tree-secondary-node-header-icon::after {
  position: absolute;
  display: inline-block;
  content: "";
  top: 50%;
  left: 51.5%;
  transition: transform 0.8s cubic-bezier(0.86, 0, 0.07, 1), opacity 0.8s cubic-bezier(0.86, 0, 0.07, 1), background-image var(--ease-in-out-300);
  width: min(0.421vw, 6.0582857127px);
  height: min(0.761vw, 10.9580000095px);
  background-position: center;
  background-size: min(0.421vw, 6.0582857127px) min(0.761vw, 10.9580000095px);
  background-repeat: no-repeat;
  background-image: url("/assets/img/component/icon/icon-arrow_primary-red.svg");
}
@media only screen and (max-width: 767px) {
  .company-group__tree-secondary-node-header-icon::before, .company-group__tree-secondary-node-header-icon::after {
    width: 0.932vw;
    height: 1.686vw;
    background-size: 0.932vw 1.686vw;
  }
}
.company-group__tree-secondary-node-header-icon::before {
  transform: translate(-51.5%, -50%) translateX(0);
  opacity: 1;
}
.company-group__tree-secondary-node-header-icon::after {
  transform: translate(-51.5%, -50%) translateX(max(-4.167vw, -60px));
  opacity: 0;
}
@media only screen and (max-width: 767px) {
  .company-group__tree-secondary-node-header-icon::after {
    transform: translate(-51.5%, -50%) translateX(max(-2.5vw, -36px));
  }
}
@media only screen and (max-width: 767px) {
  .company-group__tree-secondary-node-header-icon {
    right: 2.564vw;
  }
}

.company-group__tree-secondary-node-header:hover .company-group__tree-secondary-node-header-icon {
  position: absolute;
  overflow: hidden;
  display: inline-block;
  width: min(2.083vw, 30px);
  height: min(2.083vw, 30px);
  border-radius: 50%;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  background-image: url("/assets/img/component/icon/icon-circle_white.svg");
}
@media only screen and (max-width: 767px) {
  .company-group__tree-secondary-node-header:hover .company-group__tree-secondary-node-header-icon {
    width: 4.615vw;
    height: 4.615vw;
  }
}
.company-group__tree-secondary-node-header:hover .company-group__tree-secondary-node-header-icon::before, .company-group__tree-secondary-node-header:hover .company-group__tree-secondary-node-header-icon::after {
  position: absolute;
  display: inline-block;
  content: "";
  top: 50%;
  left: 51.5%;
  transition: transform 0.8s cubic-bezier(0.86, 0, 0.07, 1), opacity 0.8s cubic-bezier(0.86, 0, 0.07, 1), background-image var(--ease-in-out-300);
  width: min(0.421vw, 6.0582857127px);
  height: min(0.761vw, 10.9580000095px);
  background-position: center;
  background-size: min(0.421vw, 6.0582857127px) min(0.761vw, 10.9580000095px);
  background-repeat: no-repeat;
  background-image: url("/assets/img/component/icon/icon-arrow_primary-red.svg");
}
@media only screen and (max-width: 767px) {
  .company-group__tree-secondary-node-header:hover .company-group__tree-secondary-node-header-icon::before, .company-group__tree-secondary-node-header:hover .company-group__tree-secondary-node-header-icon::after {
    width: 0.932vw;
    height: 1.686vw;
    background-size: 0.932vw 1.686vw;
  }
}
.company-group__tree-secondary-node-header:hover .company-group__tree-secondary-node-header-icon::before {
  transform: translate(-51.5%, -50%) translateX(0);
  opacity: 1;
}
.company-group__tree-secondary-node-header:hover .company-group__tree-secondary-node-header-icon::after {
  transform: translate(-51.5%, -50%) translateX(max(-4.167vw, -60px));
  opacity: 0;
}
@media only screen and (max-width: 767px) {
  .company-group__tree-secondary-node-header:hover .company-group__tree-secondary-node-header-icon::after {
    transform: translate(-51.5%, -50%) translateX(max(-2.5vw, -36px));
  }
}
.company-group__tree-secondary-node-header:hover .company-group__tree-secondary-node-header-icon::before {
  transform: translate(-51.5%, -50%) translateX(min(4.167vw, 60px));
  opacity: 0;
}
@media only screen and (max-width: 767px) {
  .company-group__tree-secondary-node-header:hover .company-group__tree-secondary-node-header-icon::before {
    transform: translate(-51.5%, -50%) translateX(min(2.5vw, 36px));
  }
}
.company-group__tree-secondary-node-header:hover .company-group__tree-secondary-node-header-icon::after {
  transform: translate(-51.5%, -50%) translateX(0);
  opacity: 1;
}

.company-group__tree-secondary-node-body {
  display: flex;
  justify-content: space-between;
  border: 1px solid var(--line-light_gray);
  border-top: none;
  border-bottom-left-radius: min(0.694vw, 10px);
  border-bottom-right-radius: min(0.694vw, 10px);
  padding: min(2.778vw, 40px);
  font-family: var(--family-jp);
  font-size: var(--size-14px);
  font-weight: var(--weight-regular);
  line-height: var(--line-height-150);
}
@media only screen and (max-width: 767px) {
  .company-group__tree-secondary-node-body {
    font-size: var(--size-14px);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-150);
  }
}
@media only screen and (max-width: 767px) {
  .company-group__tree-secondary-node-body {
    flex-direction: column;
    border-bottom-left-radius: 2.564vw;
    border-bottom-right-radius: 2.564vw;
    padding: 3.846vw;
    font-family: var(--family-jp);
    font-size: var(--size-10px);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-150);
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .company-group__tree-secondary-node-body {
    font-size: var(--size-10px);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-150);
  }
}
.company-group__tree-secondary-node-body nav {
  width: min(15vw, 216px);
}
@media only screen and (max-width: 767px) {
  .company-group__tree-secondary-node-body nav {
    width: 30.256vw;
  }
}
.company-group__tree-secondary-node-body ul {
  flex-grow: 1;
}
.company-group__tree-secondary-node-body ul li + li {
  margin-top: min(0.694vw, 10px);
}
@media only screen and (max-width: 767px) {
  .company-group__tree-secondary-node-body ul li + li {
    margin-top: 2.564vw;
  }
}
.company-group__tree-secondary-node-body ul li a {
  transition: opacity var(--ease-in-out-200);
}
.company-group__tree-secondary-node-body ul li a:hover {
  opacity: var(--opacity-7);
}
.company-group__tree-secondary-node-body ul li a[target=_blank] > .icon {
  vertical-align: middle;
  margin-left: min(0.347vw, 5px);
  width: min(0.972vw, 14px);
  height: min(0.972vw, 14px);
  background-position: center;
  background-size: min(0.972vw, 14px) min(0.972vw, 14px);
  background-repeat: no-repeat;
  background-image: url("/assets/img/component/icon/icon-blank_primary-red.svg");
}
@media only screen and (max-width: 767px) {
  .company-group__tree-secondary-node-body ul li a[target=_blank] > .icon {
    width: 2.564vw;
    height: 2.564vw;
    background-size: 2.564vw 2.564vw;
  }
}
@media only screen and (max-width: 767px) {
  .company-group__tree-secondary-node-body ul li a[target=_blank] > .icon {
    margin-left: 1.282vw;
  }
}
.company-group__tree-secondary-node-body ul li a:not([target=_blank]) > .icon {
  vertical-align: middle;
  rotate: 90deg;
  margin-left: min(0.347vw, 5px);
  width: min(0.764vw, 11px);
  height: min(0.764vw, 11px);
  background-position: center;
  background-size: min(0.764vw, 11px) min(0.764vw, 11px);
  background-repeat: no-repeat;
  background-image: url("/assets/img/component/icon/icon-arrow_primary-red.svg");
}
@media only screen and (max-width: 767px) {
  .company-group__tree-secondary-node-body ul li a:not([target=_blank]) > .icon {
    width: 2.308vw;
    height: 2.308vw;
    background-size: 2.308vw 2.308vw;
  }
}
@media only screen and (max-width: 767px) {
  .company-group__tree-secondary-node-body ul li a:not([target=_blank]) > .icon {
    margin-left: 1.282vw;
  }
}
.company-group__tree-secondary-node-body ul li a .icon {
  display: inline-block;
}
.company-group__tree-secondary-node-body ul li > ul {
  position: relative;
  margin-left: min(1.875vw, 27px);
  font-family: var(--family-jp);
  font-size: var(--size-12px);
  font-weight: var(--weight-regular);
  line-height: var(--line-height-150);
}
@media only screen and (max-width: 767px) {
  .company-group__tree-secondary-node-body ul li > ul {
    font-size: var(--size-12px);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-150);
  }
}
@media only screen and (max-width: 767px) {
  .company-group__tree-secondary-node-body ul li > ul {
    margin-left: 4.615vw;
    margin-top: 1.538vw;
    font-size: 8px;
  }
}
.company-group__tree-secondary-node-body ul li > ul > li {
  position: relative;
}
.company-group__tree-secondary-node-body ul li > ul > li + li {
  margin-top: 0;
}
.company-group__tree-secondary-node-body ul li > ul > li:before {
  display: block;
  position: absolute;
  content: "";
  border-left: 1px solid var(--line-light_gray);
  top: 0;
  left: max(-1.181vw, -17px);
  height: min(0.694vw, 10px);
}
@media only screen and (max-width: 767px) {
  .company-group__tree-secondary-node-body ul li > ul > li:before {
    top: -0.256vw;
    left: -3.077vw;
    height: 2.051vw;
  }
}
.company-group__tree-secondary-node-body ul li > ul > li:after {
  display: block;
  position: absolute;
  content: "";
  border-bottom: 1px solid var(--line-light_gray);
  top: min(0.694vw, 10px);
  left: max(-1.181vw, -17px);
  width: min(0.972vw, 14px);
}
@media only screen and (max-width: 767px) {
  .company-group__tree-secondary-node-body ul li > ul > li:after {
    top: 1.795vw;
    left: -3.077vw;
    width: 2.051vw;
  }
}

.company-group__tree-left-nodes .company-group__tree-secondary-node-header:after {
  content: "";
  position: absolute;
  display: block;
  width: min(1.25vw, 18px);
  height: 1px;
  top: 50%;
  right: 0;
  translate: min(1.319vw, 19px);
  border-bottom: 1px solid var(--line-light_gray);
}
@media only screen and (max-width: 767px) {
  .company-group__tree-left-nodes .company-group__tree-secondary-node-header:after {
    width: 4.487vw;
    translate: 4.615vw;
  }
}

.company-group__tree-right-nodes .company-group__tree-secondary-node-header:before {
  content: "";
  position: absolute;
  display: block;
  width: min(1.285vw, 18.5px);
  height: 1px;
  top: 50%;
  left: 0;
  translate: max(-1.319vw, -19px);
  border-bottom: 1px solid var(--line-light_gray);
}
@media only screen and (max-width: 767px) {
  .company-group__tree-right-nodes .company-group__tree-secondary-node-header:before {
    width: 4.423vw;
    translate: -4.487vw;
  }
}

.company-group__tree-secondary-node-body--group2 {
  padding: min(1.389vw, 20px) min(2.778vw, 40px);
}
@media only screen and (max-width: 767px) {
  .company-group__tree-secondary-node-body--group2 {
    padding: 3.846vw;
  }
}

.company-group__tree-secondary-node-body--group3 {
  padding: min(1.389vw, 20px) min(2.778vw, 40px);
}
@media only screen and (max-width: 767px) {
  .company-group__tree-secondary-node-body--group3 {
    padding: 3.846vw;
  }
}

.company-group__tree-secondary-node-body--group4 {
  padding: min(1.389vw, 20px) min(1.285vw, 18.5px) min(1.389vw, 20px) min(1.632vw, 23.5px);
}
@media only screen and (max-width: 767px) {
  .company-group__tree-secondary-node-body--group4 {
    padding: 3.846vw;
  }
}
@media print, screen and (min-width: 768px) {
  .company-group__tree-secondary-node-body--group4 nav {
    width: initial;
    flex-grow: 1;
  }
}

.company-group__tree-secondary-node-body--group5 {
  padding: min(1.389vw, 20px) min(2.778vw, 40px);
}
@media only screen and (max-width: 767px) {
  .company-group__tree-secondary-node-body--group5 {
    padding: 3.846vw;
  }
}

.company-group__section .c-title.type--primary + .c-extension_companyinfo-list {
  margin-top: min(2.778vw, 40px);
}
@media only screen and (max-width: 767px) {
  .company-group__section .c-title.type--primary + .c-extension_companyinfo-list {
    margin-top: 10.256vw;
  }
}
.company-group__section .c-extension_companyinfo .branch:before {
  content: "【";
}
.company-group__section .c-extension_companyinfo .branch:after {
  content: "】";
}

.company-group__section + .company-group__section {
  margin-top: min(5.556vw, 80px);
}
@media only screen and (max-width: 767px) {
  .company-group__section + .company-group__section {
    margin-top: 15.385vw;
  }
}

.c-extension_companyinfo-list.local-type--full_wide {
  display: grid;
  grid-template-columns: 1fr;
}

.local-lead_section {
  margin-bottom: min(8.333vw, 120px);
}
@media only screen and (max-width: 767px) {
  .local-lead_section {
    margin-bottom: 20.513vw;
  }
}

html[lang=zh-CN] .c-extension_companyinfo__postalcode::before,
html[lang=en] .c-extension_companyinfo__postalcode::before {
  content: none;
}

html[lang=en] .c-extension_companyinfo.type--primary .c-extension_companyinfo__details dt,
html[lang=en] .c-extension_companyinfo.type--primary .c-extension_companyinfo__details dd {
  display: inline;
}
html[lang=en] .c-extension_companyinfo.type--primary .c-extension_companyinfo__details dt::before, html[lang=en] .c-extension_companyinfo.type--primary .c-extension_companyinfo__details dt::after {
  content: none;
}/*# sourceMappingURL=company-group.css.map */