.p-vision {
  color: #000;
  letter-spacing: 0;
}

.p-vision .c-category-hero__heading {
  top: 9.0625rem;
}

.p-vision__message {
  padding: 6.5625rem 0 5.9375rem;
}

.p-vision__message-inner {
  display: grid;
  grid-template-columns: 49.0625rem minmax(0, 25.9375rem);
  align-items: end;
}

.p-vision__message h3 {
  margin-top: 2.8125rem;
  font-size: calc(25 / 16 * 1rem);
  font-weight: 700;
  line-height: 1.2;
}

.p-vision__message-inner > div > p {
  margin-top: 1.5625rem;
  font-size: calc(17.5 / 16 * 1rem);
  line-height: 1.78;
}

.p-vision__message img {
  display: block;
  justify-self: start;
  width: 32.8125rem;
  margin-top: -3.4375rem;
  margin-left: -3.4375rem;
}

.p-vision__philosophy {
  min-height: 35.9375rem;
  padding: 10.3125rem 0;
  overflow: hidden;
  color: #fff;
  background: url("../images/vision/vision01-image02.webp") center/cover no-repeat;
}

.p-vision__philosophy h2, .p-vision__attitude h2, .p-vision__values h2 {
  font-family: var(--font-serif);
  font-size: calc(35 / 16 * 1rem);
  font-weight: 700;
  line-height: 1.4;
}

.p-vision__philosophy h2 span, .p-vision__attitude h2 span, .p-vision__values h2 span {
  margin-left: 1.25rem;
  color: var(--color-red);
  font-family: var(--font-en);
  font-size: calc(14 / 16 * 1rem);
}

.p-vision__philosophy h3 {
  margin-top: 2.8125rem;
  font-size: calc(25 / 16 * 1rem);
  font-weight: 700;
  line-height: 1.4;
}

.p-vision__philosophy p {
  margin-top: 0.9375rem;
  font-size: calc(18 / 16 * 1rem);
  line-height: 1.78;
}

.p-vision__attitude {
  padding: 5.3125rem 0;
  background: var(--color-gray);
}

.p-vision__attitude h3 {
  margin-top: 2.8125rem;
  font-size: calc(25 / 16 * 1rem);
  font-weight: 700;
  line-height: 1.4;
}

.p-vision__attitude ol {
  margin-top: 2.1875rem;
}

.p-vision__attitude li {
  display: grid;
  grid-template-columns: 3.75rem 1fr;
  align-items: center;
  gap: 1.5625rem;
}

.p-vision__attitude li + li {
  margin-top: 1.25rem;
}

.p-vision__attitude li > span {
  color: var(--color-red);
  font-family: var(--font-sans);
  font-size: calc(90 / 16 * 1rem);
  font-weight: 400;
  line-height: 1;
  display: flex;
  height: 6.25rem;
  align-items: center;
  padding-bottom: 0.625rem;
}

.p-vision__attitude h4 {
  color: var(--color-red);
  font-size: calc(25 / 16 * 1rem);
  font-weight: 700;
  line-height: 1.4;
}

.p-vision__attitude li p {
  margin-top: 0.3125rem;
  font-size: calc(18 / 16 * 1rem);
  line-height: 1.7;
}

.p-vision__values {
  padding: 6.875rem 0;
}

.p-vision__values article {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 35.9375rem));
  align-items: center;
  gap: 3.125rem;
}

.p-vision__values article + article {
  margin-top: 5.625rem;
}

.p-vision__values h3 {
  margin-top: 2.8125rem;
  font-size: calc(25 / 16 * 1rem);
  font-weight: 700;
  line-height: 1.33;
}

.p-vision__values p {
  margin-top: 0.9375rem;
  font-size: calc(18 / 16 * 1rem);
  line-height: 1.67;
  text-align: justify;
  text-justify: inter-ideograph;
}

.p-vision__values img {
  display: block;
  width: 100%;
}

.p-vision__city {
  display: block;
  width: 100%;
  height: auto;
}

.p-vision__previews {
  padding-top: 5.625rem;
}

.p-vision__previews article {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 35.9375rem));
  align-items: start;
  gap: 3.125rem;
}

.p-vision__previews article + article {
  margin-top: 6.25rem;
}

.p-vision__previews article > img {
  display: block;
  width: 100%;
}

.p-vision__previews h3 {
  margin-top: 2.8125rem;
  font-size: calc(25 / 16 * 1rem);
  font-weight: 700;
  line-height: 1.4;
}

.p-vision__previews article > div > p {
  margin-top: 1.25rem;
  font-size: calc(18 / 16 * 1rem);
  line-height: 1.67;
}

.p-vision__link {
  width: 14.6875rem;
  margin-top: 1.5625rem;
}

.p-vision__link--wide {
  width: 19.375rem;
}

.p-vision__link .c-arrow-link {
  border-bottom-width: 0.1875rem;
  font-size: calc(22 / 16 * 1rem);
}

.p-vision .c-page-actions {
  padding-top: 6.875rem;
}

@media (max-width: 767.98px) {
  .p-vision__message-inner, .p-vision__values article, .p-vision__previews article {
    grid-template-columns: 1fr;
    gap: 3.125rem;
  }
  .p-vision__message img {
    justify-self: auto;
    width: 55%;
    margin-top: 0;
    margin-inline: auto;
  }
  .p-vision__message h3, .p-vision__values h3 {
    font-size: calc(35.446154 / 16 * 1rem);
  }
  .p-vision__message-inner > div > p, .p-vision__values p, .p-vision__previews article > div > p {
    font-size: calc(25.6 / 16 * 1rem);
    line-height: 1.9;
  }
  .p-vision__philosophy {
    min-height: 42.5rem;
    padding: 6.25rem 0;
  }
  .p-vision__philosophy h2, .p-vision__attitude h2, .p-vision__values h2 {
    font-size: calc(37.415385 / 16 * 1rem);
  }
  .p-vision__philosophy p {
    font-size: calc(25.6 / 16 * 1rem);
  }
  .p-vision__attitude li {
    grid-template-columns: 4.375rem 1fr;
  }
  .p-vision__attitude h4 {
    font-size: calc(27.569231 / 16 * 1rem);
  }
  .p-vision__attitude li p {
    font-size: calc(23.630769 / 16 * 1rem);
  }
  .p-vision__values article + article, .p-vision__previews article + article {
    margin-top: 5.625rem;
  }
  .p-vision__city {
    height: 16.25rem;
  }
  .p-vision__link .c-arrow-link {
    font-size: calc(29.538462 / 16 * 1rem);
  }
}
.p-vision--message .p-vision__philosophy h2,
.p-vision--message .p-vision__attitude h2,
.p-vision--message .p-vision__values h2,
.p-vision--message .p-vision__message h2 {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: calc(10 / 16 * 1rem) calc(20 / 16 * 1rem);
  font-family: var(--font-serif);
  font-size: calc(38 / 16 * 1rem);
  font-weight: 900;
  line-height: 1.4;
}
.p-vision--message .p-vision__philosophy h2 span,
.p-vision--message .p-vision__attitude h2 span,
.p-vision--message .p-vision__values h2 span,
.p-vision--message .p-vision__message h2 span {
  margin: 0;
  color: var(--color-red);
  font-family: var(--font-sans);
  font-size: calc(14 / 16 * 1rem);
  font-weight: 700;
  line-height: 1;
}
.p-vision--message .p-vision__philosophy h3,
.p-vision--message .p-vision__attitude h3,
.p-vision--message .p-vision__values h3,
.p-vision--message .p-vision__message h3 {
  margin-top: calc(35 / 16 * 1rem);
  font-size: calc(26 / 16 * 1rem);
  line-height: 1.46;
}
.p-vision--message .p-vision__philosophy {
  min-height: 0;
  padding: calc(140 / 16 * 1rem) 0 calc(100 / 16 * 1rem);
  color: #000;
  background: none;
}
.p-vision--message .p-vision__philosophy > .l-container {
  display: flex;
  align-items: center;
  gap: calc(50 / 16 * 1rem);
}
.p-vision--message .p-vision__philosophy > .l-container > div {
  flex: 1;
  min-width: 0;
}
.p-vision--message .p-vision__philosophy p {
  margin-top: calc(5 / 16 * 1rem);
}
.p-vision--message .p-vision__philosophy img {
  display: block;
  flex: 0 0 calc(575 / 16 * 1rem);
  width: calc(575 / 16 * 1rem);
  max-width: 100%;
  height: auto;
}
.p-vision--message .p-vision__attitude {
  width: 100%;
  margin-inline: auto;
  padding: calc(100 / 16 * 1rem) 0;
}
.p-vision--message .p-vision__attitude ol {
  margin-top: calc(40 / 16 * 1rem);
}
.p-vision--message .p-vision__attitude li {
  display: flex;
  gap: calc(25 / 16 * 1rem);
}
.p-vision--message .p-vision__attitude li > span {
  flex: 0 0 calc(60 / 16 * 1rem);
}
.p-vision--message .p-vision__attitude li > div {
  flex: 1;
  min-width: 0;
}
.p-vision--message .p-vision__values {
  padding-block: calc(150 / 16 * 1rem) calc(110 / 16 * 1rem);
}
.p-vision--message .p-vision__values article {
  display: flex;
  align-items: center;
  gap: calc(50 / 16 * 1rem);
}
.p-vision--message .p-vision__values article + article {
  margin-top: calc(110 / 16 * 1rem);
}
.p-vision--message .p-vision__values article > div {
  flex: 1;
  min-width: 0;
}
.p-vision--message .p-vision__values p {
  margin-top: calc(5 / 16 * 1rem);
  text-align: left;
}
.p-vision--message .p-vision__values img {
  flex: 0 0 calc(575 / 16 * 1rem);
  width: calc(575 / 16 * 1rem);
  max-width: 100%;
  height: auto;
}
.p-vision--message .p-vision__message {
  width: 100%;
  margin-inline: auto;
  padding: calc(60 / 16 * 1rem) 0;
  background: var(--color-gray);
}
.p-vision--message .p-vision__message-inner {
  display: flex;
  align-items: center;
  gap: calc(120 / 16 * 1rem);
}
.p-vision--message .p-vision__message-inner > div {
  flex: 1;
  min-width: 0;
}
.p-vision--message .p-vision__message-inner > div > p {
  margin-top: calc(10 / 16 * 1rem);
  font-size: calc(18 / 16 * 1rem);
  line-height: 1.75;
}
.p-vision--message .p-vision__message-inner > div > .p-vision__signature {
  margin-top: calc(40 / 16 * 1rem);
  text-align: right;
  white-space: pre-wrap;
}
.p-vision--message .p-vision__message-inner > div > .p-vision__signature strong {
  font-size: calc(24 / 16 * 1rem);
  font-weight: 700;
}
.p-vision--message .p-vision__message img {
  flex: 0 0 calc(320 / 16 * 1rem);
  width: calc(320 / 16 * 1rem);
  max-width: 100%;
  height: auto;
  margin: 0;
}
.p-vision--message .p-vision__message img.p-vision__portrait {
  flex-basis: calc(280 / 16 * 1rem);
  width: calc(280 / 16 * 1rem);
  margin-inline: calc(40 / 16 * 1rem);
}
.p-vision--index .c-category-hero__title h1 {
  letter-spacing: 0.1em;
}
.p-vision--index .p-vision__previews {
  padding-top: calc(100 / 16 * 1rem);
}
.p-vision--index .p-vision__previews article {
  display: flex;
  align-items: start;
  gap: calc(50 / 16 * 1rem);
}
.p-vision--index .p-vision__previews article > div {
  flex: 1;
  min-width: 0;
}
.p-vision--index .p-vision__previews article > img {
  flex: 0 0 calc(575 / 16 * 1rem);
  width: calc(575 / 16 * 1rem);
  max-width: 100%;
  height: auto;
}
.p-vision--index .p-vision__previews h3 {
  margin-top: calc(45 / 16 * 1rem);
  font-size: calc(26 / 16 * 1rem);
}
.p-vision--index .p-vision__previews article > div > p {
  font-weight: 500;
  line-height: 1.75;
}

.p-vision-hero-title p,
.p-vision-edge-en {
  font-family: var(--font-en);
}

.p-message-hero-title p {
  font-family: var(--font-sans);
  font-size: calc(15 / 16 * 1rem);
}
.p-message-hero-title h1 {
  font-weight: 800;
}

.p-vision--message .p-vision__philosophy p,
.p-vision--message .p-vision__attitude li p,
.p-vision--message .p-vision__values p,
.p-vision--message .p-vision__message p {
  font-weight: 500;
}

@media (max-width: 767.98px) {
  .p-vision--index .p-vision__previews article > div > p {
    line-height: 1.67;
  }
}
@media (max-width: 767.98px) {
  .p-message-hero-title p {
    font-size: calc(18.432 / 16 * 1rem);
  }
  .p-vision--index .p-vision__previews h3 {
    font-size: calc(36 / 16 * 1rem);
  }
}
@media (max-width: 767.98px) {
  .p-vision--message .p-vision__philosophy h2,
  .p-vision--message .p-vision__attitude h2,
  .p-vision--message .p-vision__values h2,
  .p-vision--message .p-vision__message h2 {
    font-size: calc(44 / 16 * 1rem);
    gap: calc(15 / 16 * 1rem) calc(20 / 16 * 1rem);
  }
  .p-vision--message .p-vision__philosophy h2 span,
  .p-vision--message .p-vision__attitude h2 span,
  .p-vision--message .p-vision__values h2 span,
  .p-vision--message .p-vision__message h2 span {
    font-size: calc(20 / 16 * 1rem);
  }
  .p-vision--message .p-vision__philosophy h3,
  .p-vision--message .p-vision__attitude h3,
  .p-vision--message .p-vision__values h3,
  .p-vision--message .p-vision__message h3 {
    margin-top: calc(35 / 16 * 1rem);
    font-size: calc(36 / 16 * 1rem);
    line-height: 1.55;
  }
  .p-vision--message .p-vision__philosophy h3 br,
  .p-vision--message .p-vision__attitude h3 br,
  .p-vision--message .p-vision__values h3 br,
  .p-vision--message .p-vision__message h3 br {
    display: initial;
  }
  .p-vision--message .p-vision__philosophy {
    padding: calc(100 / 16 * 1rem) 0;
  }
  .p-vision--message .p-vision__philosophy > .l-container {
    flex-direction: column;
    align-items: stretch;
    gap: calc(55 / 16 * 1rem);
  }
  .p-vision--message .p-vision__philosophy p {
    margin-top: calc(15 / 16 * 1rem);
  }
  .p-vision--message .p-vision__philosophy img {
    flex-basis: auto;
    width: 100%;
  }
  .p-vision--message .p-vision__attitude {
    width: 100%;
    padding: calc(85 / 16 * 1rem) 0;
  }
  .p-vision--message .p-vision__attitude li > span {
    flex-basis: calc(70 / 16 * 1rem);
  }
  .p-vision--message .p-vision__values {
    padding-block: calc(110 / 16 * 1rem);
  }
  .p-vision--message .p-vision__values article {
    flex-direction: column;
    align-items: stretch;
    gap: calc(50 / 16 * 1rem);
  }
  .p-vision--message .p-vision__values article + article {
    margin-top: calc(90 / 16 * 1rem);
  }
  .p-vision--message .p-vision__values p {
    margin-top: calc(15 / 16 * 1rem);
  }
  .p-vision--message .p-vision__values img {
    flex-basis: auto;
    width: 100%;
  }
  .p-vision--message .p-vision__message {
    width: 100%;
    padding: calc(80 / 16 * 1rem) 0;
  }
  .p-vision--message .p-vision__message-inner {
    flex-direction: column;
    align-items: stretch;
    gap: calc(55 / 16 * 1rem);
  }
  .p-vision--message .p-vision__message-inner > div > p {
    margin-top: calc(20 / 16 * 1rem);
    font-size: calc(26 / 16 * 1rem);
    line-height: 1.9;
  }
  .p-vision--message .p-vision__message-inner > div > .p-vision__signature {
    margin-top: calc(40 / 16 * 1rem);
    font-size: calc(24 / 16 * 1rem);
  }
  .p-vision--message .p-vision__message-inner > div > .p-vision__signature strong {
    font-size: calc(32 / 16 * 1rem);
  }
  .p-vision--message .p-vision__message img {
    flex-basis: auto;
    width: calc(440 / 16 * 1rem);
    max-width: 75%;
    margin: 0 auto;
  }
  .p-vision--message .p-vision__message img.p-vision__portrait {
    flex-basis: auto;
    width: calc(320 / 16 * 1rem);
    max-width: 75%;
    margin-inline: auto;
  }
  .p-vision--index .p-vision__previews article {
    flex-direction: column;
    align-items: stretch;
    gap: calc(50 / 16 * 1rem);
  }
  .p-vision--index .p-vision__previews article > img {
    flex-basis: auto;
    width: 100%;
  }
}/*# sourceMappingURL=vision.css.map */