/*
$4ewsColor: 
    /*col01: #238561,
  col02: #67a2b7,
  col03: #d2843e,
  col04: #cf775b,
  col05: #cf9942,
  col06: #926c28,
  col07: #cc7175,
  col08: #608ea1,
  col09: #5b609a,
  col10: #487390,
  col11: #4e9386,
  col12: #79a153,
  col13: #817499
);
*/
/**/
.anchor_list {
  display: grid;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (min-width: 769px) {
  .anchor_list {
    grid-template-columns: repeat(4, 1fr);
    -webkit-column-gap: 4rem;
       -moz-column-gap: 4rem;
            column-gap: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .anchor_list {
    grid-template-columns: 1fr;
    row-gap: 3rem;
  }
}
.anchor_list a {
  display: block;
  position: relative;
  border-bottom: 1px solid #d0d0d0;
  -webkit-transition: ease-out 0.6s all;
  transition: ease-out 0.6s all;
}
@media screen and (min-width: 769px) {
  .anchor_list a {
    height: 100%;
    padding: 0 0 2rem;
  }
}
@media screen and (max-width: 768px) {
  .anchor_list a {
    height: 100%;
    padding: 0 0 3rem;
  }
}
.anchor_list a p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  .anchor_list a p {
    height: 100%;
    line-height: 1.5em;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .anchor_list a p {
    min-height: 7.2rem;
    line-height: 1.5em;
    font-size: 3.2rem;
  }
}
.anchor_list a span.arrow {
  position: absolute;
  background-image: url(../img/group_companies/arrow.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  right: 0;
  top: 0;
  margin: auto 0;
  -webkit-transition: ease-out 0.2s all;
  transition: ease-out 0.2s all;
}
@media screen and (min-width: 769px) {
  .anchor_list a span.arrow {
    width: 1.12rem;
    height: 1rem;
    bottom: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .anchor_list a span.arrow {
    width: 2.08rem;
    height: 1.6rem;
    bottom: 3rem;
  }
}
@media screen and (min-width: 769px) {
  .anchor_list a:hover {
    border-color: #0068b2;
    color: #0068b2;
  }
}

.box_list > li {
  border-bottom: 1px solid #cfcfcf;
}
@media screen and (min-width: 769px) {
  .box_list > li {
    padding: 3rem 0;
  }
}
@media screen and (max-width: 768px) {
  .box_list > li {
    padding: 5rem 0;
  }
}

.box_desc {
  display: grid;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (min-width: 769px) {
  .box_desc {
    grid-template-columns: 28rem 1fr;
    -webkit-column-gap: 4rem;
       -moz-column-gap: 4rem;
            column-gap: 4rem;
    row-gap: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .box_desc {
    grid-template-columns: 1fr;
    row-gap: 1rem;
  }
}
.box_desc .logo {
  position: relative;
}
@media screen and (min-width: 769px) {
  .box_desc .logo {
    grid-row: 1/3;
  }
}
@media screen and (max-width: 768px) {
  .box_desc .logo {
    grid-row: 3/4;
    width: 56rem;
    margin: 3rem auto 0;
  }
}
.box_desc .logo::after {
  content: "";
  position: absolute;
  border: 1px solid #cfcfcf;
  inset: 0;
  pointer-events: none;
}
@media screen and (min-width: 769px) {
  .box_desc .logo + .name,
  .box_desc .logo ~ .text {
    grid-column: 2/3;
  }
}
.box_desc .name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (min-width: 769px) {
  .box_desc .name {
    grid-column: 1/3;
  }
}
.box_desc .name h4 {
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  .box_desc .name h4 {
    line-height: 1.5em;
    font-size: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .box_desc .name h4 {
    line-height: 1.5em;
    font-size: 3.6rem;
  }
}
.box_desc .name a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-transition: ease-out 0.6s all;
  transition: ease-out 0.6s all;
}
@media screen and (min-width: 769px) {
  .box_desc .name a {
    -webkit-column-gap: 1.5rem;
       -moz-column-gap: 1.5rem;
            column-gap: 1.5rem;
  }
}
@media screen and (max-width: 768px) {
  .box_desc .name a {
    -webkit-column-gap: 3rem;
       -moz-column-gap: 3rem;
            column-gap: 3rem;
  }
}
.box_desc .name a span.window {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: block;
  position: relative;
  background: -webkit-gradient(linear, left top, right top, from(#0f3b6b), color-stop(#0068ad), to(#0080cd));
  background: linear-gradient(to right, #0f3b6b, #0068ad, #0080cd);
  border-radius: 50%;
}
@media screen and (min-width: 769px) {
  .box_desc .name a span.window {
    width: 3rem;
    height: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .box_desc .name a span.window {
    width: 4.5rem;
    height: 4.5rem;
    translate: 0 16.667%;
  }
}
.box_desc .name a span.window::after {
  content: "";
  position: absolute;
  background-image: url(../../common/img/icon_window_w.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  inset: 0;
  margin: auto;
  -webkit-transition: ease-out 0.2s all;
  transition: ease-out 0.2s all;
}
@media screen and (min-width: 769px) {
  .box_desc .name a span.window::after {
    background-size: 0.8rem auto;
  }
}
@media screen and (max-width: 768px) {
  .box_desc .name a span.window::after {
    background-size: 1.44rem auto;
  }
}
@media screen and (min-width: 769px) {
  .box_desc .name a:hover {
    color: #0068b2;
  }
}
@media screen and (min-width: 769px) {
  .box_desc .text {
    grid-column: 1/3;
  }
}

.general_txt.signature {
  text-align: right;
}
@media screen and (min-width: 769px) {
  .general_txt.signature {
    margin-top: 1rem;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 768px) {
  .general_txt.signature {
    margin-top: 2rem;
    font-size: 2.8rem;
  }
}

#group_sec .inner {
  padding-top: 0;
}