/* p-company-link
---------------------------------------------------------------------------- */
.p-company-link {
  padding-block: 8rem 9.2rem;
}

.p-company-link-layout {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 5rem 4rem;
}
.p-company-link-layout > :nth-child(1) {
  grid-column: 1/4;
  grid-row: 1/2;
}
.p-company-link-layout > :nth-child(2) {
  grid-column: 4/7;
  grid-row: 1/2;
}
.p-company-link-layout > :nth-child(3) {
  grid-column: 1/3;
  grid-row: 2/3;
}
.p-company-link-layout > :nth-child(4) {
  grid-column: 3/5;
  grid-row: 2/3;
}
.p-company-link-layout > :nth-child(5) {
  grid-column: 5/7;
  grid-row: 2/3;
}
.p-company-link-layout > :nth-child(6) {
  grid-column: 1/3;
  grid-row: 3/4;
}
.p-company-link-layout > :nth-child(7) {
  grid-column: 3/5;
  grid-row: 3/4;
}
.p-company-link-layout > :nth-child(8) {
  grid-column: 5/7;
  grid-row: 3/4;
}
.p-company-link-layout > :nth-child(1) .p-company-link-item-img,
.p-company-link-layout > :nth-child(2) .p-company-link-item-img {
  width: 58rem;
  aspect-ratio: 580/240;
}

.p-company-link-item-img {
  width: 37.3rem;
  aspect-ratio: 373/154;
  margin-bottom: 1.5rem;
  border-radius: 0.5rem;
  overflow: hidden;
}
.p-company-link-item-img > img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.p-company-link-item-link {
  display: grid;
  grid-template-columns: auto auto;
  align-items: center;
  justify-content: start;
  column-gap: 1.5rem;
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 0.06em;
  font-weight: 700;
  color: #073190;
  width: max-content;
}

@media screen and (max-width: 767px) {
  .p-company-link {
    padding-block: 13.3333333333vw 18.6666666667vw;
  }
  .p-company-link-layout {
    grid-template-columns: repeat(1, 1fr);
    gap: 7.7333333333vw 0;
  }
  .p-company-link-layout > :nth-child(1) {
    grid-column: 1/2;
    grid-row: 1/2;
  }
  .p-company-link-layout > :nth-child(2) {
    grid-column: 1/2;
    grid-row: 2/3;
  }
  .p-company-link-layout > :nth-child(3) {
    grid-column: 1/2;
    grid-row: 3/4;
  }
  .p-company-link-layout > :nth-child(4) {
    grid-column: 1/2;
    grid-row: 4/5;
  }
  .p-company-link-layout > :nth-child(5) {
    grid-column: 1/2;
    grid-row: 5/6;
  }
  .p-company-link-layout > :nth-child(6) {
    grid-column: 1/2;
    grid-row: 6/7;
  }
  .p-company-link-layout > :nth-child(7) {
    grid-column: 1/2;
    grid-row: 7/8;
  }
  .p-company-link-layout > :nth-child(8) {
    grid-column: 1/2;
    grid-row: 8/9;
  }
  .p-company-link-layout > :nth-child(1) .p-company-link-item-img,
  .p-company-link-layout > :nth-child(2) .p-company-link-item-img {
    width: 89.3333333333vw;
    aspect-ratio: 335/139;
  }
  .p-company-link-item-img {
    width: 89.3333333333vw;
    aspect-ratio: 335/139;
    border-radius: 1.3333333333vw;
    margin-bottom: 2.9333333333vw;
  }
  .p-company-link-item-link {
    column-gap: 3.7333333333vw;
    font-size: 4.8vw;
    line-height: 1.7777777778;
  }
}
/* p-company-cat
---------------------------------------------------------------------------- */
.p-company-cat {
  padding-bottom: 10.4rem;
}

.p-company-cat-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: stretch;
  gap: 0 4rem;
}

.p-company-cat-about {
  padding-block: 2.5rem;
  padding-inline: 4rem;
  background-color: #E9F6FF;
  position: relative;
}

.p-company-cat-about::before {
  content: "";
  width: 100%;
  height: 100%;
  background-image: url(./../../images/company/img_about.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: right top;
  position: absolute;
  top: 0;
  right: 0;
}

.p-company-cat-about .m-ttl-border-left {
  font-size: 3.2rem;
  margin-bottom: 1.5rem;
}

.p-company-cat-about-txt {
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.06em;
  font-weight: 400;
  margin-bottom: 2rem;
}

.p-company-cat-box {
  display: grid;
  grid-template: "img . ." 1fr "img . ttl" auto "img . ." 2rem "img . btn01" auto "img . ." 1.5rem "img . btn02" auto "img . ." 1fr/auto 4rem 1fr;
  background-color: #E9F6FF;
  padding: 5rem;
}

.p-company-cat-box-img {
  grid-area: img;
  width: 14rem;
  aspect-ratio: 140/199;
}
.p-company-cat-box-img > img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.p-company-cat-box-ttl {
  grid-area: ttl;
  font-size: 2rem;
  line-height: 1.45;
  letter-spacing: 0.06em;
  font-weight: 700;
  color: #073190;
  position: relative;
  padding-left: 1.8rem;
}
.p-company-cat-box-ttl::before {
  content: "";
  width: 0.8rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: currentColor;
  position: absolute;
  top: 1.1rem;
  left: 0;
}

.p-company-cat-box-btn {
  display: grid;
  grid-template-columns: auto auto;
  align-items: center;
  justify-content: space-between;
  font-size: 1.6rem;
  line-height: 1.6875;
  letter-spacing: 0.06em;
  font-weight: 700;
  color: #fff;
  background-color: #073190;
  border: 1px solid #073190;
  height: 6rem;
  border-radius: 0.5rem;
  padding-inline: 3rem 1.5rem;
  overflow: hidden;
  position: relative;
  transition: color 0.5s ease;
}
.p-company-cat-box-btn span {
  position: relative;
}
.p-company-cat-box-btn::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  background-color: #fff;
  transform: scaleX(0);
  transform-origin: right;
  transition: all 0.5s ease;
  transition-property: transform;
}
@media (any-hover: hover) {
  .p-company-cat-box-btn:hover {
    color: #073190;
  }
  .p-company-cat-box-btn:hover::before {
    transform: scaleX(1);
    transform-origin: left;
  }
}
.p-company-cat-box-btn::after {
  content: "";
  width: 2.4rem;
  aspect-ratio: 1;
  mask-repeat: no-repeat;
  mask-size: contain;
  background-color: currentColor;
}
.p-company-cat-box-btn[data-icn=book] {
  grid-area: btn01;
}
.p-company-cat-box-btn[data-icn=book]::after {
  mask-image: url(./../../images/common/icn_book.svg);
}
.p-company-cat-box-btn[data-icn=pdf] {
  grid-area: btn02;
}
.p-company-cat-box-btn[data-icn=pdf]::after {
  mask-image: url(./../../images/common/icn_pdf02.svg);
}

@media screen and (max-width: 767px) {
  .p-company-cat {
    padding-bottom: 18.6666666667vw;
  }
  .p-company-cat-inner {
    grid-template-columns: 1fr;
    row-gap: 10.6666666667vw;
  }
  .p-company-cat-about {
    padding-block: 8vw;
    padding-inline: 5.3333333333vw;
  }
  .p-company-cat-about::before {
    background-size: 101.0666666667vw 60.8vw;
  }
  .p-company-cat-about .m-ttl-border-left {
    font-size: 6.4vw;
    margin-bottom: 5.3333333333vw;
  }
  .p-company-cat-about-txt {
    font-size: 4.2666666667vw;
    margin-bottom: 5.3333333333vw;
  }
  .p-company-cat-box {
    grid-template: "img" auto "." 8vw "ttl" auto "." 4.2666666667vw "btn01" auto "." 4vw "btn02" auto/1fr;
    padding: 8vw 5.3333333333vw;
  }
  .p-company-cat-box-img {
    margin-inline: auto;
  }
  .p-company-cat-box-ttl {
    font-size: 4.8vw;
    padding-left: calc(2.1333333333vw + 2.6666666667vw);
  }
  .p-company-cat-box-ttl::before {
    width: 2.1333333333vw;
    top: 2.9333333333vw;
  }
  .p-company-cat-box-btn {
    font-size: 4.2666666667vw;
    height: 16vw;
    border-radius: 1.3333333333vw;
    padding-inline: 8vw 2.9333333333vw;
  }
  .p-company-cat-box-btn::after {
    width: 6.4vw;
  }
}
/* p-company-agreement
---------------------------------------------------------------------------- */
.p-company-agreement {
  padding-bottom: 14rem;
}

.p-company-agreement-inner > :first-child {
  margin-bottom: 5.7rem;
}

.p-company-agreement-list {
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: repeat(5, auto);
}

.p-company-agreement-item {
  display: grid;
  align-items: center;
  padding-block: 2.1rem 2.2rem;
  padding-inline: 2rem;
  background-color: #F8F8F8;
  border-bottom: 1px solid #BEBEBE;
  border-left: 1px solid #BEBEBE;
}
.p-company-agreement-item:is(:nth-of-type(1), :nth-of-type(6)) {
  border-top: 1px solid #BEBEBE;
}
.p-company-agreement-item:is(:nth-of-type(2), :nth-of-type(4), :nth-of-type(7), :nth-of-type(9)) {
  background-color: #fff;
}
.p-company-agreement-item:nth-of-type(n+6):nth-of-type(-n+10) {
  border-right: 1px solid #BEBEBE;
}

.p-company-agreement-link {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-content: center;
  -ms-flex-line-pack: center;
  align-content: center;
  column-gap: 1rem;
  font-size: 1.6rem;
  line-height: 1.8125;
  letter-spacing: 0.06em;
  font-weight: 400;
  color: #1A1A1A;
  width: fit-content;
}
.p-company-agreement-link::after {
  content: "";
  width: 2.4rem;
  aspect-ratio: 1;
  background-color: #073190;
  mask-image: url(./../../images/common/icn_pdf03.svg);
  mask-repeat: no-repeat;
  mask-size: contain;
}

@media screen and (max-width: 767px) {
  .p-company-agreement {
    padding-bottom: 26.6666666667vw;
  }
  .p-company-agreement-inner > :first-child {
    margin-bottom: 8vw;
  }
  .p-company-agreement-list {
    grid-template-rows: repeat(10, auto);
  }
  .p-company-agreement-item {
    padding-block: 4.5333333333vw 4.8vw;
    padding-inline: 4.8vw;
    border-right: 1px solid #BEBEBE;
  }
  .p-company-agreement-item:is(:nth-of-type(6)) {
    border-top: none;
  }
  .p-company-agreement-item:is(:nth-of-type(7), :nth-of-type(9)) {
    background-color: #F8F8F8;
  }
  .p-company-agreement-item:nth-of-type(even) {
    background-color: #fff;
  }
  .p-company-agreement-link {
    column-gap: 2.3466666667vw;
    font-size: 4.2666666667vw;
  }
  .p-company-agreement-link::after {
    width: 5.3333333333vw;
  }
}
/* common
---------------------------------------------------------------------------- */
/*------------- .m-company-list -------------*/
.m-company-list {
  font-size: 1.8rem;
  line-height: 1.6111111111;
  letter-spacing: 0.06em;
  font-weight: 400;
}

.m-company-list-inner {
  display: grid;
  grid-template-columns: 35rem 1fr;
  gap: 0 4rem;
}
.m-company-list-inner:not(:last-of-type) {
  margin-bottom: 2.4rem;
}

.m-company-list-term {
  color: #073190;
  padding-bottom: 2.2rem;
  border-bottom: 1px solid;
  font-weight: 700;
}

.m-company-list-desc-wrap {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-align-items: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-content: center;
  -ms-flex-line-pack: center;
  align-content: center;
}
.m-company-list-desc-wrap > :is(:nth-child(2n+3), :nth-child(2n+4)) {
  margin-top: 2.4rem;
}
.m-company-list-desc-wrap > :nth-child(odd) {
  width: 40rem;
}
.m-company-list-desc-wrap > :nth-child(even) {
  padding-left: 1rem;
  width: 41rem;
}

.m-company-list-desc {
  padding-bottom: 2.2rem;
  border-bottom: 1px solid #BEBEBE;
}

@media screen and (max-width: 767px) {
  .m-company-list {
    font-size: 4.2666666667vw;
    line-height: 1.8125;
  }
  .m-company-list-inner {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0 0;
  }
  .m-company-list-inner:not(:last-of-type) {
    margin-bottom: 4.2666666667vw;
  }
  .m-company-list-term {
    padding-bottom: 0;
    border-bottom: none;
  }
  .m-company-list-desc-wrap {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
    border-bottom: 1px solid #BEBEBE;
  }
  .m-company-list-desc-wrap > :is(:nth-child(2n+3), :nth-child(2n+4)) {
    margin-top: 0;
  }
  .m-company-list-desc-wrap > :nth-child(odd) {
    width: auto;
    min-width: 44.8vw;
  }
  .m-company-list-desc-wrap > :nth-child(even) {
    padding-left: 0;
    width: auto;
  }
  .m-company-list-desc-wrap > .m-company-list-desc {
    padding-bottom: 2vw;
    border-bottom: none;
  }
  .m-company-list-desc {
    margin-top: 1.0666666667vw;
    padding-bottom: 2.6666666667vw;
  }
}
