.c-newsList {
  list-style: none;
  margin-block: 0;
  padding-inline-start: 0;
  border-block-start: 1px solid var(--cl-line);
}
.c-newsList__item > a {
  text-decoration: none;
  color: var(--cl-font);
  font-size: var(--fs-16);
  line-height: 1;
  font-weight: 500;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  row-gap: 1em;
  padding-block: 1.671875em;
  border-block-end: 1px solid var(--cl-line);
}
@media screen and (min-width: 1201px) {
  .c-newsList__item > a {
    display: grid;
    grid-template-columns: auto auto minmax(0, 1fr) auto;
    align-items: center;
    column-gap: 1.5625em;
    row-gap: 0;
  }
}
.c-newsList__date {
  color: var(--cl-color01);
}
.c-newsList__label {
  font-size: var(--fs-12);
  color: var(--cl-color01);
  text-align: center;
  border: 1px solid var(--cl-color01);
  border-radius: 9999px;
  padding-block: 0.5625em;
  min-width: 6.25rem;
  margin-inline-start: 1em;
}
@media screen and (min-width: 769px) {
  .c-newsList__label {
    min-width: 7.6875rem;
  }
}
@media screen and (min-width: 1201px) {
  .c-newsList__label {
    margin-inline-start: 0;
  }
}
.c-newsList__ttl {
  font-size: var(--fs-16);
  margin-block: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-inline-size: 0;
  width: 100%;
  max-inline-size: 87vw;
}
@media screen and (min-width: 1201px) {
  .c-newsList__ttl {
    width: auto;
  }
}
.c-newsList__ico {
  display: none;
}
@media screen and (min-width: 1201px) {
  .c-newsList__ico {
    display: block;
    margin-inline-start: 1.25em;
    flex: 0 0 auto;
  }
}

.p-top {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.p-top::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: min(52.28125rem, 72vw);
  height: min(137.056875rem, 142vw);
  background: linear-gradient(180deg, var(--cl-color01) 0%, var(--cl-color02) 100%);
  clip-path: polygon(0 0, 33.22% 0, 100% 100%, 0 100%);
  z-index: 0;
}
@media screen and (min-width: 769px) {
  .p-top::before {
    width: min(52.28125rem, 62vw);
    height: min(137.056875rem, 170vw);
  }
}
.p-top > * {
  position: relative;
  z-index: 1;
}

.p-topMv {
  margin-block-start: var(--header-h);
}
.p-topMv__inner {
  position: relative;
}
.p-topMv__scroll {
  position: absolute;
  top: 50%;
  left: clamp(2.875rem, 2.14rem + 3.67vw, 5.8125rem);
  z-index: 2;
  margin: 0;
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .p-topMv__scroll {
    display: none;
  }
}
.p-topMv__scroll > a {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.7692307692em;
  color: var(--cl-white);
  font-size: var(--fs-13);
  letter-spacing: 0.08em;
  line-height: 1;
  text-decoration: none;
  writing-mode: vertical-rl;
  text-orientation: mixed;
}
.p-topMv__scroll > a::after {
  content: "";
  width: 1px;
  height: 6.0625rem;
  background: currentColor;
}
.p-topMv__copy {
  color: var(--cl-white);
  position: absolute;
  top: 50%;
  left: 3%;
  transform: translateY(-50%);
  z-index: 2;
}
@media screen and (min-width: 769px) {
  .p-topMv__copy {
    left: clamp(2.875rem, 2.14rem + 3.67vw, 5.8125rem);
  }
}
.p-topMv__lead {
  font-size: var(--fs-24);
  letter-spacing: 0.1em;
  line-height: 2.0833333333;
  margin-block: 0;
}
.p-topMv__ttl {
  font-size: var(--fs-115);
  letter-spacing: 0.03em;
  line-height: 1.0695652174;
  margin-block: -0.625rem 0;
}
.p-topMv__txt {
  font-size: var(--fs-16);
  line-height: 3.125;
  margin-block: 0;
}
.p-topMv__fig {
  margin-right: calc(50% - 50vw);
}
.p-topMv__fig img {
  height: min(43.75rem, calc(400 / 375 * 100vw));
  object-position: 40% center;
}

.p-topAbout {
  padding-block-start: clamp(4.375rem, 3.66rem + 3.59vw, 7.25rem);
  padding-block-end: clamp(4.125rem, 3.28rem + 4.22vw, 7.5rem);
}
.p-topAbout__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: nowrap;
  flex-direction: column-reverse;
  gap: clamp(1.125rem, 0.91rem + 1.09vw, 2rem);
}
@media screen and (min-width: 769px) {
  .p-topAbout__head {
    flex-direction: row;
  }
}
.p-topAbout__lead {
  margin-block: 0;
}
.p-topAbout__lead > span {
  display: block;
  width: fit-content;
  font-size: var(--fs-36);
  letter-spacing: 0;
  line-height: 1.75;
  font-weight: 700;
  color: var(--cl-color01);
  background: var(--cl-white);
  padding-inline: 0.4166666667em;
  padding-block: 0.125em;
  margin-block: 0;
}
.p-topAbout__lead span + span {
  margin-block-start: 0.5em;
}
.p-topAbout__ttl {
  margin-block-start: -0.625rem;
}
.p-topAbout__ttl .c-ttl__ja {
  justify-content: flex-end;
}
.p-topAbout__body {
  margin-block-start: clamp(3rem, 2.61rem + 1.95vw, 4.5625rem);
  display: grid;
  grid-template-columns: 1fr;
  column-gap: clamp(1.375rem, 1.09rem + 1.41vw, 2.5rem);
  row-gap: clamp(1.625rem, 1.41rem + 1.09vw, 2.5rem);
}
@media screen and (min-width: 769px) {
  .p-topAbout__body {
    grid-template-columns: minmax(0, min(50%, 37.5rem)) minmax(0, 1fr);
  }
}
.p-topAbout__fig img {
  width: min(37.5rem, 100%);
}
.p-topAbout__txt {
  font-size: var(--fs-16);
  letter-spacing: 0;
  line-height: 2.0625;
  font-weight: 700;
  margin-block: 0;
}
.p-topAbout__cards {
  margin-block-start: clamp(4.375rem, 3.66rem + 3.59vw, 7.25rem);
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 25rem), 1fr));
}
.p-topAbout__card {
  position: relative;
  color: var(--cl-white);
  overflow: hidden;
}
.p-topAbout__card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 42%, rgba(38, 38, 38, 0.82) 72%, #262626 100%);
  pointer-events: none;
}
.p-topAbout__cardFig {
  position: relative;
}
.p-topAbout__cardBody {
  position: absolute;
  z-index: 2;
  inset: auto 1.5em 1.875em 1.5em;
}
.p-topAbout__cardBody h3 {
  width: fit-content;
  font-size: var(--fs-23);
  letter-spacing: 0.01em;
  line-height: 0.9565217391;
  font-weight: 700;
  border-block-end: 2px solid var(--cl-white);
  margin-block: 0;
  padding-block-end: 0.2608695652em;
}
.p-topAbout__cardBody p {
  font-size: var(--fs-16);
  letter-spacing: 0;
  line-height: 2.0625;
  font-weight: 700;
  min-height: calc(2.0625em * 2);
  margin-block: 1em 0;
}

.p-topSvc {
  padding-block-start: clamp(4.125rem, 3.28rem + 4.22vw, 7.5rem);
  padding-block-end: clamp(4.375rem, 3.48rem + 4.45vw, 7.9375rem);
  background: linear-gradient(135deg, var(--cl-color01) 0%, var(--cl-color02) 100%);
}
.p-topSvc__inner {
  display: grid;
  grid-template-columns: 1fr;
  column-gap: clamp(3.625rem, 2.73rem + 4.45vw, 7.1875rem);
}
@media screen and (min-width: 769px) {
  .p-topSvc__inner {
    grid-template-columns: minmax(0, 1fr) minmax(0, min(66.6667%, 50rem));
  }
}
.p-topSvc__head {
  display: flex;
  flex-direction: column;
  margin-block-start: 1.25rem;
}
.p-topSvc .c-btn.--sp {
  margin-block-start: clamp(1.625rem, 1.41rem + 1.09vw, 2.5rem);
  margin-inline: auto;
}
.p-topSvc__ttl {
  color: var(--cl-white);
  margin-block: -0.625rem clamp(2.125rem, 1.88rem + 1.25vw, 3.125rem);
}
.p-topSvc__ttl .c-ttl__en {
  font-size: var(--fs-70);
}
.p-topSvc__ttl .c-ttl__en::first-letter {
  color: var(--cl-white);
}
.p-topSvc__ttl .c-ttl__ja::before {
  background: var(--cl-white);
}
.p-topSvc__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 23.75rem), 1fr));
  column-gap: clamp(1.375rem, 1.09rem + 1.41vw, 2.5rem);
  row-gap: clamp(2.625rem, 2.28rem + 1.72vw, 4rem);
}
.p-topSvc__cardBody {
  margin-block-start: clamp(1.625rem, 1.41rem + 1.09vw, 2.5rem);
}
.p-topSvc__cardBody h3 {
  color: var(--cl-white);
  width: fit-content;
  font-size: var(--fs-23);
  letter-spacing: 0.01em;
  line-height: 0.9565217391;
  font-weight: 700;
  border-block-end: 2px solid var(--cl-white);
  margin-block: 0;
  padding-block-end: 0.2608695652em;
}
.p-topSvc__cardBody p {
  color: var(--cl-white);
  font-size: var(--fs-16);
  letter-spacing: 0;
  line-height: 1.8125;
  font-weight: 700;
  min-height: calc(2.0625em * 2);
  margin-block: 1em 0;
}

.p-topCorp {
  padding-block-start: clamp(4.125rem, 3.28rem + 4.22vw, 7.5rem);
  padding-block-end: clamp(4.375rem, 3.48rem + 4.45vw, 7.9375rem);
}
.p-topCorp__inner {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: clamp(1.625rem, 1.41rem + 1.09vw, 2.5rem);
}
@media screen and (min-width: 769px) {
  .p-topCorp__inner {
    grid-template-columns: minmax(0, 1fr) minmax(0, min(68.6667%, 51.5rem));
  }
}
.p-topCorp__head {
  display: flex;
  flex-direction: column;
}
.p-topCorp__ttl .c-ttl__en {
  font-size: var(--fs-70);
}
.p-topCorp__ttl .c-ttl__ja::before {
  background: var(--cl-color02);
}
.p-topCorp__body {
  background: var(--cl-white);
  padding-inline: clamp(1.75rem, 1.41rem + 1.72vw, 3.125rem);
  padding-block: clamp(2.125rem, 1.88rem + 1.25vw, 3.125rem);
}
.p-topCorp__list {
  margin-block: 0;
}
.p-topCorp__row {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 0.4em;
  font-size: var(--fs-17);
  letter-spacing: 0;
  line-height: 1.7058823529;
  border-block-end: 1px solid var(--cl-line);
  padding-block: 1.6294117647em;
}
.p-topCorp__row:nth-child(1) {
  padding-block-start: 0;
}
.p-topCorp__row dt {
  color: var(--cl-color02);
  font-weight: 700;
}
.p-topCorp__row dd {
  margin: 0;
}
@media screen and (min-width: 769px) {
  .p-topCorp__row {
    grid-template-columns: minmax(0, 31.17%) minmax(0, 1fr);
    row-gap: 0;
  }
}
