/* arguments inittial */
/* font style */
/* site style */
/* [ writing-mode ]
-------------------------------------------------*/
/* [ easy breakpoint ]
-------------------------------------------------*/
.c-pagename {
  padding: 43px 0 38px;
}

@media (min-width: 1024px) {
  .c-pagename {
    padding: 70px 0 49px;
  }
}

@media (min-width: 1024px) {
  .c-pagename .ttl {
    letter-spacing: 0.13em;
  }
}

.group-intro p {
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 2.13333em;
  letter-spacing: 0.04em;
  font-weight: 500;
}

.group-chart {
  padding: 61px 0 47px;
}

@media (min-width: 1024px) {
  .group-chart {
    padding: 157px 0 141px;
  }
}

.group-chart__heading {
  margin-bottom: 31px;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.11111em;
  letter-spacing: 0.04em;
  font-weight: 700;
}

@media (min-width: 1024px) {
  .group-chart__heading {
    margin-bottom: 63px;
    font-size: 20px;
    font-size: 2rem;
    line-height: 1em;
    letter-spacing: 0.04em;
    font-weight: 700;
  }
}

.group-chart__heading > span {
  display: block;
  padding-bottom: 10px;
}

@media (min-width: 1024px) {
  .group-chart__heading > span {
    padding-bottom: 11px;
  }
}

.group-chart__content {
  max-width: 809px;
  margin: 0 auto;
}

.group-chart__content .item {
  margin-bottom: 16px;
  position: relative;
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 1.33333em;
  letter-spacing: 0.04em;
  font-weight: 500;
}

@media (min-width: 1024px) {
  .group-chart__content .item {
    margin-bottom: 24px;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.625em;
    letter-spacing: 0.04em;
    font-weight: 500;
  }
}

.group-chart__content .item:before {
  content: '';
  position: absolute;
  top: 50%;
  left: -16px;
  height: 1px;
  width: 100%;
  background: #1a005d;
}

@media (min-width: 1024px) {
  .group-chart__content .item:before {
    left: -36px;
  }
}

.group-chart__content .item .small {
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 1.33333em;
  letter-spacing: 0.04em;
  font-weight: 500;
}

@media (min-width: 1024px) {
  .group-chart__content .item .small {
    line-height: 26px;
  }
}

.group-chart__content .item .box-white {
  background: #fff;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 2;
  min-height: 80px;
  border-radius: 8px;
  padding: 5px 0px;
}

@media (min-width: 1024px) {
  .group-chart__content .item .box-white {
    min-height: 64px;
    padding: 5px 11px 5px 5px;
  }
}

.group-chart__content .row {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 0 0 0 31px;
}

@media (min-width: 1024px) {
  .group-chart__content .row {
    padding: 0 0 0 71px;
  }
}

.group-chart__content .row:before {
  content: '';
  position: absolute;
  left: 15px;
  top: -24px;
  width: 1px;
  height: 100%;
  background: #1a005d;
}

@media (min-width: 1024px) {
  .group-chart__content .row:before {
    left: 35px;
  }
}

.group-chart__content .row .item {
  width: calc(50% - 8px);
}

@media (min-width: 1024px) {
  .group-chart__content .row .item {
    width: calc(50% - 18px);
  }
}

.group-chart__content .row:last-child:before {
  height: calc(50% + 17px);
}

@media (min-width: 1024px) {
  .group-chart__content .row:last-child:before {
    height: calc(50% + 13px);
  }
}

.group-chart__content .holding:before {
  display: none;
}

.group-chart__content .holding .box-white {
  padding: 5px 5px 5px 5px;
  min-height: 92px;
}

@media (min-width: 1024px) {
  .group-chart__content .holding .box-white {
    padding: 5px 29px 5px 5px;
    min-height: 64px;
  }
}

@media (min-width: 1024px) {
  .group-chart__content .holding .small {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.625em;
    letter-spacing: 0.04em;
    font-weight: 500;
  }
}

@media (min-width: 1024px) {
  .group-chart__content .functional-company .box-white {
    padding-right: 15px;
  }
}

@media (max-width: 1023px) {
  .group-chart__content .functional-company .small {
    margin-left: -2px;
    font-size: 10px;
    font-size: 1rem;
    line-height: 1em;
  }
}

@media only screen and (max-width: 360px) {
  .group-chart__content .functional-company .small {
    font-size: 9px;
    font-size: 0.9rem;
    line-height: 1em;
  }
}

@media (min-width: 1024px) {
  .group-chart__content .regional-headquarters .box-white {
    padding-right: 18px;
  }
}

@media (min-width: 1024px) {
  .group-chart__content .logistics-business .box-white {
    padding-right: 18px;
  }
}

.group-companies {
  position: relative;
  z-index: 2;
}

.group-companies__heading {
  margin-bottom: 30px;
  letter-spacing: 0.04em;
}

@media (min-width: 1024px) {
  .group-companies__heading {
    margin-bottom: 64px;
    font-size: 20px;
    font-size: 2rem;
    line-height: 1em;
    letter-spacing: 0.04em;
    font-weight: 700;
  }
}

.group-companies__heading > span {
  display: block;
}

@media (min-width: 1024px) {
  .group-companies__heading > span {
    padding-bottom: 19px;
  }
}

.group-companies__area {
  margin-bottom: 23px;
}

@media (min-width: 1024px) {
  .group-companies__area {
    margin-bottom: 49px;
  }
}

.group-companies__area:last-child {
  margin-bottom: 0;
}

.group-companies__area .name {
  margin-bottom: 15px;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.55556em;
  letter-spacing: 0.1em;
  font-weight: 700;
}

@media (min-width: 1024px) {
  .group-companies__area .name {
    margin-bottom: 24px;
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.4em;
  }
}

.group-companies__area .link {
  text-align: center;
  position: absolute;
  left: 0;
  width: 100%;
  bottom: 10px;
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 1.33333em;
  letter-spacing: 0.1em;
  font-weight: 600;
}

.group-companies__area .link a {
  text-align: left;
  display: inline-block;
  position: relative;
  color: #8ec400;
  padding-right: 27px;
  padding-bottom: 10px;
}

@media (min-width: 1024px) {
  .group-companies__area .link a {
    padding-right: 31px;
  }
}

.group-companies__area .link a:before {
  content: '';
  position: absolute;
  left: 0;
  right: 6px;
  bottom: 5px;
  height: 2px;
  background: #8ec400;
}

@media (min-width: 1024px) {
  .group-companies__area .link a:before {
    right: 11px;
  }
}

.group-companies__area .link a:after {
  content: '';
  position: absolute;
  right: 6px;
  top: 2px;
  width: 14px;
  height: 14px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13.521' height='12.901' viewBox='0 0 13.521 12.901'%3E%3Cg transform='translate(0 0.5)'%3E%3Cg transform='translate(0 1.24)' fill='none' stroke='%238ec400' stroke-width='1'%3E%3Crect width='11.161' height='11.161' stroke='none'/%3E%3Crect x='0.5' y='0.5' width='10.161' height='10.161' fill='none'/%3E%3C/g%3E%3Cpath d='M11346.5-4544.5h11.187v11.186' transform='translate(-11344.664 4544.5)' fill='none' stroke='%238ec400' stroke-width='1'/%3E%3C/g%3E%3C/svg%3E%0A");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 13px auto;
}

@media (min-width: 1024px) {
  .group-companies__area .link a:after {
    right: 11px;
    top: 3px;
  }
}

.group-companies__area .domestic {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.group-companies__area .domestic li {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  border-radius: 8px;
  background: #fff;
  width: 100%;
  padding: 14px 5px 50px;
  margin-bottom: 8px;
}

@media (min-width: 1024px) {
  .group-companies__area .domestic li {
    width: calc(50% - 8px);
    padding: 13px 10px 51px;
    margin-bottom: 16px;
  }
}

.group-companies__area .domestic .ttl {
  height: 100%;
  text-align: center;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 2em;
  letter-spacing: 0.1em;
  font-weight: 700;
}

@media (min-width: 1024px) {
  .group-companies__area .domestic .ttl {
    padding-right: 10px;
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.77778em;
  }
}

@media (max-width: 1023px) {
  .group-companies__area .domestic .ttl.l-spacing0-sp {
    letter-spacing: 0;
  }
}

.group-companies__area .overseas {
  position: relative;
  border-radius: 8px;
  background: #fff;
  padding: 16px 24px 61px;
}

@media (min-width: 1024px) {
  .group-companies__area .overseas {
    padding: 28px 2px 52px;
  }
}

@media only screen and (max-width: 360px) {
  .group-companies__area .overseas {
    padding: 16px 20px 61px;
  }
}

@media (min-width: 1024px) {
  .group-companies__area .overseas .list {
    display: flex;
    justify-content: space-between;
  }
}

.group-companies__area .overseas .list li {
  padding: 0 0 17px;
  margin: 0 0 15px;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: relative;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.5em;
  letter-spacing: 0.1em;
  font-weight: 700;
}

@media (min-width: 1024px) {
  .group-companies__area .overseas .list li {
    padding: 5px 0 10px;
    margin: 0;
    width: 25%;
    min-height: 58px;
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.33333em;
  }
}

.group-companies__area .overseas .list li:before {
  content: '';
  position: absolute;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  background: #bab2ce;
}

@media (min-width: 1024px) {
  .group-companies__area .overseas .list li:before {
    right: 0;
    top: 0;
    bottom: 5px;
    width: 1px;
    height: auto;
  }
}

@media (min-width: 1024px) {
  .group-companies__area .overseas .list li:last-child:before {
    display: none;
  }
}

@media (max-width: 1023px) {
  .group-companies__area .overseas .link a {
    margin-left: 6px;
    letter-spacing: -0.02em;
  }
}

@media (min-width: 1024px) {
  .group-companies__area .overseas .link a {
    padding-right: 22px;
  }
}

@media (min-width: 1024px) {
  .group-companies__area .overseas .link a:before {
    right: 2px;
  }
}

@media (min-width: 1024px) {
  .group-companies__area .overseas .link a:after {
    right: 1px;
  }
}

.c-bottom-bg img {
  top: 74%;
}

@media (min-width: 1024px) {
  .c-bottom-bg img {
    top: 93%;
  }
}
