
.anchor-link {
  margin-top: 4rem;
}
.anchor-link ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 1.5em;
  row-gap: 1em;
  margin: 0 auto;
}
.anchor-link .button span {
  color: var(--color-orange);
}
.anchor-link .button {
  max-width: 100%;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 6rem;
  background-color: white;
  border: 1px solid var(--color-orange);
}
.anchor-link .button::before {
  background-color: var(--color-orange);
}
.anchor-link .button::after {
  background-image: url('../images/arrow_orange.svg');
  transform: translateY(-50%) rotate(90deg);
}
.anchor-link .button:hover span {
  color: white;
}
.anchor-link .button:hover::after {
  background-image: url('../images/arrow_white.svg');
  transform: translateY(-40%) rotate(90deg);
}
/** title **/
.pg-title__sub.sub__small{
  position: relative;
  padding-top: .75em;
}
.pg-title__sub.sub__small::before {
  content: "";
  display: inline-block;
  color: var(--color-orange);
  font-family: var(--color-orange);
  font-size: 1.2rem;
  line-height: 1em;
  font-style: italic;
  position: absolute;
  top: 0;
  left: 0;
}
.pg-title__sub.sub__small.--message::before {
  content: "MESSAGE";
}
.pg-title__sub.sub__small.--commitment::before {
  content: "COMMITMENT";
}
.pg-title__sub.sub__small.--philosophy::before {
  content: "PHILOSOPHY";
}
.pg-title__sub.sub__small.--policy::before {
  content: "POLICY";
}
.pg-title__sub.sub__small.--companycreed:before {
  content: "COMPANYCREED";
}
/** content **/
.message-block {
  background-color: var(--color-blue03);
  padding: 1.5em;
  margin-bottom: var(--space-md);
}
.message-block__ttl {
  display: grid;
  grid-template-columns: 1fr 1fr;
  position: relative;
  border-bottom: 1px solid var(--color-blue);
}
.message-block__ttl .pg-title__sub {
  margin-top: 1em;
}
.message-block__ttl .message-block__name {
  position: absolute;
  left: 0;
  bottom: 1em;
}
.message-block__txt__ttl {
  font-size: 1.9rem;
  color: var(--color-blue);
  margin: 1.5em 0 1em 0;
}
.half-lay .philosophy-block,
.half-lay .policy-block {
  padding: var(--space-md) 0;
}
.philosophy-block dl {
  margin-top: 1.5em;
}
.philosophy-block .philosophy-block__no,
.policy-block li::before {
  font-size: 1.4rem;
  font-weight: 700;
  font-style: italic;
  color: var(--color-orange);
}
.philosophy-block .philosophy-block__no {
  position: relative;
  display: inline-block;
  padding-right: 1em;
}
.philosophy-block .philosophy-block__no::before {
  content: "";
  display: block;
  width: 2em;
  height: 1px;
  background-color: var(--color-orange);
  position: absolute;
  right: -2em;
  top: 50%;
}
.policy-block ol {
  margin-top: 1.5em;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1em;
  font-weight: 700;
}
.policy-block li {
  color: var(--color-blue);
}
.companycreed-block {
  padding-top: var(--space-md);
}
.companycreed-txt {
  display: flex;
  margin: var(--space-md) 0 1.5em 0;
}
.companycreed-txt li {
  padding-top: 1em;
  line-height: 1em;
  position: relative;
}
.companycreed-txt li .main__big {
  font-size: 3.3rem;
  font-weight: 700;
  line-height: 1em;
  color: var(--color-blue);
  display: inline-block;
  display: flex;
  align-items: flex-end;
}
.companycreed-txt li .main__big::after {
  content:"";
  display: inline-block;
  width: 1.75em;
  height: 1em;
  background-image: url('../images/kake.svg');
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: contain;
}
.companycreed-txt li:last-child .main__big::after {
  display: none;
}
.companycreed-txt li .sub__small {
  display: inline-block;
  color: var(--color-orange);
  font-size: 1.1rem;
  font-style: italic;
  font-weight: 700;
  font-family: var(--font-en);
  position: absolute;
  top: 0;
  left: 0;
}
.tbl-style.--company {
  margin-bottom: var(--space-md);
}
.mark-box__lay {
  display: grid;
  grid-template-columns: 1fr 1fr;
  row-gap: 2em;
  margin-top: 2em;
}
.mark-box__lay .mark-box {
  padding: 0 1em;
  border-right: 1px solid var(--color-blue01);
  text-align: center;
}
.mark-box__lay .mark-box p {
  font-size: 1.2rem;
  line-height: 1.5em;
}
.office-box {
  border-bottom: 1px solid var(--color-blue01);
  padding-bottom: 1.5em;
  margin-bottom: 1.5em;
}
.office-box:last-child {
  padding-bottom: 0;
  margin-bottom: 0;
  border:none;
}
.office-box .office-box__ttl {
  color: var(--color-blue);
  font-weight: 700;
  font-size: 1.9rem;
  line-height: 1.5em;
}
.office-box .office-box__img {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: flex-end;
  margin-bottom: 1em;
}
table.tbl-style {
  width: 100%;
}
.tbl-style th,.tbl-style td {
  border-bottom: 1px solid var(--color-blue01);
  padding: 1.5em 0;
  vertical-align: top;
  text-align: left;
}
.tbl-style th {
  color: var(--color-blue);
}
.tbl-style.--history th span {
  color: var(--color-orange);
  font-family: var(--font-en);
  font-size: 2.5rem;
  font-style: italic;
  font-weight: 700;
  padding-right: 1em;
}
.tbl-style.--history td dl {
  margin-bottom: 1em;
}
.tbl-style.--history td dl:last-child {
  margin-bottom: 0;
}
.tbl-style.--history td dt {
  color: var(--color-blue);
  font-weight: 700;
  margin-bottom: .5em;
}
@media screen and (max-width: 767px) {
  .half-lay .philosophy-block {
    position: relative;
  }
  .half-lay .philosophy-block::after {
    content: "";
    display: block;
    width: 100vw;
    height: 1px;
    background-color: var(--color-blue);
    position: absolute;
    bottom: 0;
    left: -1em;
  }
  .companycreed-block picture {
    width: 100vw;
    transform: translateX(-1em);
    display: block;
  }
  .mark-box__lay .mark-box:nth-child(even){
    border: none;
  }
  .tbl-style.--company th {
    white-space: nowrap;
    padding-right: 1em;
  }
  .tbl-style.--company tr:last-child th,
  .tbl-style.--company tr:last-child td {
    border-bottom: none;
  }
  .tbl-style.--f-info th,.tbl-style.--f-info td {
    display: block;
  }
  .tbl-style.--f-info th {
    border-bottom: none;
    padding-bottom: 0;
  }
  .tbl-style.--f-info td {
    padding-top: 1em;
  }
}
@media screen and (min-width: 768px) {
  .anchor-link {
    margin-top: 10rem;
  }
  .anchor-link ul {
    width: fit-content;
    grid-template-columns: repeat(3, 28rem);
    column-gap: 3.5rem;
    row-gap: 2.8rem;
    margin: 0 auto;
  }
  .anchor-link .button {
    height: 5.6rem;
  }
  .anchor-link .button:hover::before {
    width: 28rem;
    height: 28rem;
  }
  /** title **/
  .pg-title__sub.--commitment::before {
    font-size: 1.4rem;
  }
  /** content **/
  .message-block {
    padding: 4em;
    display: grid;
    grid-template-columns: auto 81.6rem;
    gap: 4em;
  }
  .message-block__ttl {
    display: block;
    position: static;
    border-bottom: none;
    margin-top: 0;
  }
  .message-block__ttl picture {
    margin: 4em 01em;
  }
  .message-block__ttl .message-block__name {
    position: static;
  }
  .message-block__txt__ttl {
    font-size: 2.8rem;
    margin-top: 0;
  }
  .message-block__txt p {
    line-height: 2.26em;
  }
  .half-lay {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .half-lay .philosophy-block {
    border-right: 1px solid var(--color-blue);
    padding-right: 10rem;
  }
  .half-lay .policy-block {
    padding-left: 4em;
  }
  .half-lay .philosophy-block dd {
    line-height: 2.2em;
  }
  .policy-block ol {
    font-size: 1.7rem;
  }
  .companycreed-block {
    display: flex;
    justify-content: space-between;
  }
  .companycreed-block picture {
    width: 49rem;
  }
  .companycreed-block__inner {
    width: 62rem;
    position: relative;
  }
  .companycreed-block .companycreed-txt {
    position: absolute;
    bottom: 2em;
    left: 0;
  }
  .companycreed-txt li {
    padding-top: 2.5rem;
  }
  .companycreed-txt li .sub__small {
    font-size: 1.9rem;
  }
  .companycreed-txt li .main__big {
    font-size: 6rem;
  }
  .companycreed-txt li .main__big::after {
    height: .75em;
  }
  .mark-box__lay {
    grid-template-columns: repeat(5,1fr);
    margin-top: 4em;
  }
  .mark-box__lay .mark-box {
    padding: 0 2.5em;
  }
  .mark-box__lay .mark-box:last-child {
    border-right: none;
  }
  .mark-box__lay .mark-box p {
    font-size: 1.4rem;
  }
  .office-box {
    display: grid;
    grid-template-columns: 36rem auto;
    gap: 4em;
    align-items: flex-end;
    padding-bottom: 2.5em;
    margin-bottom: 2.5em;
  }
  .office-box .office-box__img {
    display: block;
  }
  .office-box .office-box__ttl {
    font-size: 2.4rem;
  }
  .office-box .office-box__info {
    margin-top: 1.5em;
    margin-bottom: 1em;
  }
  .tbl-style th,.tbl-style td {
    padding-top: 2em;
    padding-bottom: 2em;
  }
  .tbl-style.--company th {
    padding-right: 2.5em;
  }
  .tbl-style.--history th {
    width: 14.5rem;
  }
  .tbl-style.--history th span {
    font-size: 2.8rem;
  }
  .tbl-style.--history td dl {
    display: table;
  }
  .tbl-style.--history td dl dt {
    display: table-cell;
    width: 10em;
    margin-bottom: 0;
  }
  .tbl-style.--history td dl dd {
    display: table-cell;
  }
  .tbl-style.--f-info th {
    width: 20em;
  }
}