@charset "UTF-8";
html {
  font-size: 62.5%;
}
@media (max-width: 1280px) {
  html {
    font-size: 0.78125vw;
  }
}
@media screen and (max-width: 959px) {
  html {
    font-size: 62.5%;
  }
}
@media (max-width: 375px) {
  html {
    font-size: 2.6666666667vw;
  }
}

body {
  color: #2e3c4d;
  background-color: #fafbfc;
  -webkit-font-smoothing: antialiased;
  font-feature-settings: "palt" on;
  line-height: 2;
  letter-spacing: 0.08em;
  font-kerning: auto;
  font-size: 1.6rem;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W3", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400;
}
@media screen and (max-width: 959px) {
  body {
    line-height: 1.8;
  }
}

body:has(.p-detail) {
  background-color: #fff;
}
body:has(.p-detail) header {
  background-color: #fff;
}

a,
button {
  transition: 0.2s all ease-in-out;
}
a:hover,
button:hover {
  opacity: 0.6;
  cursor: pointer;
}
@media screen and (max-width: 959px) {
  a:hover,
  button:hover {
    opacity: 1;
  }
}

/*****************************
* A Modern CSS Reset (https://github.com/hankchizljaw/modern-css-reset)
* 上記に、ul要素,ol要素,a要素への記述追加
*****************************/
/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd,
ul,
ol,
li {
  margin: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul,
ol {
  list-style: none;
  padding: 0;
}

/* Set core root defaults */
html:focus-within {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
}

a {
  text-decoration: none;
  color: inherit;
}

/* Make images easier to work with */
img,
picture {
  max-width: 100%;
  display: block;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

button {
  border: none;
  padding: 0;
  background-color: initial;
}

/* Remove all animations, transitions and smooth scroll for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
fieldset {
  border: none;
  padding: 0;
  margin: 0;
}

legend {
  border: none;
  padding: 0;
  margin: 0;
}

.l-inner {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  max-width: calc(88rem + 8rem * 2);
  padding-right: 8rem;
  padding-left: 8rem;
}
@media screen and (max-width: 959px) {
  .l-inner {
    padding-right: 3rem;
    padding-left: 3rem;
  }
}

.l-bg {
  position: relative;
  max-width: 160rem;
  margin-inline: auto;
  padding: 0 8rem;
}
@media screen and (max-width: 959px) {
  .l-bg {
    padding: 0 3rem;
  }
}
.l-bg::before {
  content: "";
  display: block;
  position: absolute;
  inset: 0 8rem;
  background-color: #fff;
  border-radius: 2.4rem;
  z-index: -1;
}
@media screen and (max-width: 959px) {
  .l-bg::before {
    inset: 0 0.8rem;
    border-radius: 1.6rem;
  }
}

.c-btn1 {
  background-color: #e60012;
  min-width: 24rem;
  min-height: 5.6rem;
  border-radius: 2.7rem;
  padding: 1.2rem 2.2rem 1.2rem 3.2rem;
  position: relative;
  display: inline-grid;
  grid-template-columns: 1fr auto;
  gap: 2.2rem;
  align-items: center;
  transition: 0.2s background-color ease-in-out;
}
@media screen and (max-width: 959px) {
  .c-btn1 {
    min-width: 22.4rem;
    min-height: 4.8rem;
    border-radius: 2.3rem;
    padding-left: 2.4rem;
    padding-right: 1.8rem;
    gap: 1rem;
  }
}
.c-btn1 .c-btn1__text {
  color: #fff;
  font-size: 1.8rem;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.08em;
  display: block;
  text-align: left;
  transition: 0.2s color ease-in-out;
}
@media screen and (max-width: 959px) {
  .c-btn1 .c-btn1__text {
    font-size: 1.6rem;
  }
}
.c-btn1 .c-btn1__text span {
  display: inline-block;
  font-size: 1.2rem;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.08em;
  padding: 0.1rem 0.7rem;
  border: 0.1rem solid rgba(255, 255, 255, 0.8);
  border-radius: 0.4rem;
  text-align: center;
  margin-left: 0.8rem;
  translate: 0 -0.1rem;
  transition: 0.2s border-color ease-in-out;
}
.c-btn1 .c-btn1__icon {
  mask: url("/assets/img/common/icon_arrow.svg") no-repeat center center/contain;
  width: 1rem;
  aspect-ratio: 1;
  background-color: #fff;
  display: block;
  transition: 0.2s background-color ease-in-out, translate 0.2s ease-in-out;
}
@media (any-hover: hover) {
  .c-btn1[target=_blank]:hover .c-btn1__icon {
    translate: 0.4rem -0.4rem;
  }
}
.c-btn1[target=_blank] .c-btn1__icon {
  rotate: -45deg;
}
.c-btn1.--reverse {
  min-width: initial;
  background-color: rgba(207, 215, 230, 0.4);
  grid-template-columns: auto 1fr;
  padding-left: 2.4rem;
  padding-right: 4rem;
}
@media screen and (max-width: 959px) {
  .c-btn1.--reverse {
    padding-left: 1.9rem;
    padding-right: 2.4rem;
  }
}
.c-btn1.--reverse .c-btn1__text {
  color: #2e3c4d;
}
.c-btn1.--reverse .c-btn1__icon {
  background-color: #2e3c4d;
  order: -1;
}
@media (any-hover: hover) {
  .c-btn1.--reverse:hover {
    background-color: rgba(207, 215, 230, 0.25);
  }
}
@media (any-hover: hover) {
  .c-btn1:hover {
    opacity: 1;
    background-color: rgba(230, 0, 18, 0.2);
  }
  .c-btn1:hover .c-btn1__text {
    color: #e60012;
  }
  .c-btn1:hover .c-btn1__text span {
    border-color: #e60012;
  }
  .c-btn1:hover .c-btn1__icon {
    background-color: #e60012;
    translate: 0.4rem 0;
  }
}

.c-title1 .c-title1__sub {
  color: #e60012;
  font-size: 1.6rem;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1;
}
@media screen and (max-width: 959px) {
  .c-title1 .c-title1__sub {
    font-size: 1.4rem;
  }
}
.c-title1 .c-title1__sub + .c-title1__main {
  margin-top: 2.4rem;
}
@media screen and (max-width: 959px) {
  .c-title1 .c-title1__sub + .c-title1__main {
    margin-top: 1.6rem;
  }
}
.c-title1 .c-title1__main {
  font-size: 4rem;
  letter-spacing: 0.08em;
  line-height: 1.4;
  color: #2e3c4d;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W3", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400;
}
@media screen and (max-width: 959px) {
  .c-title1 .c-title1__main {
    font-size: 2.8rem;
    line-height: 1.3;
  }
}
.c-title1.--md .c-title1__sub + .c-title1__main {
  margin-top: 1.6rem;
}
.c-title1.--md .c-title1__main {
  font-size: 5.6rem;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  .c-title1.--md .c-title1__main {
    font-size: 3.2rem;
  }
}
.c-title1.--lg .c-title1__sub + .c-title1__main {
  margin-top: 1.7rem;
}
.c-title1.--lg .c-title1__main {
  font-size: 7.2rem;
  line-height: 1.3;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  .c-title1.--lg .c-title1__main {
    font-size: 4rem;
    margin-top: 1.2rem;
  }
}

.c-btn2 {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 0.8rem;
  padding: 1.2rem 0.4rem 1.2rem 0.8rem;
  min-height: 4.8rem;
  border-bottom: 0.1rem solid #cfd7e6;
  transition: 0.2s all ease-in-out;
}
@media screen and (max-width: 959px) {
  .c-btn2 {
    padding-top: 1.3rem;
    padding-bottom: 1.2rem;
  }
}
.c-btn2 .c-btn2__text {
  color: #2e3c4d;
  font-family: "Koburina_Gothic_StdN", sans-serif;
  font-size: 1.8rem;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.08em;
  transition: 0.2s color ease-in-out;
}
@media screen and (max-width: 959px) {
  .c-btn2 .c-btn2__text {
    font-size: 1.6rem;
  }
}
.c-btn2 .c-btn2__icon {
  width: 1rem;
  aspect-ratio: 1;
  background-color: #2e3c4d;
  mask: url("/assets/img/common/icon_arrow.svg") no-repeat center/contain;
  display: block;
  transition: 0.2s background-color ease-in-out, translate 0.2s ease-in-out;
}
.c-btn2[target=_blank] .c-btn2__icon {
  rotate: -45deg;
}
@media (any-hover: hover) {
  .c-btn2[target=_blank]:hover {
    opacity: 1;
  }
  .c-btn2[target=_blank]:hover .c-btn2__icon {
    translate: 0.4rem -0.4rem;
  }
}
@media (any-hover: hover) {
  .c-btn2:hover {
    opacity: 1;
  }
  .c-btn2:hover .c-btn2__text {
    color: #e60012;
  }
  .c-btn2:hover .c-btn2__icon {
    translate: 0.4rem 0;
    background-color: #e60012;
  }
}

.c-breadcrumb .c-breadcrumb__list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.8rem;
}
@media screen and (max-width: 959px) {
  .c-breadcrumb .c-breadcrumb__list {
    gap: 0.6rem;
  }
}
.c-breadcrumb .c-breadcrumb__item {
  display: flex;
  align-items: center;
}
.c-breadcrumb .c-breadcrumb__item:not(:last-child)::after {
  content: "";
  width: 0.1rem;
  height: 0.8rem;
  background-color: #cfd7e6;
  rotate: 30deg;
  margin-left: 0.8rem;
}
@media screen and (max-width: 959px) {
  .c-breadcrumb .c-breadcrumb__item:not(:last-child)::after {
    margin-left: 0.6rem;
  }
}
.c-breadcrumb .c-breadcrumb__item:last-child .c-breadcrumb__link {
  color: #2e3c4d;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  text-decoration: none;
}
.c-breadcrumb .c-breadcrumb__link {
  font-size: 1.4rem;
  line-height: 1.4;
  letter-spacing: 0.1em;
  text-decoration: underline;
  color: #2e3c4d;
  transition: color 0.2s ease;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
@media screen and (max-width: 959px) {
  .c-breadcrumb .c-breadcrumb__link {
    font-size: 1.2rem;
  }
}

.c-wysiwyg p {
  font-size: 1.8rem;
  line-height: 2;
  letter-spacing: 0.08em;
  margin-top: 4rem;
}
@media screen and (max-width: 959px) {
  .c-wysiwyg p {
    margin-top: 3.2rem;
    line-height: 1.8;
    font-size: 1.6rem;
  }
}
.c-wysiwyg p:first-child {
  margin-top: 0;
}
.c-wysiwyg p + p {
  margin-top: 2.4rem;
}
@media screen and (max-width: 959px) {
  .c-wysiwyg p + p {
    margin-top: 1.6rem;
  }
}
.c-wysiwyg p a {
  text-decoration: underline;
  text-decoration-skip-ink: none;
}
.c-wysiwyg p.--mt8 {
  margin-top: 0.8rem;
}
@media screen and (max-width: 959px) {
  .c-wysiwyg p.--mt8 {
    margin-bottom: 0.8rem;
  }
}
.c-wysiwyg img {
  height: auto;
}
.c-wysiwyg b,
.c-wysiwyg strong {
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
}
.c-wysiwyg h2 {
  font-size: 3.2rem;
  line-height: 1.4;
  color: #2e3c4d;
  letter-spacing: 0.08em;
  font-weight: 400;
  margin-top: 9.6rem;
}
@media screen and (max-width: 959px) {
  .c-wysiwyg h2 {
    font-size: 2.8rem;
    margin-top: 5.6rem;
    line-height: 1.3;
  }
}
.c-wysiwyg h2:first-child {
  margin-top: 0;
}
.c-wysiwyg h3 {
  font-size: 2.4rem;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.08em;
  color: #2e3c4d;
  margin-top: 5.6rem;
}
@media screen and (max-width: 959px) {
  .c-wysiwyg h3 {
    font-size: 2rem;
    line-height: 1.3;
    letter-spacing: 0.1em;
    margin-top: 4.8rem;
  }
}
.c-wysiwyg h4 {
  font-size: 2.2rem;
  line-height: 1.4;
  letter-spacing: 0.08em;
  color: #2e3c4d;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  margin-top: 4.8rem;
  margin-bottom: 4rem;
}
@media screen and (max-width: 959px) {
  .c-wysiwyg h4 {
    font-size: 1.8rem;
    margin-top: 4rem;
    margin-bottom: 3.2rem;
  }
}
.c-wysiwyg h5 {
  font-size: 2rem;
  line-height: 1.4;
  letter-spacing: 0.08em;
  color: #2e3c4d;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  margin-top: 4.8rem;
  margin-bottom: 4rem;
}
@media screen and (max-width: 959px) {
  .c-wysiwyg h5 {
    font-size: 1.7rem;
    margin-top: 4rem;
    margin-bottom: 3.2rem;
  }
}
.c-wysiwyg h6 {
  font-size: 1.8rem;
  line-height: 1.4;
  letter-spacing: 0.08em;
  color: #2e3c4d;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  margin-top: 4.8rem;
  margin-bottom: 4rem;
}
@media screen and (max-width: 959px) {
  .c-wysiwyg h6 {
    font-size: 1.6rem;
    margin-top: 4rem;
    margin-bottom: 3.2rem;
  }
}
.c-wysiwyg li {
  font-size: 1.8rem;
  line-height: 1.8;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 959px) {
  .c-wysiwyg li {
    font-size: 1.6rem;
    line-height: 1.6;
  }
}
.c-wysiwyg li a {
  text-decoration: underline;
  text-decoration-skip-ink: none;
  overflow-wrap: anywhere;
}
.c-wysiwyg ul,
.c-wysiwyg ol {
  margin-top: 4rem;
  display: grid;
  gap: 0.8rem;
}
@media screen and (max-width: 959px) {
  .c-wysiwyg ul,
  .c-wysiwyg ol {
    margin-top: 3.2rem;
  }
}
.c-wysiwyg ul ul,
.c-wysiwyg ul ol,
.c-wysiwyg ol ul,
.c-wysiwyg ol ol {
  margin-top: 0.8rem;
}
.c-wysiwyg ol {
  counter-reset: num;
}
.c-wysiwyg ol li {
  counter-increment: num;
  position: relative;
  padding-left: 2.4rem;
}
.c-wysiwyg ol li::before {
  content: counter(num) ".";
  width: 2.4rem;
  display: block;
  text-align: center;
  position: absolute;
  top: 0.7rem;
  left: 0;
  font-size: 1.8rem;
  letter-spacing: 0.1em;
  line-height: 1;
  font-weight: 450;
}
@media screen and (max-width: 959px) {
  .c-wysiwyg ol li::before {
    font-size: 1.6rem;
    top: 0.5rem;
  }
}
.c-wysiwyg ul li {
  padding-left: 2.4rem;
  position: relative;
}
@media screen and (max-width: 959px) {
  .c-wysiwyg ul li {
    padding-left: 2rem;
  }
}
.c-wysiwyg ul li::before {
  content: "";
  width: 0.6rem;
  height: auto;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: #2e3c4d;
  position: absolute;
  top: 1.3rem;
  left: 0.9rem;
}
@media screen and (max-width: 959px) {
  .c-wysiwyg ul li::before {
    top: 0.9rem;
    left: 0.7rem;
  }
}
.c-wysiwyg ul li ul li::before {
  background-color: transparent;
  border: 0.1rem solid #2e3c4d;
}
.c-wysiwyg ul li ul ul li::before {
  border-radius: 0.1rem;
  background-color: #2e3c4d;
}
.c-wysiwyg ul b {
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
}
.c-wysiwyg ul.ul-circle li::before {
  width: 0.7rem;
  height: 0.7rem;
  top: 1.2rem;
  left: 0.8rem;
  background-color: transparent;
  border: 0.1rem solid #2e3c4d;
}
@media screen and (max-width: 959px) {
  .c-wysiwyg ul.ul-circle li::before {
    top: 0.9rem;
    left: 0.6rem;
  }
}
.c-wysiwyg .c-wysiwyg__table {
  margin-top: 2.5rem;
  overflow-x: auto;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
@media screen and (max-width: 959px) {
  .c-wysiwyg .c-wysiwyg__table {
    margin-right: -3rem;
    padding-bottom: 0.8rem;
  }
}
.c-wysiwyg .c-wysiwyg__table::-webkit-scrollbar {
  display: none;
}
.c-wysiwyg .c-wysiwyg__table .simplebar-track {
  background-color: #cfd7e6;
  height: 0.3rem;
  border-radius: 0.3rem;
}
.c-wysiwyg .c-wysiwyg__table .simplebar-scrollbar {
  background-color: #2e3c4d;
  border-radius: 0.3rem;
  top: 0;
  height: 0.3rem;
}
.c-wysiwyg .c-wysiwyg__table table,
.c-wysiwyg .c-wysiwyg__table thead,
.c-wysiwyg .c-wysiwyg__table tbody,
.c-wysiwyg .c-wysiwyg__table th,
.c-wysiwyg .c-wysiwyg__table td {
  display: block;
}
.c-wysiwyg .c-wysiwyg__table table {
  -webkit-text-size-adjust: 100%;
}
@media screen and (max-width: 959px) {
  .c-wysiwyg .c-wysiwyg__table table {
    min-width: 88rem;
  }
}
.c-wysiwyg .c-wysiwyg__table tr {
  display: grid;
  grid-template-columns: 26.4rem 1fr;
  column-gap: 2.4rem;
  border-bottom: 0.1rem solid rgba(207, 215, 230, 0.4);
}
.c-wysiwyg .c-wysiwyg__table th {
  font-size: 1.6rem;
  line-height: 1.4;
  letter-spacing: 0.1em;
  color: #2e3c4d;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  text-align: left;
  padding: 1.5rem 0;
}
@media screen and (max-width: 959px) {
  .c-wysiwyg .c-wysiwyg__table th {
    font-size: 1.4rem;
    padding: 0.7rem 0;
  }
}
.c-wysiwyg .c-wysiwyg__table td {
  padding: 2.3rem 0;
  vertical-align: top;
  font-size: 1.6rem;
  line-height: 1.4;
  letter-spacing: 0.1em;
  color: #2e3c4d;
  text-align: left;
}
@media screen and (max-width: 959px) {
  .c-wysiwyg .c-wysiwyg__table td {
    font-size: 1.4rem;
    padding: 1.5rem 0;
  }
}
.c-wysiwyg .c-wysiwyg__table td p {
  font-size: 1.6rem;
  line-height: 1.4;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  .c-wysiwyg .c-wysiwyg__table td p {
    font-size: 1.4rem;
  }
}
.c-wysiwyg .c-wysiwyg__table td p + p {
  margin-top: 1.6rem;
}
@media screen and (max-width: 959px) {
  .c-wysiwyg .c-wysiwyg__table td p + p {
    margin-top: 0.8rem;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .c-wysiwyg .c-wysiwyg__table td p + p {
    margin-top: 0.4rem;
  }
}
@media screen and (max-width: 959px) {
  .c-wysiwyg .c-wysiwyg__table td p + p.bar {
    margin-top: 0.8rem;
  }
}
.c-wysiwyg .c-wysiwyg__table td p.bar + p.bar {
  margin-top: 0.8rem;
}
.c-wysiwyg .c-wysiwyg__table a,
.c-wysiwyg .c-wysiwyg__table u {
  overflow-wrap: anywhere;
}
.c-wysiwyg .c-wysiwyg__table a {
  text-decoration: underline;
}
.c-wysiwyg .c-wysiwyg__table ul {
  margin-top: 0;
}
.c-wysiwyg .c-wysiwyg__table ul li {
  font-size: 1.4rem;
  line-height: 1.4;
  letter-spacing: 0.1em;
  padding-left: 1em;
}
.c-wysiwyg .c-wysiwyg__table ul li::before {
  content: "・";
  width: auto;
  aspect-ratio: initial;
  background-color: transparent;
  border-radius: 0;
  top: 0;
  left: 0;
}
.c-wysiwyg .c-wysiwyg__table.--column3 table tr {
  grid-template-columns: 14.4rem 28rem 1fr;
}
.c-wysiwyg .c-wysiwyg__table.--w320 table tr {
  grid-template-columns: 32rem 1fr;
}
@media screen and (max-width: 959px) {
  .c-wysiwyg .c-wysiwyg__table.--column7 {
    margin-top: 1.7rem;
  }
}
.c-wysiwyg .c-wysiwyg__table.--column7 table tr {
  grid-template-columns: 19.6rem repeat(6, 1fr);
  gap: 0;
}
.c-wysiwyg .c-wysiwyg__table.--column7 table td {
  padding: 1.5rem 0;
}
.c-wysiwyg .c-wysiwyg__table.--column7 table th {
  padding: 1.5rem 0;
}
.c-wysiwyg .c-wysiwyg__table.--column7 table td:first-child {
  padding-left: 2rem;
  padding-right: 3.6rem;
}
.c-wysiwyg .c-wysiwyg__table.--column7 table .single {
  grid-template-columns: 100%;
}
.c-wysiwyg .c-wysiwyg__table.--column7 table .single td {
  padding-left: 0;
  font-size: 1.8rem;
}
@media screen and (max-width: 959px) {
  .c-wysiwyg .c-wysiwyg__table.--column7 table .single td {
    font-size: 1.6rem;
  }
}
.c-wysiwyg .c-wysiwyg__table.--column7 table td.indent {
  padding-left: 3.3rem;
}
.c-wysiwyg .c-wysiwyg__table.--column7 table strong {
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
}
.c-wysiwyg .c-wysiwyg__table.--jobtypes1 table tr {
  grid-template-columns: 32rem 1fr;
}
@media screen and (max-width: 959px) {
  .c-wysiwyg .c-wysiwyg__table.--jobtypes1 table tr {
    grid-template-columns: 22.4rem 1fr;
  }
}
.c-wysiwyg .c-wysiwyg__table.--jobtypes2 table tr {
  grid-template-columns: 32rem 1fr;
}
@media screen and (max-width: 959px) {
  .c-wysiwyg .c-wysiwyg__table.--jobtypes2 table tr {
    grid-template-columns: 20rem 1fr;
  }
}
.c-wysiwyg .c-wysiwyg__table.--jobtypes3 table tr {
  grid-template-columns: 40rem 1fr;
}
@media screen and (max-width: 959px) {
  .c-wysiwyg .c-wysiwyg__table.--jobtypes3 table tr {
    grid-template-columns: 20rem 1fr;
  }
}
.c-wysiwyg .c-wysiwyg__table.--medicalPlatformPrivacy table {
  border-top: 0.1rem solid rgba(207, 215, 230, 0.4);
}
.c-wysiwyg .c-wysiwyg__table.--medicalPlatformPrivacy table tr {
  grid-template-columns: 16rem 1fr;
}
@media screen and (max-width: 959px) {
  .c-wysiwyg .c-wysiwyg__table.--medicalPlatformPrivacy table tr {
    grid-template-columns: 8rem 1fr;
  }
}
@media screen and (max-width: 959px) {
  .c-wysiwyg .simplebar-track {
    width: calc(100% - 3.4rem);
  }
}
.c-wysiwyg .c-wysiwyg__right {
  margin-top: 9.6rem;
}
@media screen and (max-width: 959px) {
  .c-wysiwyg .c-wysiwyg__right {
    margin-top: 5.6rem;
  }
}
.c-wysiwyg .c-wysiwyg__right p {
  text-align: right;
}
@media screen and (max-width: 959px) {
  .c-wysiwyg .c-wysiwyg__right.--spMt32 {
    margin-top: 3.2rem;
  }
}
.c-wysiwyg .c-wysiwyg__right.--mt24 {
  margin-top: 2.4rem;
}
@media screen and (max-width: 959px) {
  .c-wysiwyg .c-wysiwyg__right.--mt24 {
    margin-top: 1.6rem;
  }
}
@media screen and (max-width: 959px) {
  .c-wysiwyg .c-wysiwyg__right.--spLeft p {
    text-align: left;
  }
}
.c-wysiwyg .c-wysiwyg__right.--spFont12 p {
  font-size: 1.4rem;
}
@media screen and (max-width: 959px) {
  .c-wysiwyg .c-wysiwyg__right.--spFont12 p {
    font-size: 1.2rem;
  }
}
.c-wysiwyg .c-wysiwyg__titleVertical {
  display: flex;
  flex-wrap: wrap;
  margin-top: 8rem;
}
@media screen and (max-width: 959px) {
  .c-wysiwyg .c-wysiwyg__titleVertical {
    margin-top: 4.8rem;
  }
}
.c-wysiwyg .c-wysiwyg__titleVertical h3 {
  margin-top: 0;
  margin-right: 1rem;
}
.c-wysiwyg .c-wysiwyg__titleVertical a {
  text-decoration: underline;
  text-decoration-skip-ink: none;
  margin-top: 0.5rem;
  color: #2e3c4d;
}
.c-wysiwyg .c-wysiwyg__underline {
  text-decoration: underline;
}
.c-wysiwyg {
  /* ========================================================
  # White Block
  ======================================================== */
}
.c-wysiwyg .c-wysiwyg__whiteBlock {
  padding: 4rem;
  margin-top: 4rem;
  border-radius: 1.6rem;
  background-color: #fff;
}
@media screen and (max-width: 959px) {
  .c-wysiwyg .c-wysiwyg__whiteBlock {
    margin-top: 3.2rem;
    padding: 1.6rem;
  }
}
.c-wysiwyg .c-wysiwyg__whiteBlock h3 {
  font-size: 2.4rem;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.08em;
  color: #2e3c4d;
  margin-top: 0;
}
@media screen and (max-width: 959px) {
  .c-wysiwyg .c-wysiwyg__whiteBlock h3 {
    font-size: 2rem;
  }
}
.c-wysiwyg .c-wysiwyg__whiteBlock .annotation {
  font-size: 1.4rem;
  font-weight: 500;
  margin-left: 0.8rem;
}
@media screen and (max-width: 959px) {
  .c-wysiwyg .c-wysiwyg__whiteBlock .annotation {
    font-size: 1.2rem;
    margin-left: 0.4rem;
  }
}
.c-wysiwyg .c-wysiwyg__whiteBlock p {
  font-size: 1.6rem;
  margin-top: 2.4rem;
}
@media screen and (max-width: 959px) {
  .c-wysiwyg .c-wysiwyg__whiteBlock p {
    margin-top: 1.6rem;
    font-size: 1.4rem;
    line-height: 1.8;
  }
}
.c-wysiwyg .c-wysiwyg__whiteBlock img {
  width: auto;
  height: 9.6rem;
  object-fit: contain;
}
@media screen and (max-width: 959px) {
  .c-wysiwyg .c-wysiwyg__whiteBlock img {
    height: 6.4rem;
  }
}
.c-wysiwyg .c-wysiwyg__whiteBlock .c-wysiwyg__whiteBlockList {
  margin-top: 2.4rem;
  gap: 0;
}
@media screen and (max-width: 959px) {
  .c-wysiwyg .c-wysiwyg__whiteBlock .c-wysiwyg__whiteBlockList {
    margin-top: 1.6rem;
  }
}
.c-wysiwyg .c-wysiwyg__whiteBlock .c-wysiwyg__whiteBlockList li {
  padding-left: 1em;
  line-height: 2;
  font-size: 1.4rem;
}
@media screen and (max-width: 959px) {
  .c-wysiwyg .c-wysiwyg__whiteBlock .c-wysiwyg__whiteBlockList li {
    line-height: 1.8;
  }
}
.c-wysiwyg .c-wysiwyg__whiteBlock .c-wysiwyg__whiteBlockList li::before {
  content: "・";
  width: auto;
  height: auto;
  aspect-ratio: initial;
  border-radius: 0;
  background-color: transparent;
  top: 0.1rem;
  left: 0;
}
.c-wysiwyg .c-wysiwyg__whiteBlock .c-wysiwyg__whiteImageList {
  margin-top: 2.4rem;
  display: flex;
  align-items: center;
  gap: 1.6rem;
  flex-wrap: wrap;
}
@media screen and (max-width: 959px) {
  .c-wysiwyg .c-wysiwyg__whiteBlock .c-wysiwyg__whiteImageList {
    margin-top: 1.6rem;
  }
}
.c-wysiwyg .c-wysiwyg__whiteBlock .c-wysiwyg__whiteImageList li {
  padding: 0;
}
.c-wysiwyg .c-wysiwyg__whiteBlock .c-wysiwyg__whiteImageList li::before {
  content: none;
}
.c-wysiwyg .c-wysiwyg__whiteBlock .c-wysiwyg__whiteDataList {
  margin-top: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.4rem;
}
@media screen and (max-width: 959px) {
  .c-wysiwyg .c-wysiwyg__whiteBlock .c-wysiwyg__whiteDataList {
    grid-template-columns: repeat(auto-fill, minmax(28rem, 1fr));
    gap: 1.6rem;
  }
}
.c-wysiwyg .c-wysiwyg__whiteBlock .c-wysiwyg__whiteDataList li {
  padding: 0;
}
.c-wysiwyg .c-wysiwyg__whiteBlock .c-wysiwyg__whiteDataList li::before {
  content: none;
}
.c-wysiwyg .c-wysiwyg__whiteBlock .c-wysiwyg__whiteDataList li h3 {
  font-size: 2.4rem;
  line-height: 1.4;
  letter-spacing: 0.08em;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
}
@media screen and (max-width: 959px) {
  .c-wysiwyg .c-wysiwyg__whiteBlock .c-wysiwyg__whiteDataList li h3 {
    font-size: 2rem;
  }
}
.c-wysiwyg .c-wysiwyg__whiteBlock .c-wysiwyg__whiteDataList li p {
  font-size: 1.8rem;
  line-height: 2;
  letter-spacing: 0.08em;
  color: #2e3c4d;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  margin-top: 1.6rem;
}
@media screen and (max-width: 959px) {
  .c-wysiwyg .c-wysiwyg__whiteBlock .c-wysiwyg__whiteDataList li p {
    margin-top: 0.8rem;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 959px) {
  .c-wysiwyg .c-wysiwyg__whiteBlock .c-wysiwyg__btnList {
    margin-top: 1.6rem;
  }
}
.c-wysiwyg .c-wysiwyg__btnList {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 2.1rem;
  margin-top: 2.4rem;
}
@media screen and (max-width: 959px) {
  .c-wysiwyg .c-wysiwyg__btnList {
    grid-template-columns: repeat(auto-fill, minmax(28rem, 1fr));
    margin-top: 3.2rem;
  }
}
.c-wysiwyg .c-wysiwyg__btnList .c-btn2 {
  min-height: 5.4rem;
}
@media screen and (max-width: 959px) {
  .c-wysiwyg .c-wysiwyg__btnList .c-btn2 {
    min-height: 4.8rem;
  }
}
.c-wysiwyg .c-wysiwyg__whiteBlock + .c-wysiwyg__whiteBlock {
  margin-top: 2.4rem;
}
@media screen and (max-width: 959px) {
  .c-wysiwyg .c-wysiwyg__whiteBlock + .c-wysiwyg__whiteBlock {
    margin-top: 1.6rem;
  }
}
.c-wysiwyg .c-wysiwyg__note {
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0.08em;
  margin-top: 2.4rem;
}
@media screen and (max-width: 959px) {
  .c-wysiwyg .c-wysiwyg__note {
    font-size: 1.2rem;
    line-height: 1.8;
    margin-top: 1.6rem;
  }
}
.c-wysiwyg p + .c-wysiwyg__note {
  margin-top: 4rem;
}
.c-wysiwyg {
  /* ========================================================
  # ブランド
  ======================================================== */
}
.c-wysiwyg .c-wysiwyg__brandList {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6.4rem 4rem;
  margin-top: 6.4rem;
}
@media screen and (max-width: 959px) {
  .c-wysiwyg .c-wysiwyg__brandList {
    margin-top: 3.2rem;
    gap: 3.2rem 2rem;
    grid-template-columns: repeat(auto-fill, minmax(30rem, 1fr));
  }
}
.c-wysiwyg .c-wysiwyg__brandCategory {
  padding: 0;
}
.c-wysiwyg .c-wysiwyg__brandCategory::before {
  content: none;
}
.c-wysiwyg .c-wysiwyg__brandTitle {
  font-size: 2rem;
  line-height: 1.4;
  letter-spacing: 0.08em;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  color: #2e3c4d;
}
@media screen and (max-width: 959px) {
  .c-wysiwyg .c-wysiwyg__brandTitle {
    font-size: 1.6rem;
  }
}
.c-wysiwyg .c-wysiwyg__brandLogo {
  min-height: 16rem;
  display: grid;
  place-items: center;
  margin-top: 2.4rem;
  background-color: #fff;
  border-radius: 1.6rem;
}
@media screen and (max-width: 959px) {
  .c-wysiwyg .c-wysiwyg__brandLogo {
    margin-top: 1.6rem;
    min-height: 12rem;
  }
}
.c-wysiwyg .c-wysiwyg__brandLogo img {
  width: auto;
  height: 3.2rem;
}
.c-wysiwyg .c-wysiwyg__brandLinks {
  margin-top: 1.6rem;
  line-height: 1;
}
@media screen and (max-width: 959px) {
  .c-wysiwyg .c-wysiwyg__brandLinks {
    margin-top: 1.2rem;
  }
}
.c-wysiwyg .c-wysiwyg__brandLink {
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0.08em;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W3", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400;
}
.c-wysiwyg .c-wysiwyg__brandLink + .c-wysiwyg__brandLink {
  margin-left: 1.6rem;
}

.c-card1 {
  text-align: left;
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
  border: 0.1rem solid #cfd7e6;
  border-radius: 0.8rem;
  padding: 2.3rem 1.2rem 1.2rem 2.3rem;
  transition: 0.2s all ease-in-out;
  position: relative;
  background-color: #fff;
  min-height: 15.2rem;
}
@media screen and (max-width: 959px) {
  .c-card1 {
    padding: 1.5rem 5.5rem 1.5rem 1.5rem;
    min-height: 8.2rem;
  }
}
@media (any-hover: hover) {
  .c-card1:hover {
    opacity: 1;
    box-shadow: 0 0.2rem 1rem 0 rgba(0, 0, 0, 0.1);
  }
  .c-card1:hover .c-card1__icon {
    background-color: #e60012;
  }
  .c-card1:hover .c-card1__icon::before, .c-card1:hover .c-card1__icon::after {
    background-color: #fff;
  }
}
.c-card1 .c-card1__name {
  font-size: 2rem;
  line-height: 1.4;
  letter-spacing: 0.08em;
  color: #2e3c4d;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
}
@media screen and (max-width: 959px) {
  .c-card1 .c-card1__name {
    font-size: 1.6rem;
  }
}
.c-card1 .c-card1__position {
  margin-top: 0.8rem;
  font-size: 1.4rem;
  line-height: 1.4;
  letter-spacing: 0.08em;
  color: #2e3c4d;
  margin-bottom: 0.8rem;
}
@media screen and (max-width: 959px) {
  .c-card1 .c-card1__position {
    margin-bottom: 0;
  }
}
.c-card1 .c-card1__icon {
  width: 3.2rem;
  height: auto;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: rgba(207, 215, 230, 0.4);
  display: block;
  position: relative;
  margin-top: auto;
  margin-left: auto;
  transition: background-color 0.2s ease-in-out;
}
@media screen and (max-width: 959px) {
  .c-card1 .c-card1__icon {
    position: absolute;
    bottom: 1.6rem;
    right: 1.6rem;
    width: 2.4rem;
  }
}
.c-card1 .c-card1__icon::before, .c-card1 .c-card1__icon::after {
  content: "";
  display: block;
  width: 1rem;
  height: 0.2rem;
  background-color: #2e3c4d;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  transition: background-color 0.2s ease-in-out;
}
.c-card1 .c-card1__icon::after {
  rotate: 90deg;
}
.c-card1.--sm {
  min-height: 16rem;
}
@media screen and (max-width: 959px) {
  .c-card1.--sm {
    min-height: 5.8rem;
    flex-direction: row;
    padding: 1.5rem;
    gap: 1rem;
  }
}
.c-card1.--sm .c-card1__name {
  font-size: 1.8rem;
  line-height: 1.6;
  letter-spacing: 0.08em;
  padding-right: 2.5rem;
}
@media screen and (max-width: 959px) {
  .c-card1.--sm .c-card1__name {
    font-size: 1.6rem;
    padding-right: 0;
  }
}
@media screen and (max-width: 959px) {
  .c-card1.--sm .c-card1__icon {
    position: relative;
    inset: initial;
  }
}

.c-pageTop {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.6rem;
  padding: 1.6rem 0.7rem 1.5rem;
  border-bottom: 0.1rem solid #cfd7e6;
  min-width: 18rem;
  transition: opacity 0.2s ease-in-out;
}
@media screen and (max-width: 959px) {
  .c-pageTop {
    padding: 1.3rem 0.7rem 1.2rem;
  }
}
@media (any-hover: hover) {
  .c-pageTop:hover {
    opacity: 1;
  }
  .c-pageTop:hover .c-pageTop__text {
    color: #e60012;
  }
  .c-pageTop:hover .c-pageTop__icon {
    background-color: #e60012;
    translate: 0 -0.4rem;
  }
}
.c-pageTop .c-pageTop__text {
  font-size: 1.6rem;
  line-height: 1.4;
  letter-spacing: 0.08em;
  color: #2e3c4d;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  flex: 1;
}
.c-pageTop .c-pageTop__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1rem;
  height: auto;
  aspect-ratio: 1;
  rotate: -90deg;
  flex-shrink: 0;
  mask: url("/assets/img/common/icon_arrow.svg") no-repeat center/contain;
  background-color: #2e3c4d;
  transition: translate 0.2s ease-in-out;
}

.c-news {
  display: flex;
  gap: 2.4rem;
  align-items: center;
  border: 0.1rem solid #cfd7e6;
  border-radius: 1.6rem;
  padding: 1.6rem;
  background-color: #fff;
  transition: all 0.2s ease-in-out;
}
@media screen and (max-width: 767px) {
  .c-news {
    flex-direction: column;
    border-radius: 0.8rem;
    gap: 1.6rem;
  }
}
@media (any-hover: hover) {
  .c-news:hover {
    opacity: 1;
    border-color: transparent;
    box-shadow: 0 0.2rem 1rem rgba(0, 0, 0, 0.1);
  }
  .c-news:hover .c-news__arrow {
    background-color: #e60012;
    translate: 0.4rem 0;
  }
  .c-news:hover .c-news__title {
    color: #e60012;
  }
}
.c-news .c-news__img {
  flex-shrink: 0;
  border: 0.1rem solid rgba(207, 215, 230, 0.5);
  border-radius: 0.8rem;
  overflow: hidden;
  width: 20rem;
}
@media screen and (max-width: 767px) {
  .c-news .c-news__img {
    width: 100%;
    height: auto;
    border-radius: 0.4rem;
  }
}
.c-news .c-news__img img {
  aspect-ratio: 1.91/1;
  width: 100%;
  height: auto;
  object-fit: cover;
}
.c-news .c-news__content {
  flex: 1;
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .c-news .c-news__content {
    gap: 1.2rem;
    width: 100%;
  }
}
.c-news .c-news__meta {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  font-size: 1.4rem;
  line-height: 1;
  letter-spacing: 0.08em;
}
.c-news .c-news__date {
  color: #2e3c4d;
}
.c-news .c-news__category {
  color: #e60012;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
}
.c-news .c-news__title {
  font-size: 1.8rem;
  line-height: 1.6;
  letter-spacing: 0.08em;
  margin-top: 0.8rem;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W3", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400;
  transition: 0.2s color ease-in-out;
}
@media screen and (max-width: 767px) {
  .c-news .c-news__title {
    font-size: 1.6rem;
    letter-spacing: 0.08em;
    margin-top: 1.2rem;
  }
}
.c-news .c-news__arrow {
  width: 1.1rem;
  height: 1rem;
  mask: url("/assets/img/common/icon_arrow.svg") no-repeat center center/contain;
  background-color: #2e3c4d;
  flex-shrink: 0;
  align-self: flex-end;
  margin-top: 1.6rem;
  margin-left: auto;
  margin-right: 0.4rem;
  transition: 0.2s background-color ease-in-out, translate 0.2s ease-in-out;
}
@media screen and (max-width: 767px) {
  .c-news .c-news__arrow {
    margin-top: 2rem;
  }
}

.c-card2 {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  height: 100%;
  padding: 3.1rem;
  border: 0.1rem solid #cfd7e6;
  border-radius: 1.2rem;
  background-color: #fff;
}
@media screen and (max-width: 959px) {
  .c-card2 {
    padding: 1.5rem;
    gap: 1.6rem;
    border-radius: 0.8rem;
  }
}
@media (any-hover: hover) {
  .c-card2:hover {
    opacity: 1;
    box-shadow: 0 0.2rem 1rem 0 rgba(0, 0, 0, 0.1);
    border-color: transparent;
  }
  .c-card2:hover .c-card2__arrow {
    background-color: #e60012;
    translate: 0.4rem 0;
  }
  .c-card2:hover .c-card2__text {
    color: #e60012;
  }
}
.c-card2 .c-card2__img {
  border-radius: 0.8rem;
  position: relative;
  overflow: clip;
  border: 0.1rem solid rgba(207, 215, 230, 0.5);
}
@media screen and (max-width: 959px) {
  .c-card2 .c-card2__img {
    border-radius: 0.4rem;
  }
}
.c-card2 .c-card2__img img {
  width: 100%;
  height: auto;
  aspect-ratio: 1.91/1;
  object-fit: cover;
}
.c-card2 .c-card2__text {
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.08em;
  color: #2e3c4d;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W3", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  transition: 0.2s color ease-in-out;
}
.c-card2 .c-card2__bottom {
  flex-grow: 1;
  display: flex;
  align-items: flex-end;
}
.c-card2 .c-card2__bottomInner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}
.c-card2 .c-card2__date {
  font-size: 1.4rem;
  line-height: 1;
  letter-spacing: 0.08em;
  color: #2e3c4d;
  font-family: "neue-haas-grotesk-display", sans-serif;
  font-weight: 450;
}
.c-card2 .c-card2__arrow {
  width: 1rem;
  height: auto;
  aspect-ratio: 1;
  background-color: #2e3c4d;
  mask: url("/assets/img/common/icon_arrow.svg") no-repeat center/contain;
  display: block;
  flex-shrink: 0;
  transition: 0.2s background-color ease-in-out, translate 0.2s ease-in-out;
}

.c-card3 {
  background-color: #fff;
  border: 0.1rem solid #cfd7e6;
  border-radius: 0.8rem;
  padding: 2.3rem;
  display: flex;
  flex-direction: column;
  height: 100%;
  transition: 0.2s all ease-in-out;
}
@media screen and (max-width: 959px) {
  .c-card3 {
    padding: 3.2rem 1.6rem 1.6rem;
  }
}
@media (any-hover: hover) {
  .c-card3:hover {
    opacity: 1;
    border-color: transparent;
    box-shadow: 0 0.2rem 1rem rgba(0, 0, 0, 0.1);
  }
  .c-card3:hover .c-card3__arrow {
    background-color: #e60012;
    translate: 0.4rem 0;
  }
  .c-card3:hover .c-card3__linkText {
    color: #e60012;
  }
}
.c-card3 .c-card3__logo {
  width: 100%;
  min-height: 18rem;
  display: grid;
  place-items: center;
}
@media screen and (max-width: 959px) {
  .c-card3 .c-card3__logo {
    min-height: 8rem;
  }
}
.c-card3 .c-card3__logo img {
  width: auto;
  height: 4rem;
  object-fit: contain;
}
@media screen and (max-width: 959px) {
  .c-card3 .c-card3__logo img {
    height: 3.2rem;
  }
}
.c-card3 .c-card3__content {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  flex: 1;
  padding-top: 1.5rem;
  margin-top: 2.2rem;
  border-top: 0.1rem solid #cfd7e6;
}
@media screen and (max-width: 959px) {
  .c-card3 .c-card3__content {
    gap: 0.4rem;
    padding-top: 1.1rem;
    margin-top: 3.2rem;
  }
}
.c-card3 .c-card3__description {
  font-size: 1.4rem;
  line-height: 1.4;
  letter-spacing: 0.08em;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W3", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400;
}
.c-card3 .c-card3__link {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: flex-end;
  gap: 0.8rem;
  margin-top: auto;
}
.c-card3 .c-card3__linkText {
  font-size: 2rem;
  line-height: 1.4;
  letter-spacing: 0.08em;
  color: #2e3c4d;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  transition: 0.2s color ease-in-out;
}
@media screen and (max-width: 959px) {
  .c-card3 .c-card3__linkText {
    font-size: 1.8rem;
  }
}
.c-card3 .c-card3__arrowArea {
  width: 1.6rem;
  height: 2.8rem;
  display: grid;
  place-items: center;
}
@media screen and (max-width: 959px) {
  .c-card3 .c-card3__arrowArea {
    height: 2.2rem;
  }
}
.c-card3 .c-card3__arrow {
  width: 1rem;
  aspect-ratio: 1;
  background-color: #2e3c4d;
  mask: url("/assets/img/common/icon_arrow.svg") no-repeat center/contain;
  display: block;
  flex-shrink: 0;
  transition: 0.2s background-color ease-in-out, translate 0.2s ease-in-out;
}

.c-news2 {
  height: 100%;
  display: flex;
  flex-direction: column;
  border: 0.1rem solid #cfd7e6;
  border-radius: 1.2rem;
  padding: 1.5rem;
  background-color: #fff;
  transition: all 0.2s ease-in-out;
}
@media screen and (max-width: 959px) {
  .c-news2 {
    border-radius: 0.8rem;
  }
}
@media (any-hover: hover) {
  .c-news2:hover {
    opacity: 1;
    border-color: transparent;
    box-shadow: 0 0.2rem 1rem rgba(0, 0, 0, 0.1);
  }
  .c-news2:hover .c-news2__arrow::after {
    background-color: #e60012;
    translate: 0.4rem -0.4rem;
  }
  .c-news2:hover .c-news2__title {
    color: #e60012;
  }
}
.c-news2 .c-news2__img {
  border: 0.1rem solid rgba(207, 215, 230, 0.5);
  border-radius: 0.8rem;
  overflow: clip;
  position: relative;
  width: 100%;
}
@media screen and (max-width: 959px) {
  .c-news2 .c-news2__img {
    border-radius: 0.4rem;
  }
}
.c-news2 .c-news2__img img {
  aspect-ratio: 1.91/1;
  width: 100%;
  height: auto;
  object-fit: cover;
}
.c-news2 .c-news2__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 2.4rem;
}
@media screen and (max-width: 959px) {
  .c-news2 .c-news2__meta {
    margin-top: 2rem;
  }
}
.c-news2 .c-news2__date {
  font-size: 1.4rem;
  line-height: 1;
  letter-spacing: 0.08em;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W3", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400;
  font-family: "neue-haas-grotesk-display";
  font-weight: 450;
}
.c-news2 .c-news2__titleArea {
  flex-grow: 1;
  margin-top: 2.4rem;
}
@media screen and (max-width: 959px) {
  .c-news2 .c-news2__titleArea {
    margin-top: 1.6rem;
  }
}
.c-news2 .c-news2__title {
  font-size: 1.8rem;
  line-height: 1.6;
  letter-spacing: 0.08em;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W3", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  transition: 0.2s color ease-in-out;
}
@media screen and (max-width: 959px) {
  .c-news2 .c-news2__title {
    font-size: 1.6rem;
  }
}
.c-news2 .c-news2__arrow::after {
  content: "";
  display: block;
  width: 1.1rem;
  height: 1rem;
  mask: url("/assets/img/common/icon_arrow.svg") no-repeat center center/contain;
  background-color: #2e3c4d;
  flex-shrink: 0;
  translate: 0 -0.2rem;
  margin-right: 0.4rem;
  rotate: -45deg;
  transition: 0.2s background-color ease-in-out, translate 0.2s ease-in-out;
}
@media (any-hover: hover) {
  .c-news2.--developer:hover .c-news2__arrow::before {
    background-color: #e60012;
  }
}
.c-news2.--developer .c-news2__arrow {
  display: flex;
  align-items: center;
}
.c-news2.--developer .c-news2__arrow::before {
  content: "";
  display: block;
  width: 10rem;
  height: 1.2rem;
  mask: url("/assets/img/common/logoDeveloperPortal.svg") no-repeat center center/contain;
  background-color: #2e3c4d;
  flex-shrink: 0;
  margin-right: 0.7rem;
  transition: 0.2s background-color ease-in-out;
}

.c-card4 {
  display: grid;
  grid-template-columns: 1fr 36rem;
  border: 0.1rem solid #cfd7e6;
  border-radius: 1.6rem;
  background-color: #fff;
  position: relative;
  overflow: clip;
  box-shadow: 0 0.2rem 1rem 0 rgba(0, 0, 0, 0);
  transition: box-shadow 0.2s ease-in-out, border-color 0.2s ease-in-out;
  align-items: center;
}
@media (any-hover: hover) {
  .c-card4:hover {
    opacity: 1;
    box-shadow: 0 0.2rem 1rem 0 rgba(0, 0, 0, 0.1);
    border-color: transparent;
  }
  .c-card4:hover .c-card4__arrow {
    background-color: #e60012;
    translate: 0.4rem 0;
  }
  .c-card4:hover .c-card4__title {
    color: #e60012;
  }
}
@media screen and (max-width: 959px) {
  .c-card4 {
    height: 100%;
    grid-template-columns: 100%;
    align-content: flex-start;
    border-radius: 0.8rem;
  }
}
.c-card4 .c-card4__body {
  padding: 4rem 3.2rem 4.3rem 4rem;
}
@media screen and (max-width: 959px) {
  .c-card4 .c-card4__body {
    padding: 1.6rem;
  }
}
.c-card4 .c-card4__title {
  font-size: 2.4rem;
  line-height: 1.4;
  letter-spacing: 0.08em;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  transition: 0.2s color ease-in-out;
}
@media screen and (max-width: 959px) {
  .c-card4 .c-card4__title {
    font-size: 2rem;
  }
}
.c-card4 .c-card4__text {
  margin-top: 2.4rem;
  font-size: 1.6rem;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W3", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 959px) {
  .c-card4 .c-card4__text {
    margin-top: 1.6rem;
    font-size: 1.4rem;
  }
}
.c-card4 .c-card4__arrow {
  mask: url("/assets/img/common/icon_arrow.svg") no-repeat center center/contain;
  width: 1rem;
  aspect-ratio: 1;
  background-color: #2e3c4d;
  display: block;
  margin-top: 1.9rem;
  margin-right: 0.3rem;
  margin-left: auto;
  transition: 0.2s background-color ease-in-out, translate 0.2s ease-in-out;
}
@media screen and (max-width: 959px) {
  .c-card4 .c-card4__arrow {
    margin-top: 1.1rem;
  }
}
.c-card4 .c-card4__img {
  height: 100%;
}
@media screen and (max-width: 959px) {
  .c-card4 .c-card4__img {
    order: -1;
  }
}
.c-card4 .c-card4__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 959px) {
  .c-card4 .c-card4__img img {
    height: auto;
    aspect-ratio: 315/210;
  }
}

.c-modal {
  display: none;
}
.c-modal.is-open {
  display: block;
}
.c-modal .c-modal__overlay {
  align-items: center;
  background: rgba(46, 60, 77, 0.6);
  backdrop-filter: blur(0.6rem);
  bottom: 0;
  display: flex;
  justify-content: center;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 100;
}
.c-modal .c-modal__container {
  background-color: #fff;
  max-height: 80svh;
  max-width: 99.2rem;
  border-radius: 2.4rem;
  overflow-y: auto;
  width: 100%;
  position: relative;
}
@media screen and (max-width: 959px) {
  .c-modal .c-modal__container {
    border-radius: 1.6rem;
    width: calc(100% - 1.6rem);
  }
}
.c-modal .c-modal__content {
  padding: 6.4rem 5.6rem;
}
@media screen and (max-width: 959px) {
  .c-modal .c-modal__content {
    padding: 8rem 2.2rem;
  }
}
.c-modal:has(.c-modal__content + .c-modal__nav) .c-modal__content {
  padding-bottom: 4.8rem;
}
@media screen and (max-width: 959px) {
  .c-modal:has(.c-modal__content + .c-modal__nav) .c-modal__content {
    padding-bottom: 4rem;
  }
}
.c-modal .c-modal__close {
  width: 4rem;
  height: auto;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: rgba(207, 215, 230, 0.4);
  position: absolute;
  top: 1.6rem;
  right: 1.6rem;
}
@media screen and (max-width: 959px) {
  .c-modal .c-modal__close {
    width: 3.2rem;
    top: 0.6rem;
    right: 0.6rem;
  }
}
.c-modal .c-modal__close::before, .c-modal .c-modal__close::after {
  content: "";
  display: block;
  width: 0.9rem;
  height: 0.2rem;
  background-color: #2e3c4d;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  transition: background-color 0.2s ease-in-out;
}
.c-modal .c-modal__close::before {
  rotate: -45deg;
}
.c-modal .c-modal__close::after {
  rotate: 45deg;
}
.c-modal .c-modal__contentName {
  font-size: 3.2rem;
  line-height: 1.6;
  letter-spacing: 0.08em;
  color: #2e3c4d;
}
@media screen and (max-width: 959px) {
  .c-modal .c-modal__contentName {
    font-size: 2.2rem;
    line-height: 1.3;
    letter-spacing: 0.1em;
  }
}
.c-modal .c-modal__contentPosition {
  margin-top: 0.8rem;
  font-size: 1.4rem;
  line-height: 1;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 959px) {
  .c-modal .c-modal__contentPosition {
    font-size: 1.2rem;
    margin-top: 0.4rem;
  }
}
.c-modal .c-modal__contentText {
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: 0.08em;
  margin-top: 2.4rem;
}
@media screen and (max-width: 959px) {
  .c-modal .c-modal__contentText {
    margin-top: 1.6rem;
    line-height: 1.8;
  }
}
.c-modal {
  /* モーダルアニメーション */
}
@keyframes mmfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes mmfadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes mmslideIn {
  from {
    transform: translateY(15%);
  }
  to {
    transform: translateY(0);
  }
}
@keyframes mmslideOut {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-10%);
  }
}
.c-modal[aria-hidden=false] .c-modal__overlay {
  animation: mmfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}
.c-modal[aria-hidden=false] .c-modal__container {
  animation: mmslideIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}
.c-modal[aria-hidden=true] .c-modal__overlay {
  animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}
.c-modal[aria-hidden=true] .c-modal__container {
  animation: mmslideOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}
.c-modal .c-modal__container, .c-modal .c-modal__overlay {
  will-change: transform;
}
.c-modal .c-modal__nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.6rem 5.6rem 3.2rem;
  gap: 1.6rem;
  position: relative;
}
@media screen and (max-width: 959px) {
  .c-modal .c-modal__nav {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(30rem, 1fr));
    gap: 0.8rem;
    padding: 1.6rem 2.2rem 8rem;
  }
}
.c-modal .c-modal__nav::before {
  content: "";
  display: block;
  width: calc(100% - 11.2rem);
  height: 0.1rem;
  background-color: #cfd7e6;
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% 0;
}
@media screen and (max-width: 959px) {
  .c-modal .c-modal__nav::before {
    width: calc(100% - 4.4rem);
  }
}
.c-modal .c-modal__navPrev,
.c-modal .c-modal__navNext {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  padding: 0.7rem 1.6rem;
  border-radius: 4rem;
  background-color: rgba(207, 215, 230, 0.4);
  transition: background-color 0.2s ease-in-out;
  max-width: calc(50% - 0.8rem);
}
@media screen and (max-width: 959px) {
  .c-modal .c-modal__navPrev,
  .c-modal .c-modal__navNext {
    gap: 0.8rem;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    max-width: 100%;
  }
}
@media (any-hover: hover) {
  .c-modal .c-modal__navPrev:hover,
  .c-modal .c-modal__navNext:hover {
    opacity: 1;
  }
  .c-modal .c-modal__navPrev:hover .c-modal__navTitle,
  .c-modal .c-modal__navNext:hover .c-modal__navTitle {
    color: #e60012;
  }
  .c-modal .c-modal__navPrev:hover .c-modal__navArrow,
  .c-modal .c-modal__navNext:hover .c-modal__navArrow {
    background-color: #e60012;
    translate: 0.4rem 0;
  }
}
@media screen and (max-width: 959px) {
  .c-modal .c-modal__navPrev::after {
    content: "";
  }
}
.c-modal .c-modal__navPrev .c-modal__navArrow {
  rotate: 180deg;
}
@media (any-hover: hover) {
  .c-modal .c-modal__navPrev:hover .c-modal__navArrow {
    translate: -0.4rem 0;
  }
}
@media screen and (max-width: 959px) {
  .c-modal .c-modal__navNext::before {
    content: "";
  }
}
@media screen and (max-width: 959px) {
  .c-modal .c-modal__navNext .c-modal__navArrow {
    justify-self: flex-end;
  }
}
.c-modal .c-modal__navArrow {
  mask: url("/assets/img/common/icon_arrow.svg") no-repeat center center/contain;
  width: 1.1rem;
  height: 1rem;
  background-color: #2e3c4d;
  display: block;
  transition: 0.2s background-color ease-in-out, translate 0.2s ease-in-out;
}
.c-modal .c-modal__navTitle {
  font-size: 1.6rem;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.08em;
  color: #2e3c4d;
  transition: 0.2s color ease-in-out;
}

.c-modal2 {
  display: none;
}
.c-modal2.is-open {
  display: block;
}
@media screen and (max-width: 959px) {
  .c-modal2.--lg .c-modal2__container {
    height: 100svh;
  }
}
@media screen and (max-width: 959px) {
  .c-modal2.--lg .c-modal2__content {
    padding: 8rem 2.2rem 10.7rem;
  }
}
@media screen and (max-width: 959px) {
  .c-modal2.--lg .c-modal2__img img, .c-modal2.--lg .c-modal2__img video {
    height: 100%;
    width: auto;
    max-width: initial;
  }
}
.c-modal2 .c-modal2__overlay {
  align-items: center;
  background: rgba(46, 60, 77, 0.6);
  backdrop-filter: blur(0.6rem);
  bottom: 0;
  display: flex;
  justify-content: center;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 100;
}
@media screen and (max-width: 959px) {
  .c-modal2 .c-modal2__overlay {
    padding: 0.8rem;
  }
}
.c-modal2 .c-modal2__container {
  background-color: #fff;
  max-height: 80svh;
  max-width: 90%;
  border-radius: 2.4rem;
  width: 100%;
  position: relative;
}
@media screen and (max-width: 959px) {
  .c-modal2 .c-modal2__container {
    border-radius: 1.6rem;
    max-width: 100%;
    max-height: calc(100svh - 1.6rem);
  }
}
.c-modal2 .c-modal2__content {
  padding: 6.4rem 4rem;
  height: inherit;
  max-height: inherit;
}
@media screen and (max-width: 959px) {
  .c-modal2 .c-modal2__content {
    padding: 8rem 1.2rem;
  }
}
.c-modal2:has(.c-modal2__content + .c-modal2__nav) .c-modal2__content {
  padding-bottom: 4.8rem;
}
@media screen and (max-width: 959px) {
  .c-modal2:has(.c-modal2__content + .c-modal2__nav) .c-modal2__content {
    padding-bottom: 4rem;
  }
}
.c-modal2 .c-modal2__img {
  height: 100%;
  max-height: calc(80svh - 12.8rem);
}
@media screen and (max-width: 959px) {
  .c-modal2 .c-modal2__img {
    max-height: calc(100svh - 18.7rem);
  }
}
.c-modal2 .c-modal2__img img, .c-modal2 .c-modal2__img video {
  width: 100%;
  height: auto;
  object-fit: contain;
}
.c-modal2 .c-modal2__img .simplebar-content {
  height: 100%;
}
.c-modal2 .c-modal2__img .simplebar-vertical {
  width: 0.3rem;
  background-color: #CFD7E6;
  right: -2rem;
}
.c-modal2 .c-modal2__img .simplebar-vertical .simplebar-scrollbar {
  width: 0.3rem;
  right: 0;
  background-color: #2E3C4D;
}
.c-modal2 .c-modal2__img .simplebar-horizontal {
  height: 0.3rem;
  background-color: #CFD7E6;
  bottom: -2rem;
}
.c-modal2 .c-modal2__img .simplebar-horizontal .simplebar-scrollbar {
  height: 0.3rem;
  top: 0;
  background-color: #2E3C4D;
}
.c-modal2 .c-modal2__close {
  width: 4rem;
  height: auto;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: rgba(207, 215, 230, 0.4);
  position: absolute;
  top: 1.6rem;
  right: 1.6rem;
}
@media screen and (max-width: 959px) {
  .c-modal2 .c-modal2__close {
    width: 3.2rem;
    top: 0.6rem;
    right: 0.6rem;
  }
}
.c-modal2 .c-modal2__close::before, .c-modal2 .c-modal2__close::after {
  content: "";
  display: block;
  width: 0.9rem;
  height: 0.2rem;
  background-color: #2e3c4d;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  transition: background-color 0.2s ease-in-out;
}
.c-modal2 .c-modal2__close::before {
  rotate: -45deg;
}
.c-modal2 .c-modal2__close::after {
  rotate: 45deg;
}
.c-modal2 .c-modal2__contentName {
  font-size: 3.2rem;
  line-height: 1.6;
  letter-spacing: 0.08em;
  color: #2e3c4d;
}
@media screen and (max-width: 959px) {
  .c-modal2 .c-modal2__contentName {
    font-size: 2.2rem;
    line-height: 1.3;
    letter-spacing: 0.1em;
  }
}
.c-modal2 .c-modal2__contentPosition {
  margin-top: 0.8rem;
  font-size: 1.4rem;
  line-height: 1;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 959px) {
  .c-modal2 .c-modal2__contentPosition {
    font-size: 1.2rem;
    margin-top: 0.4rem;
  }
}
.c-modal2 .c-modal2__contentText {
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: 0.08em;
  margin-top: 2.4rem;
}
@media screen and (max-width: 959px) {
  .c-modal2 .c-modal2__contentText {
    margin-top: 1.6rem;
    line-height: 1.8;
  }
}
.c-modal2 {
  /* モーダルアニメーション */
}
@keyframes mmfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes mmfadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes mmslideIn {
  from {
    transform: translateY(15%);
  }
  to {
    transform: translateY(0);
  }
}
@keyframes mmslideOut {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-10%);
  }
}
.c-modal2[aria-hidden=false] .c-modal2__overlay {
  animation: mmfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}
.c-modal2[aria-hidden=false] .c-modal2__container {
  animation: mmslideIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}
.c-modal2[aria-hidden=true] .c-modal2__overlay {
  animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}
.c-modal2[aria-hidden=true] .c-modal2__container {
  animation: mmslideOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}
.c-modal2 .c-modal2__container, .c-modal2 .c-modal2__overlay {
  will-change: transform;
}
.c-modal2 .c-modal2__nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.6rem 5.6rem 3.2rem;
  gap: 1.6rem;
  position: relative;
}
@media screen and (max-width: 959px) {
  .c-modal2 .c-modal2__nav {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(30rem, 1fr));
    gap: 0.8rem;
    padding: 1.6rem 2.2rem 8rem;
  }
}
.c-modal2 .c-modal2__nav::before {
  content: "";
  display: block;
  width: calc(100% - 11.2rem);
  height: 0.1rem;
  background-color: #cfd7e6;
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% 0;
}
@media screen and (max-width: 959px) {
  .c-modal2 .c-modal2__nav::before {
    width: calc(100% - 4.4rem);
  }
}
.c-modal2 .c-modal2__navPrev,
.c-modal2 .c-modal2__navNext {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  padding: 0.7rem 1.6rem;
  border-radius: 4rem;
  background-color: rgba(207, 215, 230, 0.4);
  transition: background-color 0.2s ease-in-out;
  max-width: calc(50% - 0.8rem);
}
@media screen and (max-width: 959px) {
  .c-modal2 .c-modal2__navPrev,
  .c-modal2 .c-modal2__navNext {
    gap: 0.8rem;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    max-width: 100%;
  }
}
@media screen and (max-width: 959px) {
  .c-modal2 .c-modal2__navPrev::after {
    content: "";
  }
}
.c-modal2 .c-modal2__navPrev .c-modal2__navArrow {
  rotate: 180deg;
}
@media screen and (max-width: 959px) {
  .c-modal2 .c-modal2__navNext::before {
    content: "";
  }
}
@media screen and (max-width: 959px) {
  .c-modal2 .c-modal2__navNext .c-modal2__navArrow {
    justify-self: flex-end;
  }
}
.c-modal2 .c-modal2__navArrow {
  mask: url("/assets/img/common/icon_arrow.svg") no-repeat center center/contain;
  width: 1.1rem;
  height: 1rem;
  background-color: #2e3c4d;
  display: block;
  transition: 0.2s background-color ease-in-out, translate 0.2s ease-in-out;
  translate: 0 -0.1rem;
}
@media screen and (max-width: 959px) {
  .c-modal2 .c-modal2__navArrow {
    translate: 0 0;
  }
}
.c-modal2 .c-modal2__navTitle {
  font-size: 1.6rem;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.08em;
  color: #2e3c4d;
}

.p-form {
  padding-bottom: 20rem;
}
@media screen and (max-width: 959px) {
  .p-form {
    padding-bottom: 9.6rem;
  }
}
.p-form:not(:has(.p-form__title)) .p-form__note {
  margin-top: 0;
}
.p-form .p-form__title {
  font-size: 3.2rem;
  line-height: 1.4;
  letter-spacing: 0.08em;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W3", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400;
}
@media screen and (max-width: 959px) {
  .p-form .p-form__title {
    font-size: 2.8rem;
  }
}
.p-form .p-form__text {
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: 0.08em;
  margin-top: 4rem;
}
@media screen and (max-width: 959px) {
  .p-form .p-form__text {
    line-height: 1.8;
    margin-top: 3.2rem;
  }
}
.p-form .p-form__text strong {
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
}
.p-form .p-form__text:empty {
  margin: 0;
}
.p-form .p-form__note {
  font-size: 1.2rem;
  line-height: 1;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  color: #e60012;
  margin-top: 6.4rem;
  text-align: right;
}
@media screen and (max-width: 959px) {
  .p-form .p-form__note {
    margin-top: 3.2rem;
  }
}
.p-form .p-form__content {
  margin-top: 2.4rem;
}
.p-form .p-form__privacy {
  margin-top: 2.4rem;
  text-align: center;
}
@media screen and (max-width: 959px) {
  .p-form .p-form__privacy {
    text-align: left;
    margin-top: 3.2rem;
  }
}
.p-form .p-form__privacyLink {
  font-size: 1.6rem;
  line-height: 1.4;
  letter-spacing: 0.1em;
  text-decoration: underline;
  color: #2e3c4d;
}
.p-form {
  /* ========================================================
  # フォームのCSSここから
  ======================================================== */
}
.p-form .container {
  max-width: 100%;
  border: none;
  background-color: #fafbfc;
  padding: 0;
}
.p-form .message-block-error {
  background-color: rgba(230, 0, 18, 0.05);
  border-radius: 1.6rem;
  padding: 2.4rem;
  color: #e60012;
  font-size: 1.6rem;
  line-height: 2;
}
@media screen and (max-width: 630px) {
  .p-form .message-block-error {
    border-radius: 0.8rem;
  }
}
.p-form .message-block-error strong {
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
}
.p-form .message-block-error ul {
  margin-top: 0.8rem;
  padding-left: 2.1rem;
}
@media screen and (max-width: 630px) {
  .p-form .message-block-error ul {
    padding-left: 1.3rem;
  }
}
.p-form .message-block-error ul li {
  margin-bottom: 0.4rem;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 2.1rem;
}
@media screen and (max-width: 630px) {
  .p-form .message-block-error ul li {
    gap: 1.3rem;
  }
}
.p-form .message-block-error ul li::before {
  width: 0.6rem;
  height: 0.6rem;
  border-radius: 50%;
  background-color: #e60012;
  content: "";
  display: block;
  margin-top: 1.5rem;
}
.p-form .message-block-error ul li:last-child {
  margin-bottom: 0;
}
.p-form .message-block-error ul li a {
  color: #e60012;
  text-decoration: underline;
  transition: opacity 0.2s ease-in-out;
}
@media (any-hover: hover) {
  .p-form .message-block-error ul li a:hover {
    opacity: 0.7;
  }
}
.p-form .form-column {
  margin-top: 0;
  padding-top: 3.4rem;
  margin-bottom: 0;
  display: grid;
  grid-template-columns: 16rem 1fr;
  gap: 4.8rem;
  align-items: start;
}
@media screen and (max-width: 630px) {
  .p-form .form-column {
    grid-template-columns: 1fr;
    gap: 1.2rem;
    padding-top: 2rem;
  }
}
.p-form .form-column:has(.mt-invalid) .label {
  color: #e60012;
}
.p-form .label {
  font-size: 1.4rem;
  line-height: 1.4;
  letter-spacing: 0.1em;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  display: flex;
  gap: 0.8rem;
  margin-bottom: 0;
}
.p-form .label:has(.badge-required)::after {
  content: "※";
  font-size: 1.2rem;
  color: #e60012;
  line-height: 1;
}
.p-form .badge-required {
  width: 0;
  height: 0;
  overflow: hidden;
  opacity: 0;
  position: absolute;
}
.p-form input[type=text],
.p-form input[type=email] {
  width: 100%;
  height: 5.6rem;
  background-color: #fff;
  border: 0.1rem solid #cfd7e6;
  border-radius: 0.8rem;
  padding: 0 1.6rem;
  font-size: 1.6rem;
  line-height: 1.4;
  letter-spacing: 0.08em;
  color: #2e3c4d;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W3", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400;
  transition: border-color 0.2s ease-in-out;
  max-width: 100%;
}
@media screen and (max-width: 630px) {
  .p-form input[type=text],
  .p-form input[type=email] {
    height: 4.8rem;
    font-size: 1.6rem;
  }
}
.p-form input[type=text]::placeholder,
.p-form input[type=email]::placeholder {
  color: #b0b8c6;
}
.p-form input[type=text]:focus,
.p-form input[type=email]:focus {
  outline: none;
  border-color: #2e3c4d;
}
.p-form input[type=text]:focus-visible,
.p-form input[type=email]:focus-visible {
  outline: none;
  border-color: #2e3c4d;
}
.p-form textarea {
  width: 100%;
  min-height: 24rem;
  background-color: #fff;
  border: 0.1rem solid #cfd7e6;
  border-radius: 0.8rem;
  padding: 1.6rem;
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.08em;
  color: #2e3c4d;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W3", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400;
  resize: vertical;
  transition: border-color 0.2s ease-in-out;
}
@media screen and (max-width: 630px) {
  .p-form textarea {
    min-height: 20rem;
    font-size: 1.6rem;
    line-height: 1.5;
  }
}
.p-form textarea::placeholder {
  color: #b0b8c6;
}
.p-form textarea:focus {
  outline: none;
  border-color: #2e3c4d;
}
.p-form textarea:focus-visible {
  outline: none;
  border-color: #2e3c4d;
}
.p-form input.mt-invalid,
.p-form textarea.mt-invalid {
  border-color: #e60012;
}
.p-form .button-group {
  text-align: center;
  margin-top: 3.4rem;
}
.p-form .button-submit {
  background-color: #e60012;
  min-width: 24rem;
  min-height: 5.6rem;
  border-radius: 2.7rem;
  padding: 1.2rem 2.2rem;
  display: inline-block;
  text-align: center;
  border: none;
  cursor: pointer;
  transition: 0.2s background-color ease-in-out;
  font-size: 1.6rem;
  line-height: 1.4;
  letter-spacing: 0.08em;
  color: #fff;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  transition: all 0.2s ease-in-out;
  margin-right: 0;
}
@media screen and (max-width: 630px) {
  .p-form .button-submit {
    min-width: 22.4rem;
    min-height: 4.8rem;
    border-radius: 2.3rem;
    padding-left: 2.4rem;
    padding-right: 1.8rem;
    gap: 1rem;
    font-size: 1.4rem;
  }
}
.p-form .button.button-submit .icon.icon-lock {
  display: none;
}
@media (any-hover: hover) {
  .p-form .button-submit:hover {
    opacity: 1;
    background-color: rgba(230, 0, 18, 0.2);
    color: #e60012;
  }
}
.p-form .button-confirm {
  display: none;
}
.p-form .button-confirm.hidden {
  display: none !important;
}
.p-form .help-block {
  display: none;
}
.p-form .form-column-recaptcha.hidden {
  display: none;
}
.p-form fieldset {
  display: contents;
}
.p-form .input-group {
  display: grid;
  gap: 0;
}
.p-form label.option {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.8rem;
  align-items: baseline;
}
.p-form label.option input {
  filter: grayscale(100%);
}
.p-form {
  /* ========================================================
  # フォームのCSSここまで
  ======================================================== */
}

.p-detail {
  padding-top: 4.8rem;
  padding-bottom: 20rem;
  overflow: clip;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 959px) {
  .p-detail {
    padding-top: 1.6rem;
    padding-bottom: 9.6rem;
  }
}
.p-detail .p-detail__header {
  position: relative;
  z-index: 0;
  padding-bottom: 6.4rem;
}
@media screen and (max-width: 959px) {
  .p-detail .p-detail__header {
    padding-bottom: 3.2rem;
  }
}
.p-detail .p-detail__meta {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  margin-bottom: 3.2rem;
  flex-wrap: wrap;
}
@media screen and (max-width: 959px) {
  .p-detail .p-detail__meta {
    gap: 1.2rem;
    margin-bottom: 2.4rem;
  }
}
.p-detail .p-detail__categoryList {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
}
@media screen and (max-width: 959px) {
  .p-detail .p-detail__categoryList {
    gap: 0.4rem;
  }
}
.p-detail .p-detail__categoryItem {
  font-size: 0;
}
.p-detail .p-detail__categoryItem:nth-child(n+2) {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 0.8rem;
}
@media screen and (max-width: 959px) {
  .p-detail .p-detail__categoryItem:nth-child(n+2) {
    gap: 0.5rem;
  }
}
.p-detail .p-detail__categoryItem:nth-child(n+2)::before {
  content: "";
  display: block;
  width: 0.4rem;
  height: 0.4rem;
  background-color: #586371;
  border-radius: 50%;
}
.p-detail .p-detail__category {
  font-size: 1.6rem;
  line-height: 1;
  letter-spacing: 0.1em;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
}
@media screen and (max-width: 959px) {
  .p-detail .p-detail__category {
    font-size: 1.4rem;
  }
}
.p-detail .p-detail__date {
  font-size: 1.4rem;
  line-height: 1;
  letter-spacing: 0.08em;
  color: #2e3c4d;
  font-family: "neue-haas-grotesk-display", sans-serif;
  font-weight: 450;
  padding-left: 1.6rem;
  position: relative;
}
@media screen and (max-width: 959px) {
  .p-detail .p-detail__date {
    padding-left: 1.2rem;
  }
}
.p-detail .p-detail__date::before {
  content: "";
  display: block;
  width: 0.1rem;
  height: 0.8rem;
  background-color: #cfd7e6;
  position: absolute;
  top: 50%;
  left: 0;
  translate: 0 -50%;
}
.p-detail .p-detail__title {
  font-size: 4rem;
  line-height: 1.4;
  letter-spacing: 0.1em;
  color: #2e3c4d;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W3", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400;
  margin-top: 3.2rem;
}
@media screen and (max-width: 959px) {
  .p-detail .p-detail__title {
    font-size: 2.8rem;
    line-height: 1.3;
    margin-top: 2.4rem;
  }
}
.p-detail .p-detail__lead {
  font-size: 2rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  color: #2e3c4d;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W3", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400;
  margin-top: 2.4rem;
}
@media screen and (max-width: 959px) {
  .p-detail .p-detail__lead {
    font-size: 1.8rem;
    letter-spacing: 0.08em;
    line-height: 1.4;
  }
}
.p-detail .p-detail__eyecatch {
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 959px) {
  .p-detail .p-detail__eyecatch {
    border: none;
  }
}
.p-detail .p-detail__eyecatch::before {
  content: "";
  display: block;
  width: 100vw;
  height: 50%;
  top: 0;
  left: 50%;
  translate: -50% 0;
  background-color: #fafbfc;
  position: absolute;
  z-index: -1;
}
.p-detail .p-detail__eyecatch img {
  border-radius: 1.6rem;
  border: 1px solid rgba(207, 215, 230, 0.5);
  width: 100%;
  height: auto;
  display: block;
}
.p-detail .p-detail__content h2 {
  font-size: 3.2rem;
  line-height: 1.4;
  letter-spacing: 0.08em;
  color: #2e3c4d;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W3", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400;
  padding-bottom: 1.5rem;
  border-bottom: 0.1rem solid #cfd7e6;
  margin-top: 8rem;
  margin-bottom: 4rem;
}
@media screen and (max-width: 959px) {
  .p-detail .p-detail__content h2 {
    font-size: 2.4rem;
    margin-top: 4.8rem;
    margin-bottom: 3.2rem;
  }
}
.p-detail .p-detail__content h3 {
  font-size: 2.4rem;
  line-height: 1.4;
  letter-spacing: 0.08em;
  color: #2e3c4d;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  margin-top: 5.6rem;
  margin-bottom: 4rem;
}
@media screen and (max-width: 959px) {
  .p-detail .p-detail__content h3 {
    font-size: 2rem;
    margin-top: 4.8rem;
    margin-bottom: 3.2rem;
  }
}
.p-detail .p-detail__content h4 {
  font-size: 2.2rem;
  line-height: 1.4;
  letter-spacing: 0.08em;
  color: #2e3c4d;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  margin-top: 4.8rem;
  margin-bottom: 4rem;
}
@media screen and (max-width: 959px) {
  .p-detail .p-detail__content h4 {
    font-size: 1.8rem;
    margin-top: 4rem;
    margin-bottom: 3.2rem;
  }
}
.p-detail .p-detail__content h5 {
  font-size: 2rem;
  line-height: 1.4;
  letter-spacing: 0.08em;
  color: #2e3c4d;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  margin-top: 4.8rem;
  margin-bottom: 4rem;
}
@media screen and (max-width: 959px) {
  .p-detail .p-detail__content h5 {
    font-size: 1.7rem;
    margin-top: 4rem;
    margin-bottom: 3.2rem;
  }
}
.p-detail .p-detail__content h6 {
  font-size: 1.8rem;
  line-height: 1.4;
  letter-spacing: 0.08em;
  color: #2e3c4d;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  margin-top: 4.8rem;
  margin-bottom: 4rem;
}
@media screen and (max-width: 959px) {
  .p-detail .p-detail__content h6 {
    font-size: 1.6rem;
    margin-top: 4rem;
    margin-bottom: 3.2rem;
  }
}
.p-detail .p-detail__content b,
.p-detail .p-detail__content strong {
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
}
.p-detail .p-detail__content p {
  font-size: 1.8rem;
  line-height: 2;
  letter-spacing: 0.08em;
  color: #2e3c4d;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W3", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400;
  margin-bottom: 4rem;
}
@media screen and (max-width: 959px) {
  .p-detail .p-detail__content p {
    font-size: 1.6rem;
    line-height: 1.8;
    margin-bottom: 3.2rem;
  }
}
.p-detail .p-detail__content p a {
  text-decoration: underline;
  color: #2e3c4d;
  transition: opacity 0.2s ease-in-out;
}
@media (any-hover: hover) {
  .p-detail .p-detail__content p a:hover {
    opacity: 0.7;
  }
}
.p-detail .p-detail__content p strong {
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
}
.p-detail .p-detail__content p s {
  text-decoration: line-through;
}
.p-detail .p-detail__content img {
  height: auto;
}
.p-detail .p-detail__content figure {
  margin-bottom: 4rem;
}
@media screen and (max-width: 959px) {
  .p-detail .p-detail__content figure {
    margin-bottom: 3.2rem;
  }
}
.p-detail .p-detail__content figure img {
  border-radius: 0.4rem;
  height: auto;
}
.p-detail .p-detail__content figure figcaption {
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0.08em;
  color: #2e3c4d;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W3", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400;
  margin-top: 1.6rem;
}
@media screen and (max-width: 959px) {
  .p-detail .p-detail__content figure figcaption {
    margin-top: 0.8rem;
    line-height: 1.8;
  }
}
.p-detail .p-detail__content blockquote {
  background-color: #fafbfc;
  border-radius: 0.8rem;
  padding: 4rem;
  margin-bottom: 4rem;
}
@media screen and (max-width: 959px) {
  .p-detail .p-detail__content blockquote {
    padding: 1.6rem;
    margin-bottom: 3.2rem;
  }
}
.p-detail .p-detail__content blockquote > *:first-child {
  margin-top: 0;
}
@media screen and (max-width: 959px) {
  .p-detail .p-detail__content blockquote ul,
  .p-detail .p-detail__content blockquote ol {
    margin-top: 1.6rem;
  }
}
.p-detail .p-detail__content ul,
.p-detail .p-detail__content ol {
  margin-bottom: 4rem;
  display: grid;
  gap: 0.8rem;
}
@media screen and (max-width: 959px) {
  .p-detail .p-detail__content ul,
  .p-detail .p-detail__content ol {
    margin-bottom: 3.2rem;
  }
}
.p-detail .p-detail__content ul li,
.p-detail .p-detail__content ol li {
  font-size: 1.8rem;
  line-height: 1.8;
  letter-spacing: 0.08em;
  color: #2e3c4d;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W3", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400;
  position: relative;
  padding-left: 2.4rem;
}
@media screen and (max-width: 959px) {
  .p-detail .p-detail__content ul li,
  .p-detail .p-detail__content ol li {
    line-height: 1.6;
    font-size: 1.6rem;
  }
}
.p-detail .p-detail__content ul,
.p-detail .p-detail__content ol {
  margin-top: 2.4rem;
  margin-bottom: 2.4rem;
}
.p-detail .p-detail__content ul li {
  padding-left: 2.4rem;
  position: relative;
}
@media screen and (max-width: 959px) {
  .p-detail .p-detail__content ul li {
    padding-left: 2rem;
  }
}
.p-detail .p-detail__content ul li::before {
  content: "";
  width: 0.6rem;
  height: auto;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: #2e3c4d;
  position: absolute;
  top: 1.3rem;
  left: 0.9rem;
}
@media screen and (max-width: 959px) {
  .p-detail .p-detail__content ul li::before {
    top: 0.9rem;
    left: 0.7rem;
  }
}
.p-detail .p-detail__content ol {
  counter-reset: num;
}
.p-detail .p-detail__content ol li {
  counter-increment: num;
  position: relative;
  padding-left: 2.4rem;
}
.p-detail .p-detail__content ol li::before {
  content: counter(num) ".";
  position: absolute;
  top: 0.7rem;
  left: 0.6rem;
  font-size: 1.8rem;
  letter-spacing: 0.1em;
  line-height: 1;
  font-weight: 450;
}
@media screen and (max-width: 959px) {
  .p-detail .p-detail__content ol li::before {
    font-size: 1.6rem;
    top: 0.5rem;
    left: 0.5rem;
  }
}
.p-detail .p-detail__content hr {
  margin: 8rem 0;
  border-top: 1px solid #cfd7e6;
}
.p-detail .p-detail__content table {
  max-width: 100%;
  margin: 0 auto 4rem;
  border-color: #cfd7e6;
}
@media screen and (max-width: 959px) {
  .p-detail .p-detail__content table {
    margin: 0 auto 3.2rem;
  }
}
.p-detail .p-detail__content table th {
  background-color: #fafbfc;
  font-size: 1.8rem;
  line-height: 1.4;
  padding: 1.6rem;
  color: #2e3c4d;
  border-color: #cfd7e6;
}
@media screen and (max-width: 959px) {
  .p-detail .p-detail__content table th {
    font-size: 1.6rem;
  }
}
.p-detail .p-detail__content table td {
  line-height: 1.6;
  font-size: 1.4rem;
  padding: 1rem 1.6rem;
  border-color: #cfd7e6;
}
.p-detail .p-detail__content .entry-social-buttons ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  align-items: flex-end;
  gap: 0.8rem;
  margin-top: 4rem;
  margin-bottom: 4rem;
}
@media screen and (max-width: 959px) {
  .p-detail .p-detail__content .entry-social-buttons ul {
    margin-top: 3.2rem;
    margin-bottom: 3.2rem;
  }
}
.p-detail .p-detail__content .entry-social-buttons ul li {
  padding: 0;
}
.p-detail .p-detail__content .entry-social-buttons ul li::before {
  display: none;
}
.p-detail .p-detail__content .mt-figure-left {
  margin-right: 2.4rem;
}
.p-detail .p-detail__content .mt-figure-right {
  margin-left: 2.4rem;
}

.p-breadcrumb {
  padding: 3.2rem 0;
}
@media screen and (max-width: 959px) {
  .p-breadcrumb {
    padding: 1.6rem 0;
  }
}
.p-breadcrumb .p-breadcrumb__inner {
  padding: 0 8rem;
}
@media screen and (max-width: 959px) {
  .p-breadcrumb .p-breadcrumb__inner {
    padding: 0 3rem;
  }
}

.p-footer {
  background-color: #2e3c4d;
  color: #cfd7e6;
  padding: 8rem 0;
}
@media screen and (max-width: 959px) {
  .p-footer {
    padding: 5.6rem 0;
  }
}
.p-footer .p-footer__inner {
  max-width: 160rem;
  margin-inline: auto;
  padding: 0 4.8rem;
}
@media screen and (max-width: 959px) {
  .p-footer .p-footer__inner {
    padding: 0 3rem;
  }
}
.p-footer .p-footer__nav {
  display: flex;
  gap: 6.6rem;
}
@media screen and (max-width: 959px) {
  .p-footer .p-footer__nav {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 4rem 1.2rem;
  }
}
.p-footer .p-footer__navColumn {
  position: relative;
  width: 21.6rem;
}
@media screen and (max-width: 959px) {
  .p-footer .p-footer__navColumn {
    width: 100%;
  }
}
.p-footer .p-footer__navColumn:not(:last-child)::after {
  content: "";
  width: 0.2rem;
  height: 3.2rem;
  background-color: rgba(255, 255, 255, 0.05);
  position: absolute;
  top: 0;
  right: -3.3rem;
}
@media screen and (max-width: 959px) {
  .p-footer .p-footer__navColumn:not(:last-child)::after {
    display: none;
  }
}
@media screen and (max-width: 959px) {
  .p-footer .p-footer__navColumn:has(.p-footer__snsList) {
    grid-column: span 2;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
    gap: 0 1.6rem;
  }
  .p-footer .p-footer__navColumn:has(.p-footer__snsList) .p-footer__navTitle {
    grid-area: 1/1/2/2;
  }
  .p-footer .p-footer__navColumn:has(.p-footer__snsList) .p-footer__navList {
    grid-area: 2/1/3/2;
  }
  .p-footer .p-footer__navColumn:has(.p-footer__snsList) .p-footer__snsList {
    grid-area: 1/2/3/3;
  }
}
.p-footer .p-footer__navTitle {
  font-size: 2rem;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.08em;
  color: #fff;
  display: inline-block;
  transition: 0.2s color ease-in-out;
}
@media screen and (max-width: 959px) {
  .p-footer .p-footer__navTitle {
    font-size: 1.6rem;
  }
}
@media (any-hover: hover) {
  .p-footer .p-footer__navTitle:hover {
    color: #cfd7e6;
  }
}
.p-footer .p-footer__navList {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  margin-top: 3.2rem;
}
@media screen and (max-width: 959px) {
  .p-footer .p-footer__navList {
    gap: 1.2rem;
    margin-top: 1.6rem;
  }
}
.p-footer .p-footer__navItem {
  font-size: 1.4rem;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  line-height: 1.7142857143;
  letter-spacing: 0.08em;
  color: #cfd7e6;
}
@media screen and (max-width: 959px) {
  .p-footer .p-footer__navItem {
    font-size: 1.2rem;
  }
}
.p-footer .p-footer__navLink[target=_blank]::after {
  content: "";
  width: 1.1rem;
  height: 1rem;
  background-color: #cfd7e6;
  mask: url("/assets/img/common/icon_arrow.svg") no-repeat center/contain;
  display: inline-block;
  rotate: -45deg;
  margin-left: 0.8rem;
}
@media screen and (max-width: 959px) {
  .p-footer .p-footer__navLink[target=_blank]::after {
    width: 0.9rem;
    height: 0.8rem;
    margin-left: 0.5rem;
  }
}
.p-footer .p-footer__middle {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 8rem;
}
@media screen and (max-width: 959px) {
  .p-footer .p-footer__middle {
    margin-top: 4.8rem;
    flex-direction: column;
    gap: 4.8rem;
  }
}
.p-footer .p-footer__social {
  display: flex;
  gap: 0.8rem;
}
@media screen and (max-width: 959px) {
  .p-footer .p-footer__social {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(31rem, 1fr));
    gap: 0.8rem;
    width: 100%;
    order: initial;
  }
}
.p-footer .p-footer__socialLink {
  background-color: rgba(255, 255, 255, 0.05);
  border: 0.1rem solid rgba(255, 255, 255, 0.2);
  border-radius: 1.6rem;
  padding: 2.6rem 2.4rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 3rem;
  position: relative;
  transition: 0.2s all ease-in-out;
}
@media screen and (max-width: 959px) {
  .p-footer .p-footer__socialLink {
    width: 100%;
    padding: 1.8rem 2.4rem;
    min-height: 6.4rem;
    justify-content: center;
  }
}
@media (any-hover: hover) {
  .p-footer .p-footer__socialLink:hover {
    opacity: 1;
    background-color: #fff;
  }
  .p-footer .p-footer__socialLink:hover .p-footer__socialText {
    color: #2e3c4d;
  }
  .p-footer .p-footer__socialLink:hover .p-footer__socialIcon {
    background-color: #e60012;
  }
  .p-footer .p-footer__socialLink:hover .p-footer__socialLogo img:last-child {
    opacity: 1;
    visibility: visible;
  }
}
.p-footer .p-footer__socialLink:not(:has(.p-footer__socialText)) {
  padding: 3rem 3.8rem;
}
@media screen and (max-width: 959px) {
  .p-footer .p-footer__socialLink:not(:has(.p-footer__socialText)) {
    padding: 1.8rem 2.4rem;
  }
}
.p-footer .p-footer__socialLogo {
  flex-shrink: 0;
  position: relative;
}
.p-footer .p-footer__socialLogo img {
  width: 100%;
  height: auto;
  object-fit: contain;
  transition: 0.2s all ease-in-out;
}
.p-footer .p-footer__socialLogo img:last-child {
  opacity: 0;
  visibility: hidden;
  position: absolute;
  top: 0;
  left: 0;
}
.p-footer .p-footer__logoArea {
  display: flex;
  flex-wrap: wrap;
  gap: 5.6rem;
  align-items: center;
}
@media screen and (max-width: 959px) {
  .p-footer .p-footer__logoArea {
    justify-content: center;
    gap: 3.2rem;
  }
}
.p-footer .p-footer__snsList {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.6rem;
  margin-top: 3.2rem;
}
@media screen and (max-width: 959px) {
  .p-footer .p-footer__snsList {
    align-items: flex-end;
    justify-content: flex-end;
    margin-top: 0;
  }
}
.p-footer .p-footer__snsLink {
  display: block;
}
@media (any-hover: hover) {
  .p-footer .p-footer__snsLink:hover {
    opacity: 1;
  }
}
.p-footer .p-footer__socialText {
  font-size: 1.4rem;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.08em;
  color: #fff;
  transition: 0.2s color ease-in-out;
}
.p-footer .p-footer__socialIcon {
  width: 1.1rem;
  height: 1rem;
  background-color: #fff;
  mask: url("/assets/img/common/icon_arrow.svg") no-repeat center/contain;
  display: block;
  flex-shrink: 0;
  position: absolute;
  bottom: 0.8rem;
  right: 0.8rem;
  rotate: -45deg;
  transition: 0.2s all ease-in-out;
}
.p-footer .p-footer__logo img {
  width: 26.9rem;
  height: auto;
  object-fit: contain;
}
@media screen and (max-width: 959px) {
  .p-footer .p-footer__logo img {
    width: 22.5rem;
  }
}
@media (any-hover: hover) {
  .p-footer .p-footer__logo:hover {
    opacity: 1;
  }
}
.p-footer .p-footer__bottom {
  padding-top: 3.2rem;
  margin-top: 5.6rem;
  border-top: 0.1rem solid rgba(255, 255, 255, 0.2);
}
@media screen and (max-width: 959px) {
  .p-footer .p-footer__bottom {
    padding-top: 1.6rem;
    margin-top: 4.8rem;
  }
}
.p-footer .p-footer__bottomInner {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 959px) {
  .p-footer .p-footer__bottomInner {
    flex-direction: column;
    gap: 2.4rem;
    align-items: center;
  }
}
.p-footer .p-footer__copyright {
  font-size: 1.4rem;
  line-height: 1;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 959px) {
  .p-footer .p-footer__copyright {
    font-size: 1rem;
    letter-spacing: 0.08em;
    order: 2;
  }
}
.p-footer .p-footer__bottomLinks {
  display: flex;
  align-items: center;
  gap: 4rem;
}
@media screen and (max-width: 959px) {
  .p-footer .p-footer__bottomLinks {
    flex-direction: column;
    gap: 0.8rem;
  }
}
.p-footer .p-footer__bottomItem {
  position: relative;
  font-size: 1.4rem;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 959px) {
  .p-footer .p-footer__bottomItem {
    font-size: 1.2rem;
    line-height: 2;
  }
}
.p-footer .p-footer__bottomItem:not(:first-child)::before {
  content: "";
  width: 0.1rem;
  height: 0.8rem;
  background-color: #cfd7e6;
  position: absolute;
  top: calc(50% - 0.1rem);
  left: -2rem;
  transform: translateY(-50%);
}
@media screen and (max-width: 959px) {
  .p-footer .p-footer__bottomItem:not(:first-child)::before {
    display: none;
  }
}

.p-ir {
  flex: 1;
  background-color: #fafbfc;
  padding-bottom: 6.4rem;
}
.p-ir img {
  display: inline;
}
.p-ir select {
  line-height: 1;
}
.p-ir .section {
  max-width: 160rem;
  width: 100%;
  margin: 0 auto;
  padding: 4vw;
}
@media only screen and (max-width: 959px) {
  .p-ir .section {
    padding: 6vw;
  }
}
@media only screen and (max-width: 480px) {
  .p-ir .section {
    padding: 8vw;
  }
}
.p-ir .grid {
  display: flex;
}
.p-ir .grid-col {
  flex: 1;
}
.p-ir .grid-col2 {
  flex: 2;
}
@media only screen and (max-width: 959px) {
  .p-ir .grid.sp-column-reverse {
    flex-direction: column-reverse;
  }
}
.p-ir .contents-lead p {
  font-size: 1.8rem;
  line-height: 3.6rem;
  letter-spacing: 0.1rem;
  text-align: justify;
  margin-bottom: 4.8rem;
}
@media only screen and (max-width: 480px) {
  .p-ir .contents-lead p {
    font-size: 1.6rem;
    line-height: 3rem;
    margin-bottom: 3.2rem;
    letter-spacing: 0.05rem;
  }
}
.p-ir .ir-header {
  max-width: 160rem;
  width: 100%;
  margin: 0 auto;
  padding: 0 4vw;
}
@media only screen and (max-width: 959px) {
  .p-ir .ir-header {
    padding: 0 6vw;
  }
}
@media only screen and (max-width: 480px) {
  .p-ir .ir-header {
    padding: 0 8vw;
  }
}
.p-ir .ir-header-img {
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  width: 100%;
  height: 35vh;
  padding: 0;
  background-image: url("/assets/img/ir/ir.jpg");
  background-size: cover;
  background-position: center;
}
.p-ir .ir-header-img-wrap {
  max-width: 160rem;
  width: 100%;
  margin: 0 auto;
  padding: 0 4vw;
}
@media only screen and (max-width: 959px) {
  .p-ir .ir-header-img-wrap {
    padding: 0 6vw;
  }
}
@media only screen and (max-width: 480px) {
  .p-ir .ir-header-img-wrap {
    padding: 0 8vw;
  }
}
.p-ir .ir-header-img-title {
  color: #fff;
  font-size: 2.4rem;
  font-weight: 400;
  margin: 0;
  padding: 16rem 0 2.4rem;
}
@media only screen and (max-width: 480px) {
  .p-ir .ir-header-img {
    height: 25vh;
    min-height: 24rem;
    align-items: flex-end;
  }
}
@media only screen and (max-width: 959px) {
  .p-ir .ir-header-img {
    background-position: 38% 0;
  }
}
.p-ir .ir-title-main {
  color: #94a0b0;
  font-size: 2.4rem;
  font-weight: 400;
  margin: 0;
  padding: 8rem 0 0;
}
@media only screen and (max-width: 959px) {
  .p-ir .ir-title-main {
    font-size: 2rem;
  }
}
.p-ir .ir-title {
  font-size: 3.2rem;
  font-weight: 400;
  margin: 0 0 4rem;
}
@media only screen and (max-width: 959px) {
  .p-ir .ir-title {
    font-size: 2.4rem;
  }
}
.p-ir .ir-title-sub {
  font-size: 2rem;
  font-family: "neue-haas-grotesk-display", "Koburina Gothic W6 JIS2004", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  margin: 4.8rem 0 2.4rem;
}
@media only screen and (max-width: 959px) {
  .p-ir .ir-title-sub {
    font-size: 1.8rem;
  }
}
.p-ir .ir-menu {
  list-style: none;
  letter-spacing: 0.0375em;
  padding-right: 8%;
  margin-top: 0.8rem;
}
@media only screen and (max-width: 959px) {
  .p-ir .ir-menu {
    padding-right: 0;
    border-top: 1px solid rgba(207, 215, 230, 0.4);
    margin-top: 8rem;
    padding-top: 6.4rem;
  }
}
@media only screen and (max-width: 480px) {
  .p-ir .ir-menu {
    padding-right: 0;
    font-size: 1.5rem;
  }
}
.p-ir .ir-menu li {
  margin-bottom: 1.2rem;
  font-family: "neue-haas-grotesk-display", "Koburina Gothic W6 JIS2004", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
}
@media only screen and (max-width: 959px) {
  .p-ir .ir-menu li {
    margin-bottom: 1.6rem;
  }
}
.p-ir .ir-menu-active {
  color: #8f9cb3;
}
.p-ir .ir-menu-sticky {
  position: -webkit-sticky;
  position: sticky;
  top: 10rem;
}
@media only screen and (max-width: 959px) {
  .p-ir .ir-menu-sticky {
    position: relative;
    top: 0;
  }
}
.p-ir .ir-contents {
  padding-right: 8%;
}
@media only screen and (max-width: 959px) {
  .p-ir .ir-contents {
    padding-right: 0;
  }
}
.p-ir .ir-message-sign-corp {
  text-align: right;
  font-size: 1.4rem;
  font-family: "neue-haas-grotesk-display", "Koburina Gothic W6 JIS2004", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  margin-bottom: 0.8rem;
}
.p-ir .ir-message-sign {
  text-align: right;
  font-size: 1.6rem;
  line-height: 3rem;
  margin-bottom: 2.4rem;
}
.p-ir .ir-message-sign-small {
  font-size: 1.4rem;
  margin-right: 1.6rem;
}
.p-ir .ir-message-notice {
  font-size: 1.2rem;
  text-align: right;
}
@media only screen and (max-width: 480px) {
  .p-ir .ir-message-notice {
    text-align: left;
  }
}
.p-ir .ir-submenu {
  border-top: 1px solid rgba(207, 215, 230, 0.4);
  margin-top: 9.6rem;
  padding-top: 4rem;
  width: 66.6%;
}
@media only screen and (max-width: 959px) {
  .p-ir .ir-submenu {
    margin-top: 6.4rem;
    width: 100%;
  }
}
.p-ir .ir-submenu-wrap {
  display: flex;
  justify-content: flex-end;
}
.p-ir .ir-submenu ul {
  list-style: none;
  width: 100%;
}
.p-ir .ir-submenu li {
  width: 33%;
  display: inline-flex;
  margin-bottom: 2.4rem;
}
@media only screen and (max-width: 959px) {
  .p-ir .ir-submenu li {
    font-size: 1.4rem;
    width: 46%;
  }
}
@media only screen and (max-width: 959px) {
  .p-ir .ir-submenu li:nth-child(odd) {
    width: 48%;
    margin-right: 4%;
  }
}
@media only screen and (max-width: 480px) {
  .p-ir .ir-calendar {
    overflow: scroll;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    margin-bottom: 3.2rem;
    background: linear-gradient(to left, rgba(255, 255, 255, 0), rgba(0, 0, 0, 0.05)) 0 0/2rem 100%, linear-gradient(to right, rgba(255, 255, 255, 0), rgba(0, 0, 0, 0.05)) right/2rem 100%;
    background-repeat: no-repeat;
    background-attachment: scroll;
    height: 21.6rem;
  }
}
.p-ir .ir-calendar-img {
  width: 100%;
  padding: 3.2rem 0 3.2rem;
}
@media only screen and (max-width: 480px) {
  .p-ir .ir-calendar-img {
    min-width: 80rem;
    background: linear-gradient(to left, rgba(255, 255, 255, 0), #fafbfc 1.5rem) 0 0/5rem 100%, linear-gradient(to right, rgba(255, 255, 255, 0), #fafbfc 1.5rem) right/5rem 100%;
    background-repeat: no-repeat;
    background-attachment: local;
  }
}
@media only screen and (max-width: 480px) {
  .p-ir .ir-governance-img-wrap {
    overflow: scroll;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    margin-bottom: 3.2rem;
    background: linear-gradient(to left, rgba(255, 255, 255, 0), rgba(0, 0, 0, 0.05)) 0 0/2rem 100%, linear-gradient(to right, rgba(255, 255, 255, 0), rgba(0, 0, 0, 0.05)) right/2rem 100%;
    background-repeat: no-repeat;
    background-attachment: scroll;
    height: 34rem;
  }
}
.p-ir .ir-governance-img {
  width: 100%;
  padding: 0 0 3.2rem;
}
@media only screen and (max-width: 480px) {
  .p-ir .ir-governance-img {
    min-width: 48rem;
    background: linear-gradient(to left, rgba(255, 255, 255, 0), #fafbfc 1.5rem) 0 0/5rem 100%, linear-gradient(to right, rgba(255, 255, 255, 0), #fafbfc 1.5rem) right/5rem 100%;
    background-repeat: no-repeat;
    background-attachment: local;
  }
}
.p-ir .irNavi {
  width: 100%;
  display: flex;
  margin-bottom: 3rem;
}
.p-ir .irNavi a {
  border: 1px solid rgba(207, 215, 230, 0.4);
  font-size: 1.4rem;
  border-right: none;
  padding: 1.6rem 1rem;
  text-align: center;
}
.p-ir .irNavi a:last-child {
  border-right: 1px solid rgba(207, 215, 230, 0.4);
}
.p-ir .irNavi .irNavi_current {
  border-top: 0.2rem solid #2e3c4d;
}
@media only screen and (max-width: 959px) {
  .p-ir .irNavi {
    flex-wrap: wrap;
  }
  .p-ir .irNavi a {
    width: 50%;
    border: 1px solid rgba(207, 215, 230, 0.4);
  }
  .p-ir .irNavi a:nth-child(5),
  .p-ir .irNavi a:nth-child(6) {
    border-bottom: 1px solid rgba(207, 215, 230, 0.4);
  }
  .p-ir .irNavi a:nth-child(odd) {
    border-right: none;
  }
}
.p-ir .ir-blank {
  padding: 2.4rem;
  background-color: #f2f4f7;
  font-size: 1.4rem;
  text-align: center;
}
.p-ir .table {
  margin: 0;
  padding: 0;
  display: flex;
  letter-spacing: 0.06rem;
}
.p-ir .table-wrap {
  border-top: 1px solid rgba(207, 215, 230, 0.4);
  margin: 0 0 4rem;
}
.p-ir .table.border {
  border-bottom: 1px solid rgba(207, 215, 230, 0.4);
}
.p-ir .table-dt {
  margin: 0;
  padding: 1.6rem 1.6rem 1.6rem 0;
  width: 30%;
}
.p-ir .table-dd {
  margin: 0;
  padding: 1.6rem 0;
  width: 70%;
}
@media only screen and (max-width: 959px) {
  .p-ir .table {
    flex-direction: column;
  }
  .p-ir .table-dt {
    width: 100%;
    padding: 1.6rem 1.6rem 0 0;
    font-family: "neue-haas-grotesk-display", "Koburina Gothic W6 JIS2004", "Yu Gothic", YuGothic, sans-serif;
    font-weight: 600;
  }
  .p-ir .table-dd {
    width: 100%;
    padding: 0.8rem 0 1.6rem;
  }
}
.p-ir .list {
  margin: 0;
  padding: 0;
  list-style-type: none;
  letter-spacing: 0.15rem;
  border-top: 1px solid rgba(207, 215, 230, 0.4);
}
.p-ir .list-item {
  margin: 0;
  padding: 0;
  border-bottom: 1px solid rgba(207, 215, 230, 0.4);
}
.p-ir .list-item a {
  font-size: 1.8rem;
  font-weight: 400;
  padding: 2rem 1.6rem 2rem 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition-duration: 0.25s;
}
.p-ir .list-item a:hover {
  padding-right: 0;
}
.p-ir .toggle-list {
  margin: 0 0 4.8rem 0;
  padding: 0;
  list-style-type: none;
}
.p-ir .toggle-list-section-title {
  font-size: 1.8rem;
  font-weight: 600;
  font-family: "neue-haas-grotesk-display", "Koburina Gothic W6 JIS2004", "Yu Gothic", YuGothic, sans-serif;
  margin: 0 0 3.2rem 0;
  color: #94a0b0;
}
.p-ir .toggle-list-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.6rem 2.4rem;
  cursor: pointer;
  font-size: 1.8rem;
  border-bottom: 0.8rem solid #fafbfc;
  background-color: #fff;
}
.p-ir .toggle-list-title-name {
  display: block;
  font-size: 1.8rem;
  font-family: "neue-haas-grotesk-display", "Koburina Gothic W6 JIS2004", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
}
.p-ir .toggle-list-title-job {
  display: block;
  font-size: 1.4rem;
  margin-top: 4px;
  font-weight: 400;
  font-family: "neue-haas-grotesk-display", "Koburina Gothic W3 JIS2004", "Yu Gothic", YuGothic, sans-serif;
}
@media only screen and (max-width: 480px) {
  .p-ir .toggle-list-title-name {
    font-size: 1.6rem;
    line-height: 2rem;
  }
}
.p-ir .toggle-list-title.active .toggle-list-arrow {
  transform: rotate(0deg);
}
.p-ir .toggle-list-contents {
  display: none;
  background-color: #fafbfc;
  overflow: hidden;
  transition: height 0.3s ease-in-out, opacity 0.3s ease-in-out;
}
.p-ir .toggle-list-contents-text {
  padding: 1.6rem 2.4rem 2.4rem;
}
@media only screen and (max-width: 480px) {
  .p-ir .toggle-list-contents-text {
    font-size: 1.4rem;
    line-height: 3rem;
    text-align: justify;
  }
}
.p-ir .toggle-list-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.2rem;
  height: 3.2rem;
  border-radius: 50%;
  transform: rotate(-90deg);
  transition-duration: 0.25s;
}
.p-ir .headtitle {
  font-size: 2.4rem;
  font-weight: 400;
  margin: 4rem 0 1.6rem;
}
@media only screen and (max-width: 480px) {
  .p-ir .headtitle {
    font-size: 1.8rem;
  }
}
.p-ir .icon-arrow,
.p-ir .icon-arrow-left,
.p-ir .icon-arrow-right {
  display: block;
  width: 1.2rem;
  height: 1.2rem;
  border: 1px solid rgba(0, 0, 0, 0);
  border-right: 1px solid #2e3c4d;
  border-bottom: 1px solid #2e3c4d;
  transform: rotate(315deg) translate(-0.2rem, -0.2rem);
}
.p-ir .icon-blank {
  display: inline;
  width: 1.2rem;
  margin-left: 0.4rem;
}
.p-ir .txt-link {
  text-decoration: underline;
}
.p-ir .txt-xsmall {
  font-size: 1.2rem !important;
}
.p-ir .txt-gray {
  color: #94a0b0;
}
.p-ir .brpc {
  display: none;
}
@media only screen and (max-width: 480px) {
  .p-ir .brpc {
    display: block;
  }
}
.p-ir .policy-lead {
  font-size: 1.6rem;
  line-height: 3rem;
  letter-spacing: 0.1rem;
  margin-bottom: 3.2rem;
}
@media only screen and (max-width: 480px) {
  .p-ir .policy-lead {
    font-size: 1.4rem;
    line-height: 3rem;
  }
}
.p-ir .lead {
  line-height: 2;
  letter-spacing: 0.1rem;
}
.p-ir .ir-contact {
  margin-bottom: 2.4rem;
}
.p-ir .ir-contact p {
  font-size: 1.6rem;
  line-height: 3rem;
  letter-spacing: 0.1rem;
  text-align: justify;
  margin-bottom: 2.4rem;
}
.p-ir .ir-contact ul {
  margin-bottom: 2.4rem;
}
.p-ir .ir-contact-notice {
  text-align: justify;
  background-color: #f2f4f7;
  padding: 3.2rem;
  margin-bottom: 2.4rem;
}
.p-ir .ir-contact-notice-title {
  font-size: 1.6rem;
  font-family: "neue-haas-grotesk-display", "Koburina Gothic W6 JIS2004", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  margin: 0 0 1.6rem;
}
.p-ir .ir-contact-notice ul {
  font-size: 1.4rem;
  line-height: 2rem;
  padding: 0 0 0 2.4rem;
  list-style-type: disc;
}
.p-ir .ir-contact-notice ul ul {
  list-style-type: circle;
}
@media only screen and (max-width: 480px) {
  .p-ir .ir-contact-notice ul {
    padding: 0 0 0 1.6rem;
  }
}
.p-ir .ir-contact-notice ul li {
  margin-bottom: 0.8rem;
}
.p-ir .ir-contact-open {
  display: flex;
  width: 100%;
  justify-content: center;
  align-items: center;
  padding: 2.4rem;
  margin-top: 4.8rem;
  margin-bottom: 4.8rem;
  background-color: #fff;
}
.p-ir .ir-contact-link {
  padding-left: 3.2rem;
}
@media only screen and (max-width: 480px) {
  .p-ir .ir-contact-link {
    padding: 3.2rem 0 0 0;
    display: block;
  }
}

.p-error {
  padding-bottom: 20rem;
}
@media screen and (max-width: 959px) {
  .p-error {
    padding-bottom: 9.6rem;
  }
}
.p-error .p-error__head {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1.6rem;
  align-items: center;
}
@media screen and (max-width: 959px) {
  .p-error .p-error__head {
    gap: 0.7rem;
  }
}
.p-error .p-error__icon {
  width: 3.2rem;
  height: auto;
  aspect-ratio: 1;
  object-fit: contain;
}
@media screen and (max-width: 959px) {
  .p-error .p-error__icon {
    width: 2.4rem;
    translate: 0 -0.2rem;
  }
}
.p-error .p-error__title {
  font-size: 3.2rem;
  line-height: 1.4;
  color: #2e3c4d;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W3", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400;
}
@media screen and (max-width: 959px) {
  .p-error .p-error__title {
    font-size: 2.2rem;
  }
}
.p-error .p-error__text {
  font-size: 1.6rem;
  margin-top: 4rem;
  line-height: 2;
}
@media screen and (max-width: 959px) {
  .p-error .p-error__text {
    line-height: 1.8;
    letter-spacing: 0.08em;
    margin-top: 3.2rem;
  }
}
.p-error .p-error__enText {
  font-size: 1.6rem;
  margin-top: 4rem;
  font-weight: 450;
  line-height: 2;
}
@media screen and (max-width: 959px) {
  .p-error .p-error__enText {
    line-height: 1.8;
    letter-spacing: 0.08em;
    margin-top: 3.2rem;
  }
}
.p-error .p-error__btn {
  margin-top: 6.4rem;
}
@media screen and (max-width: 959px) {
  .p-error .p-error__btn {
    text-align: center;
    margin-top: 5.6rem;
  }
}

.p-mv {
  background-color: #fff;
  padding-bottom: 10.9rem;
  position: relative;
}
@media screen and (max-width: 959px) {
  .p-mv {
    padding-bottom: 9.6rem;
  }
}
.p-mv::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 10.9rem;
  background: linear-gradient(180deg, #ffffff 0%, #fafbfc 100%);
}
@media screen and (max-width: 959px) {
  .p-mv::before {
    height: 9.6rem;
  }
}
.p-mv .p-mv__inner {
  display: grid;
  grid-template-columns: 672fr 720fr;
  gap: 5rem;
}
@media (max-width: 1440px) {
  .p-mv .p-mv__inner {
    grid-template-columns: 700fr 720fr;
    gap: 1.5277777778%;
  }
}
@media screen and (max-width: 959px) {
  .p-mv .p-mv__inner {
    grid-template-columns: 1fr;
    padding: 4.8rem 0.8rem 0;
    gap: 0;
  }
}
.p-mv .p-mv__body {
  padding-left: 7.2rem;
  padding-top: 16.3rem;
  max-width: 72rem;
  width: 100%;
  margin-left: auto;
}
@media screen and (max-width: 959px) {
  .p-mv .p-mv__body {
    padding: 0 1.7rem;
    max-width: 100%;
  }
}
.p-mv .p-mv__bodyLabel {
  font-size: 1.6rem;
  line-height: 1;
  letter-spacing: 0.1em;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  color: #e60012;
  padding-left: 1rem;
}
@media screen and (max-width: 959px) {
  .p-mv .p-mv__bodyLabel {
    font-size: 1.4rem;
    line-height: 1;
    font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
    font-weight: 600;
    letter-spacing: 0.1em;
    padding-left: 0.5rem;
  }
}
.p-mv .p-mv__bodyTitle {
  font-size: 7.2rem;
  font-size: clamp(1.6rem, 5vw, 7.2rem);
  line-height: 1.3;
  letter-spacing: 0.1em;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W3", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400;
  margin-top: 1.7rem;
}
@media screen and (max-width: 959px) {
  .p-mv .p-mv__bodyTitle {
    margin-top: 1.2rem;
    font-size: 4rem;
  }
}
.p-mv .p-mv__bodyDescription {
  font-size: 1.8rem;
  line-height: 2;
  letter-spacing: 0.08em;
  margin-top: 3.2rem;
  padding-left: 0.7rem;
}
@media screen and (max-width: 959px) {
  .p-mv .p-mv__bodyDescription {
    font-size: 1.6rem;
    line-height: 1.8;
    margin-top: 2.4rem;
    padding-left: 0.3rem;
  }
}
.p-mv .p-mv__bodyBtnWrap {
  margin-top: 12rem;
}
@media screen and (max-width: 959px) {
  .p-mv .p-mv__bodyBtnWrap {
    display: none;
  }
}
.p-mv .p-mv__bodyBtn {
  font-size: 1.4rem;
  display: inline-grid;
  line-height: 1;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  letter-spacing: 0.1em;
  background-color: rgba(207, 215, 230, 0.4);
  padding: 1.2rem 1.6rem;
  border-radius: 4rem;
  gap: 1.1rem;
  align-items: center;
  grid-template-columns: auto 1fr;
  transition: 0.2s all ease-in-out;
}
.p-mv .p-mv__bodyBtn::before {
  content: "";
  display: block;
  width: 1.1rem;
  height: 1rem;
  mask: url("/assets/img/common/icon_arrow.svg") no-repeat center center/contain;
  background-color: #2e3c4d;
  rotate: 90deg;
  transition: 0.2s background-color ease-in-out, translate 0.2s ease-in-out;
}
@media (any-hover: hover) {
  .p-mv .p-mv__bodyBtn:hover {
    background-color: rgba(207, 215, 230, 0.25);
    color: #e60012;
    opacity: 1;
  }
  .p-mv .p-mv__bodyBtn:hover::before {
    background-color: #e60012;
    translate: 0 0.2rem;
  }
}
.p-mv .p-mv__news {
  padding: 4.7rem 8.8888888889%;
  border-radius: 2.4rem 0 0 2.4rem;
  overflow: hidden;
  z-index: 0;
  position: relative;
}
@media screen and (max-width: 959px) {
  .p-mv .p-mv__news {
    margin-top: 4rem;
    border-radius: 1.6rem;
    padding: 4.8rem 0 4.8rem 2.2rem;
  }
}
.p-mv .p-mv__colorList {
  position: absolute;
  width: 0;
  height: 0;
  font-size: 0;
  opacity: 0;
  visibility: hidden;
}
.p-mv .p-mv__canvasWrap {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  background-color: #fff;
}
.p-mv .p-mv__canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background-color: #fff;
}
.p-mv .p-mv__newsLabel {
  font-size: 1.6rem;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  color: #e60012;
  line-height: 1;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  .p-mv .p-mv__newsLabel {
    font-size: 1.4rem;
  }
}
.p-mv .p-mv__newsSlider {
  margin-top: 4rem;
  max-width: 65.6rem;
  visibility: visible;
}
@media screen and (max-width: 959px) {
  .p-mv .p-mv__newsSlider {
    max-width: none;
  }
}
.p-mv .p-mv__newsSlider .splide__track {
  padding-right: 0.4rem;
}
@media screen and (max-width: 959px) {
  .p-mv .p-mv__newsSlider .splide__track {
    overflow: hidden;
    padding-right: 0;
  }
}
.p-mv .p-mv__newsList {
  display: grid;
  gap: 3.2rem;
}
@media screen and (max-width: 959px) {
  .p-mv .p-mv__newsSlider.splide.is-initialized .p-mv__newsList {
    display: flex;
    gap: 0;
  }
  .p-mv .p-mv__newsSlider.splide.is-initialized .p-mv__newsItem {
    flex-shrink: 0;
    width: 100%;
  }
  .p-mv .p-mv__newsSlider.splide.is-initialized .p-mv__newsLink {
    grid-template-columns: 1fr;
    gap: 1.6rem;
  }
}
.p-mv .p-mv__newsItem {
  width: 100%;
}
.p-mv .p-mv__newsPagination {
  display: none;
}
@media screen and (max-width: 959px) {
  .p-mv .p-mv__newsPagination {
    display: flex;
    justify-content: center;
    gap: 0.8rem;
    margin-top: 3.4rem;
    position: static;
    flex-wrap: nowrap;
    padding-left: 0;
    padding-right: 2.2rem;
  }
}
.p-mv .p-mv__newsPagination li {
  width: 100%;
  font-size: 0;
}
.p-mv .p-mv__newsPagination .splide__pagination__page {
  width: 100%;
  height: 0.3rem;
  border-radius: 0.2rem;
  background-color: #cfd7e6;
  border: none;
  cursor: pointer;
  transition: 0.2s all ease-in-out;
  padding: 0;
  margin: 0;
}
.p-mv .p-mv__newsPagination .splide__pagination__page.is-active {
  background-color: #e60012;
  transform: scale(1);
}
.p-mv .p-mv__newsLink {
  display: grid;
  grid-template-columns: 240fr 312fr;
  gap: 2.4rem;
  align-items: center;
}
@media (any-hover: hover) {
  .p-mv .p-mv__newsLink:hover {
    opacity: 1;
  }
  .p-mv .p-mv__newsLink:hover .p-mv__newsTitle {
    color: #e60012;
  }
  .p-mv .p-mv__newsLink:hover .p-mv__newsArrow {
    background-color: #e60012;
    translate: 0.4rem 0;
  }
}
.p-mv .p-mv__newsImg img {
  width: 100%;
  height: auto;
  aspect-ratio: 1.91/1;
  border-radius: 0.8rem;
  border: 1px solid rgba(207, 215, 230, 0.5);
  object-fit: cover;
}
.p-mv .p-mv__newsTitle {
  font-size: 1.6rem;
  line-height: 1.4;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  letter-spacing: 0.08em;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  transition: color 0.2s ease-in-out;
}
.p-mv .p-mv__newsMeta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 1.6rem;
}
.p-mv .p-mv__newsDate {
  font-size: 1.2rem;
  line-height: 1;
  font-weight: 500;
  letter-spacing: 0.08em;
}
.p-mv .p-mv__newsArrow {
  width: 1.1rem;
  height: 1rem;
  mask: url("/assets/img/common/icon_arrow.svg") no-repeat center center/contain;
  background-color: #2e3c4d;
  transition: 0.2s background-color ease-in-out, translate 0.2s ease-in-out;
  display: block;
  flex-shrink: 0;
}

.p-block .p-block__inner {
  max-width: 160rem;
  margin-inline: auto;
  padding: 0 2.4rem;
  position: relative;
}
@media screen and (max-width: 959px) {
  .p-block .p-block__inner {
    padding: 0 0.8rem;
  }
}
.p-block .p-block__inner::before {
  content: "";
  display: block;
  position: absolute;
  inset: 0 2.4rem;
  background-color: #fff;
  border-radius: 2.4rem;
}
@media screen and (max-width: 959px) {
  .p-block .p-block__inner::before {
    inset: 0 0.8rem;
    border-radius: 1.6rem;
  }
}
.p-block .p-block__content {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 5.6rem;
}
@media screen and (max-width: 959px) {
  .p-block .p-block__content {
    flex-direction: column-reverse;
    padding: 2.2rem 2.2rem 4rem;
    gap: 2.4rem;
  }
}
.p-block .p-block__body {
  position: relative;
  z-index: 1;
  width: 58.5365853659%;
}
@media screen and (max-width: 959px) {
  .p-block .p-block__body {
    width: 100%;
  }
}
.p-block .p-block__text {
  font-size: 1.8rem;
  line-height: 2;
  letter-spacing: 0.08em;
  margin-top: 2.4rem;
}
@media screen and (max-width: 959px) {
  .p-block .p-block__text {
    line-height: 1.8;
    font-size: 1.6rem;
    margin-top: 1.6rem;
  }
}
.p-block .p-block__btn {
  margin-top: 2.4rem;
}
.p-block .p-block__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.8rem 2rem;
  margin-top: 2.4rem;
}
@media screen and (max-width: 959px) {
  .p-block .p-block__list {
    grid-template-columns: repeat(auto-fill, minmax(29rem, 1fr));
    margin-top: 3.2rem;
    gap: 0;
  }
}
.p-block .p-block__item a {
  height: 100%;
}
.p-block .p-block__img {
  border: 0.1rem solid rgba(207, 215, 230, 0.4);
  border-radius: 1.6rem;
  overflow: clip;
  position: relative;
  width: 34.1463414634%;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 959px) {
  .p-block .p-block__img {
    width: 100%;
    aspect-ratio: 315/210;
    min-height: 100%;
    border-radius: 0.8rem;
  }
}
.p-block .p-block__img img {
  width: 100%;
  height: auto;
  object-fit: cover;
  max-width: initial;
  flex-shrink: 0;
  aspect-ratio: 448/436;
}

.p-block2 .p-block2__inner {
  max-width: 160rem;
  margin-inline: auto;
  padding: 0 2.4rem;
  position: relative;
}
@media screen and (max-width: 959px) {
  .p-block2 .p-block2__inner {
    padding: 0 0.8rem;
  }
}
.p-block2 .p-block2__inner::before {
  content: "";
  display: block;
  position: absolute;
  inset: 0 2.4rem;
  background-color: #fff;
  border-radius: 2.4rem;
}
@media screen and (max-width: 959px) {
  .p-block2 .p-block2__inner::before {
    inset: 0 0.8rem;
    border-radius: 1.6rem;
  }
}
.p-block2 .p-block2__content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 5.6rem;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 959px) {
  .p-block2 .p-block2__content {
    flex-direction: column;
    padding: 4rem 2.2rem;
  }
}
.p-block2 .p-block2__body {
  position: relative;
  z-index: 1;
  width: 50%;
}
@media screen and (max-width: 959px) {
  .p-block2 .p-block2__body {
    width: 100%;
  }
}
.p-block2 .p-block2__text {
  font-size: 1.8rem;
  line-height: 2;
  letter-spacing: 0.08em;
  margin-top: 2.4rem;
}
@media screen and (max-width: 959px) {
  .p-block2 .p-block2__text {
    font-size: 1.6rem;
    line-height: 1.8;
    margin-top: 1.6rem;
  }
}
.p-block2 .p-block2__btn {
  margin-top: 2.4rem;
}
.p-block2 .p-block2__list {
  width: 50%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.8rem 2.1rem;
}
@media screen and (max-width: 959px) {
  .p-block2 .p-block2__list {
    width: 100%;
    grid-template-columns: 1fr;
    gap: 1.6rem;
    margin-top: 3.2rem;
    gap: 0;
  }
}
.p-progress {
  position: relative;
  height: 100%;
  left: 0;
  top: 0;
  padding: 5.6rem 0 4rem;
}
@media screen and (max-width: 959px) {
  .p-progress {
    padding: 0.8rem 0;
  }
}
.p-progress .p-progress__bar {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 0.4rem;
  height: calc(100% - 8.8rem);
  background-color: #e60012;
  scale: 1 0;
  transform-origin: top;
  z-index: 1;
}
@media screen and (max-width: 959px) {
  .p-progress .p-progress__bar {
    display: none;
  }
}
.p-progress section + section {
  margin-top: 2.4rem;
}
@media screen and (max-width: 959px) {
  .p-progress section + section {
    margin-top: 0.8rem;
  }
}

.p-topNews {
  padding: 12.3rem 0 14rem;
  background-color: #fff;
}
@media screen and (max-width: 959px) {
  .p-topNews {
    padding: 9.6rem 0;
  }
}
.p-topNews .p-topNews__inner {
  max-width: 160rem;
  margin-inline: auto;
  padding: 0 8rem;
}
@media screen and (max-width: 959px) {
  .p-topNews .p-topNews__inner {
    padding: 0 3rem;
  }
}
.p-topNews .p-topNews__wrap {
  margin-top: 4.4rem;
}
@media screen and (max-width: 959px) {
  .p-topNews .p-topNews__wrap {
    margin-top: 4.8rem;
  }
}
.p-topNews .p-topNews__tabList {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
}
.p-topNews .p-topNews__tabItem {
  background-color: rgba(207, 215, 230, 0.4);
  border-radius: 4rem;
  padding: 0.9rem 1.6rem;
  color: #2e3c4d;
  font-size: 1.6rem;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.08em;
  min-height: 4.1rem;
  display: grid;
  align-items: center;
  cursor: pointer;
  transition: 0.2s all ease-in-out;
}
@media screen and (max-width: 959px) {
  .p-topNews .p-topNews__tabItem {
    padding: 0.6rem 1.2rem;
    font-size: 1.4rem;
    min-height: 3.2rem;
  }
}
.p-topNews .p-topNews__tabItem.is-active {
  background-color: #2e3c4d;
  color: #fff;
}
@media (any-hover: hover) {
  .p-topNews .p-topNews__tabItem:hover:not(.is-active) {
    background-color: #2e3c4d;
    color: #fff;
  }
}
.p-topNews .p-topNews__panelList {
  position: relative;
  margin-top: 3.2rem;
}
@media screen and (max-width: 959px) {
  .p-topNews .p-topNews__panelList {
    margin-top: 2.4rem;
  }
}
.p-topNews .p-topNews__panelItem {
  display: none;
}
.p-topNews .p-topNews__panelItem.is-active {
  display: block;
  animation: panel-show 0.6s ease-in-out forwards;
}
.p-topNews .p-topNews__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.4rem;
}
@media screen and (max-width: 959px) {
  .p-topNews .p-topNews__list {
    grid-template-columns: 1fr;
    gap: 1.6rem;
  }
}
.p-topNews .p-topNews__item {
  transition: 0.2s all ease-in-out;
}
.p-topNews .p-topNews__card {
  border: 0.1rem solid #cfd7e6;
  border-radius: 1.6rem;
  padding: 5.5rem 3.1rem 3.1rem;
  position: relative;
  display: block;
  box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
  transition: 0.2s all ease-in-out;
}
@media screen and (max-width: 959px) {
  .p-topNews .p-topNews__card {
    padding: 2.9rem 1.6rem 2.1rem;
  }
}
@media (any-hover: hover) {
  .p-topNews .p-topNews__card:hover {
    opacity: 1;
    border-color: transparent;
    box-shadow: 0 0.2rem 1rem 0 rgba(0, 0, 0, 0.1);
  }
  .p-topNews .p-topNews__card:hover .p-topNews__arrow {
    background-color: #e60012;
    translate: 0.4rem 0;
  }
  .p-topNews .p-topNews__card:hover .p-topNews__title {
    color: #e60012;
  }
}
.p-topNews .p-topNews__meta {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  margin-bottom: 2.4rem;
}
@media screen and (max-width: 959px) {
  .p-topNews .p-topNews__meta {
    margin-bottom: 1.7rem;
  }
}
.p-topNews .p-topNews__date {
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 1;
  flex-shrink: 0;
  display: block;
}
.p-topNews .p-topNews__category {
  color: #e60012;
  font-size: 1.4rem;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1;
  display: block;
}
.p-topNews .p-topNews__title {
  color: #2e3c4d;
  font-size: 1.8rem;
  line-height: 1.6;
  letter-spacing: 0.08em;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  height: 11.5rem;
  transition: 0.2s color ease-in-out;
}
@media screen and (max-width: 959px) {
  .p-topNews .p-topNews__title {
    height: auto;
    font-size: 1.6rem;
    -webkit-line-clamp: 5;
  }
}
.p-topNews .p-topNews__arrow {
  width: 1.1rem;
  aspect-ratio: 1;
  background-color: #2e3c4d;
  mask: url("/assets/img/common/icon_arrow.svg") no-repeat center/contain;
  margin-left: auto;
  margin-top: 4.5rem;
  transition: 0.2s background-color ease-in-out, translate 0.2s ease-in-out;
}
@media screen and (max-width: 959px) {
  .p-topNews .p-topNews__arrow {
    margin-top: 2.1rem;
  }
}
.p-topNews .p-topNews__btn {
  margin-top: 4.8rem;
}
@media screen and (max-width: 959px) {
  .p-topNews .p-topNews__btn {
    margin-top: 3.2rem;
  }
}
.p-topNews {
  /* パネル切り替えのアニメーション */
}
@keyframes panel-show {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.p-subMv2 {
  padding-top: 3.2rem;
  background: linear-gradient(180deg, #ffffff 0%, #fafbfc 100%);
}
@media screen and (max-width: 959px) {
  .p-subMv2 {
    padding: 1.6rem 0;
  }
}
.p-subMv2 .p-subMv2__inner {
  padding: 0 8rem;
}
@media screen and (max-width: 959px) {
  .p-subMv2 .p-subMv2__inner {
    padding: 0 3rem;
  }
}
.p-subMv2 .p-subMv2__inner2 {
  display: flex;
  flex-direction: column;
}
.p-subMv2 .p-subMv2__header {
  display: grid;
  grid-template-columns: 560fr 720fr;
  align-items: flex-start;
}
@media screen and (max-width: 959px) {
  .p-subMv2 .p-subMv2__header {
    grid-template-columns: 1fr;
  }
}
.p-subMv2:not(:has(.p-subMv2__anchorList)) .p-subMv2__header {
  display: block;
}
.p-subMv2 .p-subMv2__title {
  padding-top: 10.8rem;
  padding-bottom: 12rem;
}
@media screen and (max-width: 959px) {
  .p-subMv2 .p-subMv2__title {
    padding-top: 6.4rem;
    padding-bottom: calc(6.4rem - 1.6rem);
  }
}
.p-subMv2:not(:has(.c-breadcrumb)) .p-subMv2__title {
  padding-top: 12.8rem;
}
@media screen and (max-width: 959px) {
  .p-subMv2:not(:has(.c-breadcrumb)) .p-subMv2__title {
    padding-top: 4.8rem;
  }
}
.p-subMv2.--w1280 .p-subMv2__inner {
  max-width: 160rem;
  margin-inline: auto;
  padding: 0 8rem;
}
@media screen and (max-width: 959px) {
  .p-subMv2.--w1280 .p-subMv2__inner {
    padding: 0 3rem;
  }
}
.p-subMv2.--w1280 .p-subMv2__inner2 {
  max-width: 160rem;
  margin-inline: auto;
  padding: 0 8rem;
}
@media screen and (max-width: 959px) {
  .p-subMv2.--w1280 .p-subMv2__inner2 {
    padding: 0 3rem;
  }
}
.p-subMv2:has(.p-subMv2__image) {
  padding-bottom: 6.4rem;
}
@media screen and (max-width: 959px) {
  .p-subMv2:has(.p-subMv2__image) {
    padding-bottom: 4.8rem;
  }
}
.p-subMv2:has(.p-subMv2__image) .p-subMv2__title {
  padding-bottom: 4rem;
}
@media screen and (max-width: 959px) {
  .p-subMv2:has(.p-subMv2__image) .p-subMv2__title {
    padding-bottom: 3.2rem;
  }
}
.p-subMv2:has(.p-subMv2__image) .p-subMv2__image img {
  width: 100%;
  height: auto;
  aspect-ratio: 880/360;
  object-fit: cover;
  border-radius: 1.6rem;
}
@media screen and (max-width: 959px) {
  .p-subMv2:has(.p-subMv2__image) .p-subMv2__image img {
    aspect-ratio: 315/210;
    border-radius: 0.8rem;
  }
}
.p-subMv2 .p-subMv2__anchorList {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.9rem;
  margin-top: 14.8rem;
}
@media screen and (max-width: 959px) {
  .p-subMv2 .p-subMv2__anchorList {
    grid-template-columns: repeat(2, 1fr);
    gap: 0 1.2rem;
    margin-top: 1.6rem;
    margin-bottom: 3.2rem;
  }
}
@media screen and (min-width: 960px) {
  .p-subMv2 .c-btn2 {
    min-height: 5.4rem;
  }
}
@media (any-hover: hover) {
  .p-subMv2 .c-btn2:hover .c-btn2__icon {
    translate: 0 0.4rem;
  }
}
.p-subMv2 .c-btn2 .c-btn2__icon {
  rotate: 90deg;
}

.p-policy {
  padding-bottom: 20rem;
}
@media screen and (max-width: 959px) {
  .p-policy {
    padding-bottom: 9.6rem;
  }
}
.p-policy:has(+ .p-policy) {
  padding-bottom: 12rem;
}
@media screen and (max-width: 959px) {
  .p-policy:has(+ .p-policy) {
    padding-bottom: 5.6rem;
  }
}
.p-policy + .p-policy {
  padding-top: 12rem;
  padding-bottom: 12rem;
}
@media screen and (max-width: 959px) {
  .p-policy + .p-policy {
    padding-top: 5.6rem;
    padding-bottom: 5.6rem;
  }
}
.p-policy:last-child {
  padding-bottom: 20rem;
}
@media screen and (max-width: 959px) {
  .p-policy:last-child {
    padding-bottom: 9.6rem;
  }
}
.p-policy .p-policy__btn {
  text-align: center;
  margin-top: 9.6rem;
}
@media screen and (max-width: 959px) {
  .p-policy .p-policy__btn {
    margin-top: 5.6rem;
  }
}
.p-policy .p-policy__btn.--mt0 {
  margin-top: 0;
}
.p-policy.--bgWhite {
  background-color: #fff;
}
.p-policy.--pt96 {
  padding-top: 9.6rem;
}
@media screen and (max-width: 959px) {
  .p-policy.--pt96 {
    padding-top: 5.6rem;
  }
}

.p-modal {
  padding-bottom: 20rem;
}
@media screen and (max-width: 959px) {
  .p-modal {
    padding-bottom: 9.6rem;
  }
}
.p-modal .p-modal__inner {
  max-width: 160rem;
  margin-inline: auto;
  padding: 0 8rem;
}
@media screen and (max-width: 959px) {
  .p-modal .p-modal__inner {
    padding: 0 3rem;
  }
}
.p-modal .p-modal__wrap + .p-modal__wrap {
  margin-top: 9.6rem;
}
@media screen and (max-width: 959px) {
  .p-modal .p-modal__wrap + .p-modal__wrap {
    margin-top: 5.6rem;
  }
}
.p-modal .p-modal__title {
  font-size: 3.2rem;
  line-height: 1.4;
  letter-spacing: 0.08em;
  color: #2e3c4d;
}
@media screen and (max-width: 959px) {
  .p-modal .p-modal__title {
    font-size: 2.8rem;
    line-height: 1.3;
    letter-spacing: 0.1em;
  }
}
.p-modal .p-modal__list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(28rem, 1fr));
  gap: 1.6rem;
  margin-top: 6.4rem;
}
@media screen and (max-width: 959px) {
  .p-modal .p-modal__list {
    margin-top: 3.2rem;
    gap: 0.8rem 1.6rem;
  }
}
.p-modal .p-modal__overlay {
  align-items: center;
  background: rgba(46, 60, 77, 0.6);
  backdrop-filter: blur(0.6rem);
  bottom: 0;
  display: flex;
  justify-content: center;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 100;
}
.p-modal .p-modal__container {
  background-color: #fff;
  max-height: 80vh;
  max-width: 99.2rem;
  border-radius: 2.4rem;
  overflow-y: auto;
  width: 100%;
  position: relative;
}
@media screen and (max-width: 959px) {
  .p-modal .p-modal__container {
    border-radius: 1.6rem;
    width: calc(100% - 1.6rem);
  }
}
.p-modal .p-modal__content {
  padding: 6.4rem 5.6rem;
}
@media screen and (max-width: 959px) {
  .p-modal .p-modal__content {
    padding: 8rem 2.2rem;
  }
}
.p-modal .p-modal__close {
  width: 4rem;
  height: auto;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: rgba(207, 215, 230, 0.4);
  position: absolute;
  top: 1.6rem;
  right: 1.6rem;
}
@media screen and (max-width: 959px) {
  .p-modal .p-modal__close {
    width: 3.2rem;
    top: 0.6rem;
    right: 0.6rem;
  }
}
.p-modal .p-modal__close::before, .p-modal .p-modal__close::after {
  content: "";
  display: block;
  width: 0.9rem;
  height: 0.2rem;
  background-color: #2e3c4d;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  transition: background-color 0.2s ease-in-out;
}
.p-modal .p-modal__close::before {
  rotate: -45deg;
}
.p-modal .p-modal__close::after {
  rotate: 45deg;
}
.p-modal .p-modal__contentName {
  font-size: 3.2rem;
  line-height: 1.6;
  letter-spacing: 0.08em;
  color: #2e3c4d;
}
@media screen and (max-width: 959px) {
  .p-modal .p-modal__contentName {
    font-size: 2.2rem;
    line-height: 1.3;
    letter-spacing: 0.1em;
  }
}
.p-modal .p-modal__contentPosition {
  margin-top: 0.8rem;
  font-size: 1.4rem;
  line-height: 1;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 959px) {
  .p-modal .p-modal__contentPosition {
    font-size: 1.2rem;
    margin-top: 0.4rem;
  }
}
.p-modal .p-modal__contentText {
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: 0.08em;
  margin-top: 2.4rem;
}
@media screen and (max-width: 959px) {
  .p-modal .p-modal__contentText {
    margin-top: 1.6rem;
    line-height: 1.8;
  }
}
.p-modal {
  /* モーダルアニメーション */
}
@keyframes mmfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes mmfadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes mmslideIn {
  from {
    transform: translateY(15%);
  }
  to {
    transform: translateY(0);
  }
}
@keyframes mmslideOut {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-10%);
  }
}
.p-modal .modal {
  display: none;
}
.p-modal .modal.is-open {
  display: block;
}
.p-modal .modal[aria-hidden=false] .p-modal__overlay {
  animation: mmfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}
.p-modal .modal[aria-hidden=false] .p-modal__container {
  animation: mmslideIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}
.p-modal .modal[aria-hidden=true] .p-modal__overlay {
  animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}
.p-modal .modal[aria-hidden=true] .p-modal__container {
  animation: mmslideOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}
.p-modal .modal .p-modal__container,
.p-modal .modal .p-modal__overlay {
  will-change: transform;
}
.p-modal .p-modal__btn {
  text-align: center;
  margin-top: 9.6rem;
}
@media screen and (max-width: 959px) {
  .p-modal .p-modal__btn {
    margin-top: 5.6rem;
  }
}

.p-header {
  background-color: #fff;
  position: sticky;
  top: 0;
  width: 100%;
  z-index: 100;
}
.p-header .p-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 2.4rem 4.8rem;
}
@media screen and (max-width: 959px) {
  .p-header .p-header__inner {
    padding: 1.6rem 3rem;
  }
}
.p-header .p-header__logo {
  flex-shrink: 0;
  width: 22.5rem;
  display: block;
  position: relative;
  z-index: 101;
}
@media screen and (max-width: 959px) {
  .p-header .p-header__logo {
    width: 18rem;
  }
}
.p-header .p-header__logo img {
  width: 100%;
  height: auto;
  object-fit: contain;
}
@media (any-hover: hover) {
  .p-header .p-header__logo:hover {
    opacity: 1;
  }
}
.p-header .p-header__nav {
  flex: 1;
  display: flex;
  justify-content: flex-end;
}
@media screen and (max-width: 959px) {
  .p-header .p-header__nav {
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    height: 100vh;
    background-color: #fff;
    opacity: 0;
    visibility: hidden;
    transition: 0.3s opacity ease-in-out, 0.3s visibility ease-in-out;
    z-index: 100;
    padding: 9.6rem 0 0;
    display: block;
    pointer-events: none;
  }
}
.p-header .p-header__navInner {
  display: contents;
}
@media screen and (max-width: 959px) {
  .p-header .p-header__navInner {
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    height: 100%;
    padding-bottom: 6rem;
  }
}
.p-header .p-header__navList {
  display: flex;
  align-items: center;
  gap: 2.4rem;
}
@media screen and (max-width: 959px) {
  .p-header .p-header__navList {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    width: 100%;
    padding: 0 3rem;
  }
}
.p-header .p-header__navItem {
  flex-shrink: 0;
  position: relative;
}
@media screen and (max-width: 959px) {
  .p-header .p-header__navItem {
    border-bottom: 0.1rem solid #cfd7e6;
  }
}
@media screen and (max-width: 959px) {
  .p-header .p-header__navItem:nth-child(n+2) {
    margin-top: 2.4rem;
  }
}
.p-header .p-header__navItem:last-child .p-header__navSubList {
  right: 0;
  left: auto;
}
@media screen and (max-width: 959px) {
  .p-header .p-header__navHeader {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
  }
}
@media screen and (max-width: 959px) {
  .p-header .p-header__navHeader:not(:has(.p-header__navButton)) .p-header__navLink {
    padding-right: 0.9rem;
  }
  .p-header .p-header__navHeader:not(:has(.p-header__navButton)) .p-header__navLink::before {
    display: none;
  }
}
.p-header .p-header__navItem:has(> .p-header__navSubList:hover) .p-header__navLink {
  color: #e60012;
}
.p-header .p-header__navItem:has(> .p-header__navSubList:hover) .p-header__navLink::before {
  transform: scaleX(1);
}
.p-header .p-header__navLink {
  font-size: 1.5rem;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.1em;
  transition: 0.2s color ease-in-out;
  position: relative;
  color: #2e3c4d;
  padding: 3.3rem 0;
}
@media screen and (max-width: 959px) {
  .p-header .p-header__navLink {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 1.6rem;
    padding: 1.3rem 1.8rem 1.3rem 0;
    font-size: 1.6rem;
    white-space: normal;
    transition: 0.2s background-color ease-in-out;
    font-size: 1.6rem;
    letter-spacing: 0.08em;
  }
}
.p-header .p-header__navLink::before {
  content: "";
  display: block;
  width: 100%;
  height: 0.4rem;
  background-color: #e60012;
  position: absolute;
  bottom: -0.1rem;
  left: 0;
  border-radius: 0.2rem 0.2rem 0 0;
  transform: scaleX(0);
  transition: 0.2s transform ease-in-out;
}
@media screen and (max-width: 959px) {
  .p-header .p-header__navLink::before {
    width: 0.1rem;
    height: 1.2rem;
    background-color: #cfd7e6;
    top: 50%;
    bottom: auto;
    right: 0;
    left: auto;
    translate: 0 -50%;
    transform: initial;
  }
}
@media screen and (max-width: 959px) {
  .p-header .p-header__navLink::after {
    content: "";
    display: block;
    width: 1.1rem;
    height: 1rem;
    background-image: url("/assets/img/common/icon_arrow.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }
}
.p-header .p-header__navLink.is-current::before {
  transform: scaleX(1);
}
@media (any-hover: hover) {
  .p-header .p-header__navLink:hover {
    opacity: 1;
    color: #e60012;
  }
  .p-header .p-header__navLink:hover::before {
    transform: scaleX(1);
  }
}
.p-header .p-header__navButton {
  display: none;
}
@media screen and (max-width: 959px) {
  .p-header .p-header__navButton {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.2rem 0.4rem 1.2rem 1.2rem;
    position: relative;
  }
}
.p-header .p-header__navButtonIcon {
  position: relative;
  width: 1.6rem;
  height: 1.6rem;
  display: block;
}
.p-header .p-header__navButtonIcon::before {
  content: "";
  display: block;
  width: 1rem;
  height: 0.2rem;
  background-color: #2e3c4d;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
}
.p-header .p-header__navButtonIcon::after {
  content: "";
  display: block;
  width: 0.2rem;
  height: 1rem;
  background-color: #2e3c4d;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  transition: 0.3s transform ease-in-out;
}
.p-header .p-header__navButton.is-active .p-header__navButtonIcon::after {
  transform: rotate(90deg);
}
.p-header .p-header__navHeader:has(.p-header__navLink:hover) ~ .p-header__navSubList,
.p-header .p-header__navSubList:hover {
  opacity: 1;
  visibility: visible;
}
.p-header .p-header__navSubList {
  opacity: 0;
  visibility: hidden;
  position: absolute;
  left: 0;
  bottom: -2.8rem;
  translate: 0 100%;
  padding: 1.6rem;
  background-color: #fff;
  box-shadow: 0 0.2rem 1rem rgba(0, 0, 0, 0.1);
  border-radius: 0.8rem;
  max-width: 24rem;
  width: max-content;
  transition: 0.2s all ease-in-out;
}
@media screen and (max-width: 959px) {
  .p-header .p-header__navSubList {
    display: none;
    opacity: 1;
    visibility: visible;
    max-width: 100%;
    width: 100%;
    position: static;
    translate: 0 0;
    box-shadow: none;
    border-radius: 0;
    padding: 0;
    background-color: transparent;
    overflow: hidden;
    transition: 0.3s height ease-in-out, 0.3s opacity ease-in-out;
  }
}
.p-header .p-header__navSubItem {
  font-size: 1.4rem;
  line-height: 1.4;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 959px) {
  .p-header .p-header__navSubItem:last-child {
    padding-bottom: 1.3rem;
  }
}
.p-header .p-header__navSubLink {
  padding: 0.6rem 0;
  display: block;
  transition: 0.2s color ease-in-out;
  display: inline-grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 0.8rem;
}
@media (any-hover: hover) {
  .p-header .p-header__navSubLink:hover {
    opacity: 1;
    color: #e60012;
  }
  .p-header .p-header__navSubLink:hover[target=_blank]::after {
    background-color: #e60012;
  }
}
.p-header .p-header__navSubLink[target=_blank]::after {
  content: "";
  display: block;
  width: 1.1rem;
  height: 1rem;
  mask: url("/assets/img/common/icon_arrow.svg") no-repeat center/contain;
  rotate: -45deg;
  background-color: #2e3c4d;
  transition: background-color 0.2s ease-in-out;
}
.p-header .p-header__hamburger {
  display: none;
}
@media screen and (max-width: 959px) {
  .p-header .p-header__hamburger {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 4.8rem;
    height: 3.2rem;
    background: rgba(207, 215, 230, 0.4);
    padding: 1.2rem 1.6rem;
    cursor: pointer;
    position: relative;
    z-index: 101;
    border-radius: 4rem;
  }
}
.p-header .p-header__hamburgerLine {
  display: block;
  width: 100%;
  height: 0.2rem;
  background-color: #2e3c4d;
  transition: 0.3s all ease-in-out;
}
.p-header.is-open .p-header__hamburger .p-header__hamburgerLine:nth-child(1) {
  transform: translateY(0.3rem) rotate(30deg);
}
.p-header.is-open .p-header__hamburger .p-header__hamburgerLine:nth-child(2) {
  transform: translateY(-0.3rem) rotate(-30deg);
}
@media screen and (max-width: 959px) {
  .p-header.is-open .p-header__nav {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
}
.p-header .p-header__langList {
  display: flex;
  align-items: center;
  gap: 1.7rem;
  margin-left: 4rem;
  margin-top: 0.2rem;
}
@media screen and (max-width: 959px) {
  .p-header .p-header__langList {
    margin-top: 2.4rem;
    margin-left: 3rem;
  }
}
.p-header .p-header__langItem {
  font-size: 1.4rem;
  line-height: 1;
  letter-spacing: 0.1em;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
}
.p-header .p-header__langItem:nth-child(n+2) {
  position: relative;
}
.p-header .p-header__langItem:nth-child(n+2)::before {
  content: "";
  display: block;
  width: 0.1rem;
  height: 0.8rem;
  background-color: #cfd7e6;
  position: absolute;
  top: 50%;
  left: -0.9rem;
  translate: 0 -50%;
}
.p-header .p-header__langLink.is-current {
  color: rgba(46, 60, 77, 0.5);
}
@media (any-hover: hover) {
  .p-header a.p-header__langLink:hover {
    opacity: 1;
    color: #e60012;
  }
}

.p-company .p-company__inner {
  max-width: 160rem;
  margin-inline: auto;
  padding: 0 8rem;
}
@media screen and (max-width: 959px) {
  .p-company .p-company__inner {
    padding: 0 0.8rem;
  }
}
.p-company .p-company__container {
  background-color: #fff;
  border-radius: 2.4rem;
  padding: 8rem;
  display: grid;
  grid-template-columns: 32.6rem 1fr;
  align-items: start;
}
@media screen and (max-width: 959px) {
  .p-company .p-company__container {
    grid-template-columns: 25rem 1fr;
    gap: 3.1rem 0;
    padding: 4rem 2.2rem;
    border-radius: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-company .p-company__container {
    grid-template-columns: 1fr;
  }
}
.p-company .p-company__title {
  font-size: 4rem;
  line-height: 1.4;
  letter-spacing: 0.1em;
  color: #2e3c4d;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W3", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400;
  padding-right: 3rem;
}
@media screen and (max-width: 959px) {
  .p-company .p-company__title {
    font-size: 2.8rem;
    line-height: 1.3;
  }
}
@media screen and (max-width: 767px) {
  .p-company .p-company__title {
    padding: 0;
  }
}
.p-company .p-company__content {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 6.4rem;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-company .p-company__content {
    max-width: 100%;
    gap: 3.2rem;
  }
}
.p-company .p-company__list {
  border-top: 0.1rem solid rgba(207, 215, 230, 0.4);
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-company .p-company__list {
    width: 100%;
  }
}
.p-company .p-company__row {
  display: grid;
  grid-template-columns: 15.9rem 1fr;
  gap: 4.8rem;
  align-items: start;
  padding: 2.3rem 0 2.4rem;
  border-bottom: 0.1rem solid rgba(207, 215, 230, 0.4);
}
@media screen and (max-width: 959px) {
  .p-company .p-company__row {
    grid-template-columns: 1fr;
    padding: 1.6rem 0 1.5rem;
    gap: 1.2rem;
  }
}
.p-company .p-company__label {
  font-size: 1.4rem;
  line-height: 1.4;
  letter-spacing: 0.1em;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  color: #2e3c4d;
}
@media screen and (max-width: 959px) {
  .p-company .p-company__label {
    width: 100%;
  }
}
.p-company .p-company__value {
  font-size: 1.6rem;
  line-height: 1.4;
  letter-spacing: 0.1em;
  color: #2e3c4d;
}
.p-company .p-company__link {
  text-decoration: underline;
  text-decoration-skip-ink: none;
  text-underline-position: from-font;
  transition: opacity 0.2s ease-in-out;
}
.p-company.--date .p-company__label {
  font-size: 1.2rem;
}
.p-company.--date .p-company__label .number {
  font-weight: 600;
  font-size: 1.4rem;
}

.p-base .p-base__inner {
  max-width: 160rem;
  margin-inline: auto;
  padding: 0 8rem;
}
@media screen and (max-width: 959px) {
  .p-base .p-base__inner {
    padding: 0 0.8rem;
  }
}
.p-base .p-base__container {
  background-color: #fff;
  border-radius: 2.4rem;
  padding: 8rem;
  display: grid;
  grid-template-columns: 32.6rem 1fr;
  align-items: start;
}
@media screen and (max-width: 959px) {
  .p-base .p-base__container {
    grid-template-columns: 25rem 1fr;
    padding: 4rem 2.2rem;
    border-radius: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-base .p-base__container {
    grid-template-columns: 1fr;
  }
}
.p-base .p-base__title {
  font-size: 4rem;
  line-height: 1.4;
  letter-spacing: 0.04em;
  color: #2e3c4d;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W3", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400;
  padding-right: 3rem;
}
@media screen and (max-width: 959px) {
  .p-base .p-base__title {
    font-size: 2.8rem;
    line-height: 1.3;
  }
}
@media screen and (max-width: 767px) {
  .p-base .p-base__title {
    padding: 0;
  }
}
.p-base .p-base__content {
  margin-top: 1.2rem;
}
@media screen and (max-width: 767px) {
  .p-base .p-base__content {
    margin-top: 4.8rem;
  }
}
.p-base .p-base__section {
  width: 100%;
}
.p-base .p-base__section + .p-base__section {
  margin-top: 8rem;
}
@media screen and (max-width: 959px) {
  .p-base .p-base__section + .p-base__section {
    margin-top: 4.8rem;
  }
}
.p-base .p-base__sectionTitle {
  font-size: 2.4rem;
  line-height: 1.4;
  letter-spacing: 0.01em;
  color: #2e3c4d;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
}
@media screen and (max-width: 959px) {
  .p-base .p-base__sectionTitle {
    font-size: 2rem;
  }
}
.p-base .p-base__list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(32.6rem, 1fr));
  gap: 1.6rem;
  width: 100%;
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  .p-base .p-base__list {
    grid-template-columns: repeat(auto-fill, minmax(28rem, 1fr));
    margin-top: 2.4rem;
    gap: 0.8rem;
  }
}
.p-base .p-base__item {
  background-color: #fff;
  border: 0.1rem solid #cfd7e6;
  border-radius: 1.6rem;
  padding: 3.2rem 3.2rem 3.1rem;
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
  position: relative;
  text-decoration: none;
  transition: 0.2s all ease-in-out;
}
@media screen and (max-width: 959px) {
  .p-base .p-base__item {
    padding: 1.5rem 1.5rem 1.4rem;
    gap: 1.6rem;
    border-radius: 0.8rem;
  }
}
@media (any-hover: hover) {
  .p-base .p-base__item:hover {
    opacity: 1;
    border-color: transparent;
    box-shadow: 0 0.2rem 1rem rgba(0, 0, 0, 0.1);
  }
  .p-base .p-base__item:hover .p-base__linkText {
    color: #e60012;
  }
  .p-base .p-base__item:hover .p-base__linkIcon {
    background-color: #e60012;
    translate: 0.4rem -0.4rem;
  }
}
.p-base .p-base__itemContent {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
@media screen and (max-width: 959px) {
  .p-base .p-base__itemContent {
    gap: 1.2rem;
  }
}
.p-base .p-base__itemHeader {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 1.6rem;
}
@media screen and (max-width: 959px) {
  .p-base .p-base__itemHeader {
    gap: 1.2rem;
  }
}
.p-base .p-base__itemTitle {
  font-size: 2rem;
  line-height: 1.4;
  letter-spacing: 0.1em;
  color: #2e3c4d;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
}
@media screen and (max-width: 959px) {
  .p-base .p-base__itemTitle {
    font-size: 1.6rem;
  }
}
.p-base .p-base__tag {
  background-color: rgba(207, 215, 230, 0.4);
  padding: 0.3rem 0.8rem 0.2rem;
  border-radius: 0.4rem;
  font-size: 1.4rem;
  line-height: 1.4;
  letter-spacing: 0.08em;
  color: #2e3c4d;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  width: fit-content;
}
@media screen and (max-width: 959px) {
  .p-base .p-base__tag {
    font-size: 1.2rem;
    translate: 0 -0.1rem;
  }
}
.p-base .p-base__address {
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  color: #2e3c4d;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W3", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400;
}
@media screen and (max-width: 959px) {
  .p-base .p-base__address {
    font-size: 1.4rem;
  }
}
.p-base .p-base__link {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 0.4rem;
  margin-top: auto;
}
.p-base .p-base__linkText {
  font-size: 1.2rem;
  line-height: 1.4;
  letter-spacing: 0.08em;
  color: #2e3c4d;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
}
.p-base .p-base__linkIcon {
  width: 1rem;
  aspect-ratio: 1;
  background-color: #2e3c4d;
  mask: url("/assets/img/common/icon_arrow.svg") no-repeat center/contain;
  rotate: -45deg;
  transition: background-color 0.2s ease-in-out, translate 0.2s ease-in-out;
  display: block;
  margin-top: -0.1rem;
}
@media screen and (max-width: 959px) {
  .p-base .p-base__linkIcon {
    margin-top: 0;
  }
}
.p-base .p-base__toTopLink {
  margin-top: 6.4rem;
  width: fit-content;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .p-base .p-base__toTopLink {
    margin-top: 3.2rem;
  }
}

.p-patent .p-patent__inner {
  max-width: 160rem;
  margin-inline: auto;
  padding: 0 8rem;
}
@media screen and (max-width: 959px) {
  .p-patent .p-patent__inner {
    padding: 0 0.8rem;
  }
}
.p-patent .p-patent__container {
  background-color: #fff;
  border-radius: 2.4rem;
  padding: 8rem;
  display: grid;
  grid-template-columns: 32.6rem minmax(47.5rem, 1fr);
  align-items: start;
}
@media screen and (max-width: 959px) {
  .p-patent .p-patent__container {
    grid-template-columns: 25rem minmax(47.5rem, 1fr);
    padding: 4rem 2.2rem;
    border-radius: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-patent .p-patent__container {
    grid-template-columns: 100%;
    padding-right: 0;
  }
}
.p-patent .p-patent__title {
  font-size: 4rem;
  line-height: 1.4;
  letter-spacing: 0.04em;
  color: #2e3c4d;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W3", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400;
  padding-right: 3rem;
}
@media screen and (max-width: 959px) {
  .p-patent .p-patent__title {
    font-size: 2.8rem;
    line-height: 1.3;
  }
}
@media screen and (max-width: 767px) {
  .p-patent .p-patent__title {
    padding: 0;
  }
}
.p-patent .p-patent__content {
  width: 100%;
}
@media screen and (max-width: 959px) {
  .p-patent .p-patent__content {
    margin-top: 3.2rem;
  }
}
.p-patent .p-patent__contentInner {
  overflow-x: auto;
  width: 100%;
  padding-bottom: 1.1rem;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.p-patent .p-patent__contentInner::-webkit-scrollbar {
  display: none;
}
.p-patent .p-patent__contentInner .simplebar-track {
  background-color: #CFD7E6;
  height: 0.3rem;
  border-radius: 0.3rem;
}
.p-patent .p-patent__contentInner .simplebar-scrollbar {
  background-color: #2E3C4D;
  border-radius: 0.3rem;
  top: 0;
  height: 0.3rem;
}
.p-patent .p-patent__table {
  min-width: 79.4rem;
}
.p-patent .p-patent__header {
  display: grid;
  grid-template-columns: 6.4rem 9.2rem 14.8rem 30rem 10.4rem;
  gap: 1.6rem;
  font-size: 1.4rem;
  line-height: 1.4;
  letter-spacing: 0.1em;
  color: #2e3c4d;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  margin-bottom: 1.5rem;
}
.p-patent .p-patent__headerItem {
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
}
.p-patent .p-patent__headerNote {
  font-size: 1.2rem;
}
.p-patent .p-patent__list {
  border-top: 0.1rem solid rgba(207, 215, 230, 0.4);
  width: 100%;
}
.p-patent .p-patent__row {
  display: grid;
  grid-template-columns: 6.4rem 9.2rem 14.8rem 30rem 10.4rem;
  gap: 1.6rem;
  align-items: start;
  padding: 2.4rem 0 2.3rem;
  border-bottom: 0.1rem solid rgba(207, 215, 230, 0.4);
}
.p-patent .p-patent__date {
  font-size: 1.2rem;
  line-height: 1.4;
  letter-spacing: 0.1em;
  color: #2e3c4d;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W3", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400;
}
.p-patent .p-patent__date .number {
  font-weight: 500;
  font-size: 1.4rem;
}
.p-patent .p-patent__dateYear {
  margin-bottom: 0;
}
.p-patent .p-patent__dateMonth {
  margin-top: 0;
}
.p-patent .p-patent__number {
  font-size: 1.4rem;
  line-height: 1.4;
  letter-spacing: 0.08em;
  color: #2e3c4d;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W3", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400;
  text-decoration: underline;
  text-decoration-skip-ink: none;
  text-underline-position: from-font;
}
.p-patent .p-patent__name {
  font-size: 1.4rem;
  line-height: 1.4;
  letter-spacing: 0.1em;
  color: #2e3c4d;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W3", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400;
}
.p-patent .p-patent__effect {
  font-size: 1.4rem;
  line-height: 1.4;
  letter-spacing: 0.1em;
  color: #2e3c4d;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W3", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400;
}
.p-patent .p-patent__effect li {
  position: relative;
  padding-left: 1em;
}
.p-patent .p-patent__effect li + li {
  margin-top: 0.3rem;
}
.p-patent .p-patent__effect li::before {
  content: "・";
  position: absolute;
  left: 0;
}
.p-patent .p-patent__example {
  font-size: 1.4rem;
  line-height: 1.4;
  letter-spacing: 0.1em;
  color: #2e3c4d;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W3", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400;
}
.p-patent .p-patent__toTopLink {
  margin-top: 5.3rem;
  width: fit-content;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .p-patent .p-patent__toTopLink {
    margin-top: 3.2rem;
    margin-right: 2.2rem;
  }
}

.p-companyWrap {
  display: grid;
  grid-template-columns: 100%;
  gap: 2.4rem;
  padding-bottom: 20rem;
}
@media screen and (max-width: 959px) {
  .p-companyWrap {
    padding-bottom: 9.6rem;
    gap: 0.8rem;
  }
}
.p-companyWrap .p-companyWrap__btn {
  text-align: center;
  margin-top: 7.2rem;
}
@media screen and (max-width: 959px) {
  .p-companyWrap .p-companyWrap__btn {
    margin-top: 4.8rem;
  }
}

.p-contactLink .p-contactLink__inner {
  max-width: 160rem;
  margin-inline: auto;
  padding: 0 8rem;
}
@media screen and (max-width: 959px) {
  .p-contactLink .p-contactLink__inner {
    padding: 0 3rem;
  }
}
.p-contactLink .p-contactLink__title {
  font-size: 3.2rem;
  line-height: 1.4;
  letter-spacing: 0.08em;
  color: #2e3c4d;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W3", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400;
}
@media screen and (max-width: 959px) {
  .p-contactLink .p-contactLink__title {
    font-size: 2.8rem;
  }
}
.p-contactLink .p-contactLink__title span {
  display: inline-block;
}
.p-contactLink .p-contactLink__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2.4rem;
  margin-top: 6.4rem;
}
@media screen and (max-width: 959px) {
  .p-contactLink .p-contactLink__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.8rem;
    margin-top: 3.2rem;
  }
}
.p-contactLink .p-contactLink__item {
  background-color: #fff;
  border: 0.1rem solid #cfd7e6;
  border-radius: 0.8rem;
  padding: 2.3rem;
  transition: 0.2s all ease-in-out;
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 959px) {
  .p-contactLink .p-contactLink__item {
    padding: 1.1rem 1.5rem;
  }
}
@media (any-hover: hover) {
  .p-contactLink .p-contactLink__item:hover {
    opacity: 1;
    border-color: transparent;
    box-shadow: 0 0.2rem 1rem rgba(0, 0, 0, 0.1);
  }
  .p-contactLink .p-contactLink__item:hover .p-contactLink__arrow {
    background-color: #e60012;
    translate: 0.4rem 0;
  }
}
.p-contactLink .p-contactLink__icon {
  width: 3.2rem;
  height: auto;
  aspect-ratio: 1;
  flex-shrink: 0;
}
@media screen and (max-width: 959px) {
  .p-contactLink .p-contactLink__icon {
    width: 2.4rem;
  }
}
.p-contactLink .p-contactLink__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.p-contactLink .p-contactLink__content {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: flex-end;
  gap: 0.8rem;
  margin-top: 3.2rem;
  flex-grow: 1;
}
@media screen and (max-width: 959px) {
  .p-contactLink .p-contactLink__content {
    margin-top: 2.4rem;
    gap: 0.4rem;
  }
}
.p-contactLink .p-contactLink__text {
  font-size: 2rem;
  line-height: 1.4;
  letter-spacing: 0.08em;
  color: #2e3c4d;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
}
@media screen and (max-width: 959px) {
  .p-contactLink .p-contactLink__text {
    font-size: 1.6rem;
  }
}
.p-contactLink .p-contactLink__arrowArea {
  width: 1.6rem;
  height: 2.8rem;
  display: grid;
  place-items: center;
}
@media screen and (max-width: 959px) {
  .p-contactLink .p-contactLink__arrowArea {
    height: 2.2rem;
  }
}
.p-contactLink .p-contactLink__arrow {
  width: 1rem;
  aspect-ratio: 1;
  background-color: #2e3c4d;
  mask: url("/assets/img/common/icon_arrow.svg") no-repeat center/contain;
  display: block;
  flex-shrink: 0;
  transition: 0.2s background-color ease-in-out, translate 0.2s ease-in-out;
}

.p-serviceLink {
  margin-top: 9.6rem;
  margin-bottom: 20rem;
}
@media screen and (max-width: 959px) {
  .p-serviceLink {
    margin-top: 5.6rem;
    margin-bottom: 9.6rem;
  }
}
.p-serviceLink .p-serviceLink__inner {
  max-width: 160rem;
  margin-inline: auto;
  padding: 0 8rem;
}
@media screen and (max-width: 959px) {
  .p-serviceLink .p-serviceLink__inner {
    padding: 0 3rem;
  }
}
.p-serviceLink .p-serviceLink__title {
  font-size: 3.2rem;
  line-height: 1.4;
  letter-spacing: 0.08em;
  color: #2e3c4d;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W3", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400;
}
@media screen and (max-width: 959px) {
  .p-serviceLink .p-serviceLink__title {
    font-size: 2.8rem;
  }
}
.p-serviceLink .p-serviceLink__title span {
  display: inline-block;
}
.p-serviceLink .p-serviceLink__notice {
  border-radius: 0.8rem;
  border: 0.1rem solid #cfd7e6;
  padding: 1.5rem;
  max-width: 84.5rem;
  width: 100%;
  margin-top: 6.4rem;
}
@media screen and (max-width: 959px) {
  .p-serviceLink .p-serviceLink__notice {
    padding: 1.5rem;
    margin-top: 3.2rem;
  }
}
.p-serviceLink .p-serviceLink__noticeTitle {
  font-size: 2rem;
  line-height: 1.4;
  letter-spacing: 0.08em;
  color: #2e3c4d;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
}
@media screen and (max-width: 959px) {
  .p-serviceLink .p-serviceLink__noticeTitle {
    font-size: 1.6rem;
  }
}
.p-serviceLink .p-serviceLink__noticeText {
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: 0.08em;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W3", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400;
  margin-top: 1.2rem;
}
@media screen and (max-width: 959px) {
  .p-serviceLink .p-serviceLink__noticeText {
    line-height: 1.8;
  }
}
.p-serviceLink .p-serviceLink__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.5rem 2.4rem;
  margin-top: 4rem;
}
@media screen and (max-width: 959px) {
  .p-serviceLink .p-serviceLink__list {
    grid-template-columns: repeat(auto-fill, minmax(31rem, 1fr));
    gap: 0.8rem;
    margin-top: 3.2rem;
  }
}
.p-serviceLink .p-serviceLink__item {
  background-color: #fff;
  border: 0.1rem solid #cfd7e6;
  border-radius: 0.8rem;
  padding: 2.3rem;
  display: flex;
  flex-direction: column;
  height: 100%;
  transition: 0.2s all ease-in-out;
}
@media screen and (max-width: 959px) {
  .p-serviceLink .p-serviceLink__item {
    padding: 1.5rem;
  }
}
@media (any-hover: hover) {
  .p-serviceLink .p-serviceLink__item:hover {
    opacity: 1;
    border-color: transparent;
    box-shadow: 0 0.2rem 1rem rgba(0, 0, 0, 0.1);
  }
  .p-serviceLink .p-serviceLink__item:hover .p-serviceLink__arrow {
    background-color: #e60012;
    translate: 0.4rem 0;
  }
}
.p-serviceLink .p-serviceLink__logo {
  width: 100%;
  min-height: 12.3rem;
  display: grid;
  place-items: center;
}
@media screen and (max-width: 959px) {
  .p-serviceLink .p-serviceLink__logo {
    min-height: 7.4rem;
  }
}
.p-serviceLink .p-serviceLink__logo img {
  width: auto;
  height: 4rem;
  object-fit: contain;
}
@media screen and (max-width: 959px) {
  .p-serviceLink .p-serviceLink__logo img {
    height: 2.4rem;
  }
}
.p-serviceLink .p-serviceLink__content {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  flex: 1;
  padding-top: 1.5rem;
  margin-top: 2.2rem;
  border-top: 0.1rem solid #cfd7e6;
}
@media screen and (max-width: 959px) {
  .p-serviceLink .p-serviceLink__content {
    gap: 0.4rem;
    padding-top: 1.1rem;
    margin-top: 1.4rem;
  }
}
.p-serviceLink .p-serviceLink__description {
  font-size: 1.4rem;
  line-height: 1.4;
  letter-spacing: 0.08em;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W3", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400;
}
.p-serviceLink .p-serviceLink__link {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: flex-end;
  gap: 0.8rem;
  margin-top: auto;
}
.p-serviceLink .p-serviceLink__linkText {
  font-size: 2rem;
  line-height: 1.4;
  letter-spacing: 0.08em;
  color: #2e3c4d;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
}
@media screen and (max-width: 959px) {
  .p-serviceLink .p-serviceLink__linkText {
    font-size: 1.6rem;
  }
}
.p-serviceLink .p-serviceLink__arrowArea {
  width: 1.6rem;
  height: 2.8rem;
  display: grid;
  place-items: center;
}
@media screen and (max-width: 959px) {
  .p-serviceLink .p-serviceLink__arrowArea {
    height: 2.2rem;
  }
}
.p-serviceLink .p-serviceLink__arrow {
  width: 1rem;
  aspect-ratio: 1;
  background-color: #2e3c4d;
  mask: url("/assets/img/common/icon_arrow.svg") no-repeat center/contain;
  display: block;
  flex-shrink: 0;
  transition: 0.2s background-color ease-in-out, translate 0.2s ease-in-out;
}
.p-serviceLink .p-serviceLink__btn {
  text-align: center;
  margin-top: 9.6rem;
}
@media screen and (max-width: 959px) {
  .p-serviceLink .p-serviceLink__btn {
    margin-top: 5.6rem;
  }
}

.p-newsList {
  padding-bottom: 20rem;
}
@media screen and (max-width: 959px) {
  .p-newsList {
    padding-bottom: 9.6rem;
  }
}
.p-newsList .p-newsList__inner {
  max-width: 160rem;
  margin-inline: auto;
  padding: 0 8rem;
}
@media screen and (max-width: 959px) {
  .p-newsList .p-newsList__inner {
    padding: 0 0.8rem;
  }
}
.p-newsList .p-newsList__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
}
@media screen and (max-width: 959px) {
  .p-newsList .p-newsList__head {
    justify-content: center;
  }
}
.p-newsList .p-newsList__category {
  background-color: #eceff5;
  min-width: 32rem;
  text-align: center;
  padding: 0 1.7rem;
  border-radius: 0.8rem 0.8rem 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 5.6rem;
}
@media screen and (max-width: 959px) {
  .p-newsList .p-newsList__category {
    min-width: 15.7rem;
    padding: 0 1rem;
    height: 4rem;
  }
}
.p-newsList .p-newsList__category.is-current {
  height: 6.4rem;
  background-color: #fff;
  pointer-events: none;
}
@media screen and (max-width: 959px) {
  .p-newsList .p-newsList__category.is-current {
    height: 4.8rem;
  }
}
.p-newsList .p-newsList__category.is-current .p-newsList__categoryText::before {
  scale: 1 1;
}
@media (any-hover: hover) {
  .p-newsList .p-newsList__category:hover {
    opacity: 1;
    background-color: rgba(207, 215, 230, 0.25);
    color: #e60012;
  }
}
.p-newsList .p-newsList__categoryText {
  font-size: 1.6rem;
  line-height: 1.4;
  letter-spacing: 0.08em;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  position: relative;
  display: inline-flex;
  height: 100%;
  align-items: center;
}
@media screen and (max-width: 959px) {
  .p-newsList .p-newsList__categoryText {
    font-size: 1.4rem;
  }
}
.p-newsList .p-newsList__categoryText::before {
  content: "";
  width: 100%;
  height: 0.4rem;
  border-radius: 0.2rem 0.2rem 0 0;
  background-color: #e60012;
  position: absolute;
  bottom: 0;
  left: 0;
  scale: 0 1;
  transition: 0.2s scale ease-in-out;
}
@media screen and (max-width: 959px) {
  .p-newsList .p-newsList__categoryText::before {
    height: 0.3rem;
  }
}
.p-newsList .p-newsList__box {
  background-color: #fff;
  border-radius: 0 2.4rem 2.4rem 2.4rem;
  padding: 12rem 12rem 8rem;
}
@media screen and (max-width: 959px) {
  .p-newsList .p-newsList__box {
    padding: 4rem 2.2rem 5.6rem;
    border-radius: 1.6rem;
  }
}
.p-newsList .p-newsList__search {
  display: flex;
  flex-direction: column;
  gap: 1.7rem;
}
@media screen and (max-width: 959px) {
  .p-newsList .p-newsList__search {
    gap: 0.8rem;
  }
}
.p-newsList .p-newsList__searchItem {
  display: grid;
  grid-template-columns: 5.8rem 1fr;
  gap: 1.6rem;
  align-items: center;
  border-bottom: 0.1rem solid rgba(207, 215, 230, 0.4);
  padding-bottom: 1.6rem;
}
@media screen and (max-width: 959px) {
  .p-newsList .p-newsList__searchItem {
    padding-bottom: 0;
    border-bottom: none;
    display: block;
  }
}
.p-newsList .p-newsList__searchTitle {
  font-size: 1.4rem;
  line-height: 1.4;
  letter-spacing: 0.1em;
  color: #2e3c4d;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W3", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400;
}
@media screen and (max-width: 959px) {
  .p-newsList .p-newsList__searchTitle {
    display: none;
  }
}
.p-newsList .p-newsList__searchList {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
}
@media screen and (max-width: 959px) {
  .p-newsList .p-newsList__searchList {
    display: none;
  }
}
.p-newsList .p-newsList__searchLink {
  background-color: rgba(207, 215, 230, 0.4);
  padding: 0.5rem 1.2rem;
  border-radius: 4rem;
  font-size: 1.6rem;
  line-height: 1.4;
  letter-spacing: 0.08em;
  color: #2e3c4d;
  transition: all 0.2s ease-in-out;
}
@media (any-hover: hover) {
  .p-newsList .p-newsList__searchLink:hover {
    opacity: 1;
    background-color: #2e3c4d;
    color: #fff;
  }
}
.p-newsList .p-newsList__searchLink.is-current {
  background-color: #2e3c4d;
  color: #fff;
}
.p-newsList .p-newsList__searchSelect {
  display: none;
}
@media screen and (max-width: 959px) {
  .p-newsList .p-newsList__searchSelect {
    display: block;
    width: 100%;
    height: 4.8rem;
    background-color: #fff;
    border: 0.1rem solid #cfd7e6;
    border-radius: 0.8rem;
    padding: 0 4rem 0 1.6rem;
    font-size: 1.6rem;
    line-height: 1.4;
    letter-spacing: 0.1em;
    color: #2e3c4d;
    font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W3", "Yu Gothic", YuGothic, sans-serif;
    font-weight: 400;
    appearance: none;
    cursor: pointer;
  }
}
@media screen and (max-width: 959px) {
  .p-newsList .p-newsList__searchItem {
    position: relative;
  }
}
.p-newsList .p-newsList__searchItem::after {
  content: "";
  display: none;
}
@media screen and (max-width: 959px) {
  .p-newsList .p-newsList__searchItem::after {
    display: block;
    position: absolute;
    right: 1.2rem;
    top: 50%;
    transform: translateY(-50%);
    width: 1.6rem;
    height: 1.6rem;
    background: url("/assets/img/common/icon_arrow2.svg") no-repeat center center/contain;
    pointer-events: none;
  }
}
.p-newsList .p-newsList__list {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  margin-top: 8rem;
}
@media screen and (max-width: 959px) {
  .p-newsList .p-newsList__list {
    gap: 0.8rem;
    margin-top: 3.2rem;
  }
}
.p-newsList .nextprev {
  display: flex;
  margin-top: 4.8rem;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 959px) {
  .p-newsList .nextprev {
    margin-top: 3.2rem;
  }
}
.p-newsList .nextprev .link-icon {
  background-color: rgba(207, 215, 230, 0.4);
  min-height: 4rem;
  border-radius: 4rem;
  padding: 0.7rem 1.6rem;
  position: relative;
  display: inline-grid;
  gap: 0.8rem;
  align-items: center;
  transition: 0.2s background-color ease-in-out;
  font-size: 1.6rem;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.08em;
}
.p-newsList .nextprev .link-icon.nextprev-prev {
  grid-template-columns: auto 1fr;
  margin-right: auto;
}
.p-newsList .nextprev .link-icon.nextprev-next {
  grid-template-columns: 1fr auto;
  margin-left: auto;
}
@media (any-hover: hover) {
  .p-newsList .nextprev .link-icon:hover {
    opacity: 1;
    background-color: rgba(207, 215, 230, 0.25);
    color: #e60012;
  }
  .p-newsList .nextprev .link-icon:hover .icon-arrow-right {
    background-color: #e60012;
    translate: 0.4rem 0;
  }
  .p-newsList .nextprev .link-icon:hover .icon-arrow-left {
    background-color: #e60012;
    translate: -0.4rem 0;
  }
}
.p-newsList .nextprev .link-icon .icon-arrow-right {
  mask: url("/assets/img/common/icon_arrow.svg") no-repeat center center/contain;
  width: 1.1rem;
  aspect-ratio: 1;
  background-color: #2e3c4d;
  display: block;
  transition: 0.2s background-color ease-in-out, translate 0.2s ease-in-out;
}
.p-newsList .nextprev .link-icon .icon-arrow-left {
  mask: url("/assets/img/common/icon_arrow.svg") no-repeat center center/contain;
  width: 1.1rem;
  aspect-ratio: 1;
  background-color: #2e3c4d;
  display: block;
  transition: 0.2s background-color ease-in-out, translate 0.2s ease-in-out;
  rotate: 180deg;
}
.p-newsList .p-newsList__btn {
  margin-top: 9.6rem;
  text-align: center;
}
@media screen and (max-width: 959px) {
  .p-newsList .p-newsList__btn {
    margin-top: 5.6rem;
  }
}

.p-related {
  background-color: #fafbfc;
  padding: 16rem 0;
}
@media screen and (max-width: 959px) {
  .p-related {
    padding: 9.6rem 0;
  }
}
.p-related .p-related__inner {
  max-width: 160rem;
  margin-inline: auto;
  padding: 0 8rem;
}
@media screen and (max-width: 959px) {
  .p-related .p-related__inner {
    padding-left: 3rem;
    padding-right: 3rem;
    display: grid;
  }
}
.p-related .p-related__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 959px) {
  .p-related .p-related__head {
    display: contents;
  }
}
.p-related .p-related__title {
  font-size: 4rem;
  line-height: 1.4;
  letter-spacing: 0.1em;
  color: #2e3c4d;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W3", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400;
}
@media screen and (max-width: 959px) {
  .p-related .p-related__title {
    font-size: 2.8rem;
    line-height: 1.3;
  }
}
.p-related .p-related__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.4rem;
  margin-top: 4rem;
}
@media screen and (max-width: 959px) {
  .p-related .p-related__list {
    grid-template-columns: repeat(auto-fill, minmax(29rem, 1fr));
    gap: 0.8rem;
    margin-top: 3.2rem;
  }
}
@media screen and (max-width: 959px) {
  .p-related .p-related__btn {
    order: 1;
    margin-top: 3.2rem;
  }
}

.p-subMv {
  padding-top: 3.2rem;
  position: relative;
  overflow: clip;
}
@media screen and (max-width: 959px) {
  .p-subMv {
    padding-top: 1.6rem;
  }
}
.p-subMv::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 32rem;
  background: linear-gradient(180deg, #ffffff 0%, #fafbfc 100%);
  z-index: -1;
}
@media screen and (max-width: 959px) {
  .p-subMv::before {
    height: 100%;
  }
}
.p-subMv .p-subMv__inner {
  display: flex;
  gap: 3rem;
  max-width: 160rem;
  margin-inline: auto;
  padding: 0 8rem;
}
@media screen and (max-width: 959px) {
  .p-subMv .p-subMv__inner {
    padding: 0 3rem;
  }
}
@media screen and (max-width: 959px) {
  .p-subMv .p-subMv__inner {
    flex-direction: column;
    gap: 0;
  }
}
.p-subMv .p-subMv__header {
  width: 54.6875%;
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 959px) {
  .p-subMv .p-subMv__header {
    display: contents;
  }
}
.p-subMv .p-subMv__title {
  padding-bottom: 1.9rem;
  flex-grow: 1;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 959px) {
  .p-subMv .p-subMv__title {
    order: 1;
    margin-top: 3.2rem;
    padding-bottom: 0;
  }
}
.p-subMv .c-title1.--md .c-title1__main {
  letter-spacing: 0.03em;
}
.p-subMv .p-subMv__text {
  margin-top: 2.4rem;
  font-size: 1.8rem;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W3", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 959px) {
  .p-subMv .p-subMv__text {
    font-size: 1.6rem;
    line-height: 1.8;
    margin-top: 1.6rem;
    order: 2;
  }
}
.p-subMv .p-subMv__image {
  margin-right: calc(50% - 50vw);
  display: block;
  max-width: initial;
  flex: 1;
}
@media screen and (max-width: 959px) {
  .p-subMv .p-subMv__image {
    margin: 1.6rem -3rem 0;
  }
}
.p-subMv .p-subMv__image img {
  max-width: initial;
  width: 100%;
  height: 56rem;
  object-fit: cover;
  border-radius: 1.6rem 0 0 1.6rem;
}
@media screen and (max-width: 959px) {
  .p-subMv .p-subMv__image img {
    height: auto;
    aspect-ratio: 375/250;
    border-radius: 0;
  }
}
.p-subMv:has(.p-subMv__text) .p-subMv__title, .p-subMv:has(.p-subMv__btnList) .p-subMv__title {
  flex-grow: initial;
  padding-bottom: 0;
  margin-top: 4.5rem;
}
@media screen and (max-width: 959px) {
  .p-subMv:has(.p-subMv__text) .p-subMv__title, .p-subMv:has(.p-subMv__btnList) .p-subMv__title {
    margin-top: 3.2rem;
  }
}
.p-subMv .p-subMv__btnList {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  margin-top: 2.4rem;
}
@media screen and (max-width: 959px) {
  .p-subMv .p-subMv__btnList {
    gap: 0.8rem;
    margin-top: 3.2rem;
    order: 3;
  }
}
@media screen and (max-width: 959px) {
  .p-subMv .p-subMv__btnList:has(.c-btn2) {
    gap: 0;
  }
}
@media screen and (max-width: 959px) {
  .p-subMv .p-subMv__btnList + .p-subMv__btnList {
    margin-top: 1.6rem;
  }
}
.p-subMv .p-subMv__btnItem .c-btn2 {
  min-width: 24rem;
}
@media screen and (max-width: 959px) {
  .p-subMv .p-subMv__btnItem .c-btn2 {
    min-width: 31.5rem;
  }
}
.p-subMv.--type2 .p-subMv__header {
  width: 60.15625%;
}
.p-subMv.--type2 .p-subMv__title {
  flex-grow: initial;
  margin-top: 8.9rem;
}
@media screen and (max-width: 959px) {
  .p-subMv.--type2 .p-subMv__title {
    margin-top: 3.2rem;
  }
}
.p-subMv.--type2 .p-subMv__image {
  margin-right: 0;
}
@media screen and (max-width: 959px) {
  .p-subMv.--type2 .p-subMv__image {
    margin-left: 0;
  }
}
.p-subMv.--type2 .p-subMv__image img {
  height: auto;
  aspect-ratio: 480/360;
  border: 0.1rem solid rgba(207, 215, 230, 0.4);
  border-radius: 1.6rem;
}
@media screen and (max-width: 959px) {
  .p-subMv.--type2 .p-subMv__image img {
    aspect-ratio: 315/210;
    border: none;
  }
}
.p-subMv.--type3 .p-subMv__image img {
  height: 48rem;
}
@media screen and (max-width: 959px) {
  .p-subMv.--type3 .p-subMv__image img {
    height: auto;
  }
}
.p-subMv.--culture .p-subMv__header {
  width: 52.34375%;
}
@media screen and (max-width: 959px) {
  .p-subMv.--culture .c-title1__main {
    letter-spacing: 0.09em;
  }
}

.p-mission {
  margin-top: 8.9rem;
}
@media screen and (max-width: 959px) {
  .p-mission {
    margin-top: 6.4rem;
  }
}
.p-mission .p-mission__content {
  position: relative;
  z-index: 1;
  padding: 12rem 5.6rem 12rem 12rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6.4rem;
  align-items: center;
}
@media screen and (max-width: 959px) {
  .p-mission .p-mission__content {
    grid-template-columns: 1fr;
    gap: 0;
    padding: 4rem 0;
  }
}
.p-mission .p-mission__text {
  font-size: 1.8rem;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W3", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 2;
  margin-top: 4rem;
}
@media screen and (max-width: 959px) {
  .p-mission .p-mission__text {
    font-size: 1.6rem;
    line-height: 1.8;
    margin-top: 1.6rem;
  }
}
.p-mission .p-mission__text p:not(:last-child) {
  margin-bottom: 2.4rem;
}
@media screen and (max-width: 959px) {
  .p-mission .p-mission__text p:not(:last-child) {
    margin-bottom: 1.6rem;
  }
}
@media screen and (max-width: 959px) {
  .p-mission .p-mission__image {
    margin-top: 3.2rem;
  }
}
.p-mission .p-mission__image img, .p-mission .p-mission__image video {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 520/470;
}

.p-block3 {
  margin-top: 2.4rem;
}
@media screen and (max-width: 959px) {
  .p-block3 {
    margin-top: 0.8rem;
  }
}
.p-block3.--mt96 {
  margin-top: 9.6rem;
}
@media screen and (max-width: 959px) {
  .p-block3.--mt96 {
    margin-top: 6.4rem;
  }
}
.p-block3.--mt73 {
  margin-top: 7.3rem;
}
@media screen and (max-width: 959px) {
  .p-block3.--mt73 {
    margin-top: 6.4rem;
  }
}
.p-block3.--mt120 {
  margin-top: 12rem;
}
@media screen and (max-width: 959px) {
  .p-block3.--mt120 {
    margin-top: 6.4rem;
  }
}
.p-block3 .p-block3__content {
  position: relative;
  z-index: 1;
  padding: 12rem;
}
@media screen and (max-width: 959px) {
  .p-block3 .p-block3__content {
    padding: 4rem 0;
  }
}
.p-block3 .p-block3__title {
  font-size: 4rem;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W3", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400;
  color: #2e3c4d;
  letter-spacing: 0.1em;
  line-height: 1.4;
}
@media screen and (max-width: 959px) {
  .p-block3 .p-block3__title {
    font-size: 2.8rem;
    line-height: 1.3;
  }
}
.p-block3 .p-block3__subTitle {
  font-size: 2.4rem;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  color: #2e3c4d;
  letter-spacing: 0.1em;
  line-height: 1.4;
  margin-top: 5.6rem;
}
@media screen and (max-width: 959px) {
  .p-block3 .p-block3__subTitle {
    font-size: 2rem;
    margin-top: 4.8rem;
  }
}
.p-block3 .p-block3__subTitle:first-child {
  margin-top: 0;
}
.p-block3 .p-block3__subTitle.--mt80 {
  margin-top: 8rem;
}
@media screen and (max-width: 959px) {
  .p-block3 .p-block3__subTitle.--mt80 {
    margin-top: 4.8rem;
  }
}
.p-block3 .p-block3__subTitle + .p-block3__text {
  margin-top: 4rem;
}
@media screen and (max-width: 959px) {
  .p-block3 .p-block3__subTitle + .p-block3__text {
    margin-top: 3.2rem;
  }
}
.p-block3 .p-block3__subTitle2 {
  font-size: 2rem;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  color: #2e3c4d;
  letter-spacing: 0.1em;
  line-height: 1.4;
  margin-top: 4rem;
}
@media screen and (max-width: 959px) {
  .p-block3 .p-block3__subTitle2 {
    font-size: 1.6rem;
    margin-top: 3.2rem;
  }
}
.p-block3 .p-block3__subTitle2 + .p-block3__text {
  margin-top: 1.6rem;
}
@media screen and (max-width: 959px) {
  .p-block3 .p-block3__subTitle2 + .p-block3__text {
    margin-top: 1.2rem;
  }
}
.p-block3 .p-block3__text {
  font-size: 1.8rem;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W3", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400;
  color: #2e3c4d;
  letter-spacing: 0.08em;
  line-height: 2;
  margin-top: 6.4rem;
}
@media screen and (max-width: 959px) {
  .p-block3 .p-block3__text {
    font-size: 1.6rem;
    line-height: 1.8;
    margin-top: 3.2rem;
  }
}
.p-block3 .p-block3__text.--mt40 {
  margin-top: 4rem;
}
@media screen and (max-width: 959px) {
  .p-block3 .p-block3__text.--mt40 {
    margin-top: 3.2rem;
  }
}
.p-block3 .p-block3__text p:not(:last-child) {
  margin-bottom: 2.4rem;
}
@media screen and (max-width: 959px) {
  .p-block3 .p-block3__text p:not(:last-child) {
    margin-bottom: 1.6rem;
  }
}
.p-block3 .p-block3__text p .underline {
  text-decoration: underline;
}
.p-block3 .p-block3__text p a {
  text-decoration: underline;
}
.p-block3 .p-block3__imgArea {
  position: relative;
  margin-top: 5.6rem;
}
@media screen and (max-width: 959px) {
  .p-block3 .p-block3__imgArea {
    margin-top: 3.2rem;
  }
}
.p-block3 .p-block3__img img,
.p-block3 .p-block3__img video {
  display: block;
  border-radius: 1.6rem;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 959px) {
  .p-block3 .p-block3__img img,
  .p-block3 .p-block3__img video {
    border-radius: 0.8rem;
  }
}
.p-block3 .p-block3__text + .p-block3__img {
  margin-top: 4rem;
}
.p-block3 .p-block3__scale {
  position: absolute;
  bottom: 1.2rem;
  right: 1.2rem;
  width: 4rem;
  aspect-ratio: 1;
  background-color: #fff;
  border-radius: 50%;
  border: none;
  box-shadow: 0 0.2rem 1rem 0 rgba(0, 0, 0, 0.1);
  display: grid;
  place-items: center;
  cursor: pointer;
  transition: transform 0.2s;
}
.p-block3 .p-block3__caption {
  font-size: 1.4rem;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W3", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 2;
  margin-top: 1.6rem;
}
@media screen and (max-width: 959px) {
  .p-block3 .p-block3__caption {
    font-size: 1.2rem;
    line-height: 1.8;
    margin-top: 0.8rem;
  }
}
.p-block3 .p-block3__caption:empty {
  display: none;
  margin: 0;
}
.p-block3 .p-block3__area.--mt64 {
  margin-top: 6.4rem;
}
@media screen and (max-width: 959px) {
  .p-block3 .p-block3__area.--mt64 {
    margin-top: 3.2rem;
  }
}
.p-block3 .p-block3__area.--mt80 {
  margin-top: 8rem;
}
@media screen and (max-width: 959px) {
  .p-block3 .p-block3__area.--mt80 {
    margin-top: 4.8rem;
  }
}
.p-block3 .p-block3__area.--mt96 {
  margin-top: 9.6rem;
}
@media screen and (max-width: 959px) {
  .p-block3 .p-block3__area.--mt96 {
    margin-top: 5.6rem;
  }
}
.p-block3 .p-block3__note {
  font-size: 1.4rem;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W3", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.08em;
  margin-top: 2.4rem;
}
@media screen and (max-width: 959px) {
  .p-block3 .p-block3__note {
    line-height: 1.8;
    margin-top: 1.6rem;
    font-size: 1.2rem;
  }
}
.p-block3 .p-block3__imgArea + .p-block3__note {
  margin-top: 1.6rem;
}
@media screen and (max-width: 959px) {
  .p-block3 .p-block3__imgArea + .p-block3__note {
    margin-top: 0.8rem;
  }
}
.p-block3 .p-block3__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.6rem;
  margin-top: 4rem;
}
@media screen and (max-width: 959px) {
  .p-block3 .p-block3__list {
    margin-top: 3.2rem;
    grid-template-columns: repeat(auto-fill, minmax(30rem, 1fr));
  }
}
.p-block3 .p-block3__2col {
  display: grid;
  grid-template-columns: 1fr 32rem;
  align-items: flex-start;
  gap: 6.4rem;
}
@media screen and (max-width: 767px) {
  .p-block3 .p-block3__2col {
    grid-template-columns: 100%;
    gap: 3.2rem;
  }
}
.p-block3 .p-block3__2colSub {
  position: sticky;
  top: 12rem;
}
@media screen and (max-width: 959px) {
  .p-block3 .p-block3__2colSub {
    position: relative;
    top: initial;
  }
}
.p-block3 .p-block3__badge {
  margin-top: 3.2rem;
  display: grid;
  grid-template-columns: 92fr 212fr;
  gap: 1.6rem;
}
.p-block3 .p-block3__badge a {
  display: block;
  font-size: 0;
  line-height: 1;
}
.p-block3 .p-block3__badge a img {
  max-width: 100% !important;
  width: 100%;
  height: auto;
}
@media (any-hover: hover) {
  .p-block3 .p-block3__badge a:hover {
    opacity: 1;
  }
}
.p-block3 .p-block3__cardList {
  display: grid;
  gap: 1.6rem;
  margin-top: 4rem;
}
@media screen and (max-width: 959px) {
  .p-block3 .p-block3__cardList {
    margin-top: 3.2rem;
    gap: 0.8rem;
  }
}
.p-block3 .p-block3__boxList {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.6rem;
  margin-top: 5.6rem;
}
@media screen and (max-width: 959px) {
  .p-block3 .p-block3__boxList {
    gap: 0.8rem;
    grid-template-columns: repeat(auto-fill, minmax(32rem, 1fr));
    margin-top: 3.2rem;
  }
}
.p-block3 .p-block3__boxItem {
  display: contents;
}
.p-block3 .p-block3__boxCard {
  padding: 2.4rem;
  border: 0.1rem solid #cfd7e6;
  border-radius: 1.6rem;
  background-color: #fff;
  position: relative;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  gap: 0;
  transition: box-shadow 0.2s ease-in-out, border-color 0.2s ease-in-out;
}
@media screen and (max-width: 959px) {
  .p-block3 .p-block3__boxCard {
    padding: 1.5rem 4.7rem 1.5rem 1.5rem;
    display: block;
  }
}
@media (any-hover: hover) {
  .p-block3 .p-block3__boxCard:hover {
    opacity: 1;
    box-shadow: 0 0.2rem 1rem 0 rgba(0, 0, 0, 0.1);
    border-color: transparent;
  }
  .p-block3 .p-block3__boxCard:hover .p-block3__boxCardArrow {
    background-color: #e60012;
    translate: 0.4rem 0;
  }
}
.p-block3 .p-block3__boxCardTitle {
  font-size: 2rem;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  color: #2e3c4d;
  letter-spacing: 0.1em;
  line-height: 1.4;
  margin-bottom: 1.6rem;
}
@media screen and (max-width: 959px) {
  .p-block3 .p-block3__boxCardTitle {
    font-size: 1.6rem;
    margin-bottom: 0.8rem;
  }
}
.p-block3 .p-block3__boxCardText {
  font-size: 1.6rem;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W3", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400;
  color: #2e3c4d;
  letter-spacing: 0.1em;
  line-height: 1.6;
}
@media screen and (max-width: 959px) {
  .p-block3 .p-block3__boxCardText {
    font-size: 1.4rem;
  }
}
.p-block3 .p-block3__boxCardArrow {
  mask: url("/assets/img/common/icon_arrow.svg") no-repeat center center/contain;
  width: 1.1rem;
  height: 1rem;
  background-color: #2e3c4d;
  display: block;
  margin-top: 2.1rem;
  margin-left: auto;
  margin-right: 0.3rem;
  transition: 0.2s background-color ease-in-out, translate 0.2s ease-in-out;
}
@media screen and (max-width: 959px) {
  .p-block3 .p-block3__boxCardArrow {
    margin-top: 0;
    position: absolute;
    bottom: 1.9rem;
    right: 1.9rem;
  }
}
.p-block3 .p-block3__btnInner {
  max-width: 160rem;
  margin-inline: auto;
  padding: 0 8rem;
  margin-bottom: 20rem;
}
@media screen and (max-width: 959px) {
  .p-block3 .p-block3__btnInner {
    padding: 0 3rem;
    margin-bottom: 9.6rem;
  }
}
.p-block3 .p-block3__btnList {
  margin-top: 2.4rem;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(40rem, 100%), 1fr));
  gap: 2.1rem;
}
@media screen and (max-width: 959px) {
  .p-block3 .p-block3__btnList {
    margin-top: 1.6rem;
  }
}
.p-block3 .p-block3__btnItem {
  display: block;
}
.p-block3 .p-block3__btn {
  text-align: center;
  margin-top: 9.6rem;
}
@media screen and (max-width: 959px) {
  .p-block3 .p-block3__btn {
    margin-top: 5.6rem;
  }
}
.p-block3 .p-block3__btn2 .c-btn2 {
  max-width: 50.9rem;
}
.p-block3 .p-block3__table {
  margin-top: 4rem;
}
@media screen and (max-width: 959px) {
  .p-block3 .p-block3__table {
    margin-top: 3.2rem;
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
  }
}
@media screen and (max-width: 959px) {
  .p-block3 .p-block3__table.u-desktop {
    display: none;
  }
}
.p-block3 .p-block3__tableHeaderTitle {
  display: grid;
  grid-template-columns: 19.2rem repeat(4, 1fr);
  gap: 1.6rem;
  align-items: center;
  padding-bottom: 2.4rem;
}
@media (max-width: 1350px) {
  .p-block3 .p-block3__tableHeaderTitle {
    grid-template-columns: 15rem repeat(4, 1fr);
  }
}
.p-block3 .p-block3__tableHeaderTitleItem {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  padding: 0.5rem 1.6rem;
}
.p-block3 .p-block3__tableHeaderTitleItem::before {
  content: "";
  position: absolute;
  left: -0.8rem;
  top: 0;
  width: 0.1rem;
  height: 100%;
  background-color: #cfd7e6;
}
.p-block3 .p-block3__tableHeaderTitleItem span {
  font-size: 1.6rem;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  color: #2e3c4d;
  letter-spacing: 0.08em;
  text-align: center;
}
.p-block3 .p-block3__tableHeader {
  display: grid;
  grid-template-columns: 19.2rem repeat(4, 1fr);
  gap: 1.6rem;
  padding-bottom: 3rem;
}
@media (max-width: 1350px) {
  .p-block3 .p-block3__tableHeader {
    grid-template-columns: 15rem repeat(4, 1fr);
  }
}
.p-block3 .p-block3__tableHeaderLabel {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 6.8rem;
  height: 6.9rem;
  margin-left: auto;
  margin-right: auto;
}
.p-block3 .p-block3__tableHeaderLabel::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 9.6rem;
  height: 0.1rem;
  background-color: #cfd7e6;
  transform: translate(-50%, -50%) rotate(45deg);
}
.p-block3 .p-block3__tableHeaderLabelTop {
  font-size: 1.4rem;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  color: #2e3c4d;
  letter-spacing: 0.08em;
  text-align: right;
}
.p-block3 .p-block3__tableHeaderLabelBottom {
  font-size: 1.4rem;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  color: #2e3c4d;
  letter-spacing: 0.08em;
  text-align: left;
}
.p-block3 .p-block3__tableHeaderItem {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.6rem;
  position: relative;
  padding-top: 1.6rem;
}
.p-block3 .p-block3__tableHeaderItem.--bg::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: calc(100% + 3rem);
  background-color: #f6f9fc;
  border-radius: 0.8rem 0.8rem 0 0;
  z-index: -1;
}
.p-block3 .p-block3__tableHeaderItemTitle {
  font-size: 1.6rem;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  color: #2e3c4d;
  letter-spacing: 0.08em;
  text-align: center;
  position: relative;
  padding-left: 2.4rem;
}
.p-block3 .p-block3__tableHeaderItemTitle::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%) rotate(-90deg);
  width: 0.1rem;
  height: 3.2rem;
  background-color: #cfd7e6;
}
.p-block3 .p-block3__tableHeaderItemLogo {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  min-height: 6.2rem;
}
.p-block3 .p-block3__tableHeaderItemLogo img {
  height: 2rem;
  width: auto;
}
.p-block3 .p-block3__tableHeaderItemDesc {
  font-size: 1.1rem;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W3", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400;
  color: #2e3c4d;
  letter-spacing: 0.08em;
  text-align: center;
  line-height: 1.4;
  min-height: 3rem;
  display: flex;
  align-items: center;
}
.p-block3 .p-block3__tableRow {
  display: grid;
  grid-template-columns: 19.2rem repeat(4, 1fr);
  gap: 1.6rem;
  align-items: stretch;
  padding: 1rem 0;
  min-height: 16rem;
  border-top: 0.1rem solid #cfd7e6;
}
@media (max-width: 1350px) {
  .p-block3 .p-block3__tableRow {
    grid-template-columns: 15rem repeat(4, 1fr);
  }
}
.p-block3 .p-block3__tableRow.--last {
  grid-template-columns: 19.2rem 1fr;
  padding-top: 2rem;
  border-bottom: 0.1rem solid #cfd7e6;
}
@media (max-width: 1350px) {
  .p-block3 .p-block3__tableRow.--last {
    grid-template-columns: 15rem 1fr;
  }
}
.p-block3 .p-block3__tableRow.--last .p-block3__tableCell.--bg::before {
  top: -2.1rem;
  height: calc(100% + 3.1rem);
}
.p-block3 .p-block3__tableRowLabel {
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-block3 .p-block3__tableRowLabel span {
  font-size: 1.6rem;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  color: #2e3c4d;
  letter-spacing: 0.08em;
  line-height: 1.4;
  text-align: center;
}
.p-block3 .p-block3__tableRowLabel.--rowspan {
  align-self: stretch;
}
.p-block3 .p-block3__tableCellWrapper {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.p-block3 .p-block3__tableCellRow {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.6rem;
}
.p-block3 .p-block3__tableCellRow.--footer {
  grid-template-columns: 1fr;
}
.p-block3 .p-block3__tableCell {
  display: flex;
  align-items: center;
}
.p-block3 .p-block3__tableCell.--empty {
  background: transparent;
}
.p-block3 .p-block3__tableCell.--bg {
  position: relative;
}
.p-block3 .p-block3__tableCell.--bg::before {
  content: "";
  display: block;
  position: absolute;
  top: -1.1rem;
  left: 0;
  width: 100%;
  height: calc(100% + 2.1rem);
  background-color: #f6f9fc;
  z-index: 1;
}
.p-block3 .p-block3__tableCell.--bg .p-block3__tableLink {
  width: calc(100% - 1.2rem - 1.2rem);
  margin-left: 1.2rem;
}
.p-block3 .p-block3__tableCell.--bgSmall::before {
  height: calc(100% + 1.1rem);
}
.p-block3 .p-block3__tableCell.--radius::before {
  border-radius: 0 0 0.8rem 0.8rem;
}
.p-block3 .p-block3__tableCellGroup {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  width: 100%;
  position: relative;
  z-index: 2;
}
.p-block3 .p-block3__tableCellGroup.--three .p-block3__tableLink.--small {
  height: 3.8rem;
}
.p-block3 .p-block3__tableLink {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 1.2rem;
  background-color: #fff;
  border: 0.1rem solid #cfd7e6;
  border-radius: 0.8rem;
  position: relative;
  z-index: 2;
  transition: box-shadow 0.2s ease-in-out, border-color 0.2s ease-in-out;
}
.p-block3 .p-block3__tableLink.--tall {
  height: 12rem;
}
@media screen and (max-width: 959px) {
  .p-block3 .p-block3__tableLink.--tall {
    height: 10rem;
  }
}
.p-block3 .p-block3__tableLink.--small {
  height: 4.8rem;
}
@media screen and (max-width: 959px) {
  .p-block3 .p-block3__tableLink.--small {
    height: 4.4rem;
  }
}
.p-block3 .p-block3__tableLink.--withLogo {
  justify-content: center;
}
@media (any-hover: hover) {
  .p-block3 .p-block3__tableLink:hover {
    opacity: 1;
    box-shadow: 0 0.2rem 1rem 0 rgba(0, 0, 0, 0.1);
    border-color: transparent;
  }
  .p-block3 .p-block3__tableLink:hover .p-block3__tableLinkArrow {
    background-color: #e60012;
    translate: 0.2rem 0.2rem;
  }
}
.p-block3 .p-block3__tableLinkText {
  font-size: 1.2rem;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  color: #2e3c4d;
  letter-spacing: 0.08em;
  line-height: 1.4;
  display: block;
  width: 100%;
}
.p-block3 .p-block3__tableLinkLogoArea {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.2rem;
}
.p-block3 .p-block3__tableLinkLogoArea img {
  height: 2rem;
  width: auto;
}
@media screen and (max-width: 959px) {
  .p-block3 .p-block3__tableLinkLogoArea img {
    height: 1.6rem;
  }
}
.p-block3 .p-block3__tableLinkLogoDesc {
  font-size: 1.1rem;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W3", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400;
  color: #2e3c4d;
  letter-spacing: 0.08em;
  text-align: center;
  line-height: 1.4;
}
.p-block3 .p-block3__tableLinkArrow {
  mask: url("/assets/img/common/icon_arrow.svg") no-repeat center center/contain;
  width: 1.1rem;
  height: 1rem;
  background-color: #2e3c4d;
  display: block;
  position: absolute;
  bottom: 0.8rem;
  right: 0.8rem;
  rotate: -45deg;
  transition: background-color 0.2s ease-in-out, translate 0.2s ease-in-out;
}
.p-block3 .p-block3__tableFooterLink {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 7rem;
  padding: 1.2rem;
  background-color: #fff;
  border: 0.1rem solid #cfd7e6;
  border-radius: 0.8rem;
  text-decoration: none;
  position: relative;
  transition: box-shadow 0.2s ease-in-out, border-color 0.2s ease-in-out;
}
@media (any-hover: hover) {
  .p-block3 .p-block3__tableFooterLink:hover {
    opacity: 1;
    box-shadow: 0 0.2rem 1rem 0 rgba(0, 0, 0, 0.1);
    border-color: transparent;
  }
  .p-block3 .p-block3__tableFooterLink:hover .p-block3__tableLinkArrow {
    background-color: #e60012;
    translate: 0.2rem 0.2rem;
  }
}
.p-block3 .p-block3__tableFooterLogo {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.p-block3 .p-block3__tableFooterLogo img {
  height: 2.4rem;
  width: auto;
}
.p-block3 .p-block3__mobileCard {
  background-color: #fafbfc;
  border-radius: 0.8rem;
  padding: 2.4rem 1.6rem 1.6rem;
  display: flex;
  flex-direction: column;
  gap: 2.7rem;
}
.p-block3 .p-block3__mobileCardTitle {
  font-size: 1.6rem;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  color: #2e3c4d;
  letter-spacing: 0.08em;
  text-align: center;
  line-height: 1.4;
}
.p-block3 .p-block3__mobileCardSystem {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.2rem;
}
.p-block3 .p-block3__mobileCardSystemDesc {
  font-size: 1.2rem;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W3", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400;
  color: #2e3c4d;
  letter-spacing: 0.08em;
  text-align: center;
  line-height: 1.4;
}
.p-block3 .p-block3__mobileCardSystem img {
  height: 3.2rem;
  width: auto;
}
.p-block3 .p-block3__mobileCardContent {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.p-block3 .p-block3__mobileCardSection {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}
.p-block3 .p-block3__mobileCardSectionTitle {
  font-size: 1.4rem;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W3", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400;
  color: #2e3c4d;
  letter-spacing: 0.08em;
  text-align: center;
  line-height: 1.4;
}
.p-block3 .p-block3__mobileCardLinkGroup {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.p-block3 .p-block3__mobileCardLink {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 4.8rem;
  padding: 0.8rem 1.6rem;
  background-color: #fff;
  border: 0.1rem solid #cfd7e6;
  border-radius: 0.8rem;
  text-decoration: none;
  position: relative;
  transition: box-shadow 0.2s ease-in-out, border-color 0.2s ease-in-out;
}
.p-block3 .p-block3__mobileCardLink.--withLogo {
  height: 12rem;
  flex-direction: column;
  justify-content: center;
}
.p-block3 .p-block3__mobileCardLink.--footer {
  height: 12rem;
}
@media (any-hover: hover) {
  .p-block3 .p-block3__mobileCardLink:hover {
    opacity: 1;
    box-shadow: 0 0.2rem 1rem 0 rgba(0, 0, 0, 0.1);
    border-color: transparent;
  }
  .p-block3 .p-block3__mobileCardLink:hover .p-block3__tableLinkArrow {
    background-color: #e60012;
    translate: 0.2rem 0.2rem;
  }
}
.p-block3 .p-block3__mobileCardLinkText {
  font-size: 1.4rem;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  color: #2e3c4d;
  letter-spacing: 0.08em;
  line-height: 1.4;
  display: block;
  width: 100%;
}
.p-block3 .p-block3__mobileCardLinkLogoArea {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.2rem;
}
.p-block3 .p-block3__mobileCardLinkLogoDesc {
  font-size: 1.1rem;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W3", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400;
  color: #2e3c4d;
  letter-spacing: 0.08em;
  text-align: center;
  line-height: 1.4;
}
.p-block3 .p-block3__mobileCardLinkLogoArea img {
  height: auto;
  width: auto;
}
.p-block3 .p-block3__mobileCardSectionList {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  margin-bottom: 1.2rem;
}
.p-block3 .p-block3__mobileCardSectionListText {
  font-size: 1.6rem;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  color: #2e3c4d;
  letter-spacing: 0.08em;
  text-align: center;
  line-height: 1.4;
}
.p-block3 .p-block3__mobileCardLink.--footer .p-block3__mobileCardLinkLogoArea {
  gap: 0;
}
.p-block3 .p-block3__mobileCardLink.--footer .p-block3__mobileCardLinkLogoArea img {
  height: 2rem;
  width: auto;
}

.p-links {
  padding: 9.6rem 0 20rem;
}
@media screen and (max-width: 959px) {
  .p-links {
    padding-bottom: 9.6rem;
  }
}
.p-links .p-links__inner {
  max-width: 160rem;
  margin-inline: auto;
  padding: 0 8rem;
}
@media screen and (max-width: 959px) {
  .p-links .p-links__inner {
    padding: 0 3rem;
  }
}
.p-links .p-links__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4rem 2.1rem;
}
@media screen and (max-width: 959px) {
  .p-links .p-links__list {
    grid-template-columns: repeat(auto-fit, minmax(29rem, 1fr));
    gap: 0 0.8rem;
  }
}
.p-links .p-links__btn {
  margin-top: 9.6rem;
  text-align: center;
}
@media screen and (max-width: 959px) {
  .p-links .p-links__btn {
    margin-top: 6.4rem;
  }
}

.p-approach {
  margin-top: 2.4rem;
  padding-bottom: 20rem;
}
@media screen and (max-width: 959px) {
  .p-approach {
    margin-top: 0.8rem;
    padding-bottom: 9.6rem;
  }
}
.p-approach .p-approach__content {
  padding: 12rem;
  display: grid;
  gap: 8rem;
}
@media screen and (max-width: 959px) {
  .p-approach .p-approach__content {
    padding: 4rem 0;
    gap: 4.8rem;
  }
}
.p-approach .p-approach__list {
  margin-top: 4.8rem;
  display: grid;
  gap: 1.6rem;
}
@media screen and (max-width: 959px) {
  .p-approach .p-approach__list {
    margin-top: 3.2rem;
    gap: 0.8rem;
    grid-template-columns: repeat(auto-fit, minmax(31.5rem, 1fr));
  }
}
.p-approach .p-approach__btn {
  text-align: center;
  margin-top: 9.6rem;
}
@media screen and (max-width: 959px) {
  .p-approach .p-approach__btn {
    margin-top: 5.6rem;
  }
}

.p-news {
  position: relative;
  overflow: clip;
  margin-top: 9.6rem;
  margin-bottom: 20rem;
}
@media screen and (max-width: 959px) {
  .p-news {
    margin-top: 5.6rem;
    margin-bottom: 9.6rem;
  }
}
.p-news .p-news__inner {
  max-width: 160rem;
  margin-inline: auto;
  padding: 0 8rem;
}
@media screen and (max-width: 959px) {
  .p-news .p-news__inner {
    padding: 0 3rem;
  }
}
.p-news .p-news__title {
  margin-bottom: 4rem;
  font-size: 4rem;
  line-height: 1.4;
  letter-spacing: 0.1em;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W3", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400;
}
@media screen and (max-width: 959px) {
  .p-news .p-news__title {
    font-size: 2.8rem;
    line-height: 1.3;
    margin-bottom: 3.2rem;
  }
}
.p-news .p-news__btn {
  text-align: center;
  margin-top: 9.6rem;
}
@media screen and (max-width: 959px) {
  .p-news .p-news__btn {
    margin-top: 6.6rem;
  }
}
.p-news .splide.is-initialized .splide__track {
  overflow: initial;
  clip-path: inset(-0.9rem);
}
@media screen and (max-width: 959px) {
  .p-news .splide.is-initialized .splide__track {
    clip-path: inset(0 -50vw 0 0);
  }
}
.p-news .splide__arrows {
  display: grid;
  grid-template-columns: auto auto 1fr;
  margin-top: 2.4rem;
}
@media screen and (max-width: 959px) {
  .p-news .splide__arrows {
    display: block;
    margin-top: 3.4rem;
  }
}
.p-news .splide__arrows .splide__arrow {
  opacity: 1;
  width: 5rem;
  height: auto;
  aspect-ratio: 1;
  position: static;
  background: rgba(207, 215, 230, 0.4);
  border-radius: 50%;
  transform: initial;
}
@media screen and (max-width: 959px) {
  .p-news .splide__arrows .splide__arrow {
    display: none;
  }
}
.p-news .splide__arrows .splide__arrow::before {
  content: "";
  display: block;
  width: 1.1rem;
  height: 1rem;
  mask: url("/assets/img/common/icon_arrow.svg") no-repeat center center/contain;
  background-color: #2e3c4d;
  transition: 0.2s background-color ease-in-out, translate 0.2s ease-in-out;
}
@media (any-hover: hover) {
  .p-news .splide__arrows .splide__arrow:hover {
    background-color: rgba(207, 215, 230, 0.25);
  }
  .p-news .splide__arrows .splide__arrow:hover::before {
    background-color: #e60012;
    translate: 0.2rem 0;
  }
}
.p-news .splide__arrow--prev {
  margin-right: 1.6rem;
  rotate: 180deg;
}
.p-news .splide__pagination {
  position: static;
  padding: 0;
  transform: initial;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-left: 2.4rem;
  margin-top: -0.4rem;
}
@media screen and (max-width: 959px) {
  .p-news .splide__pagination {
    margin-left: 0;
    margin-top: 0;
    flex-wrap: nowrap;
  }
}
@media screen and (max-width: 959px) {
  .p-news .splide__pagination li {
    width: 100%;
  }
}
.p-news .splide__pagination .splide__pagination__page {
  width: 6.4rem;
  height: 0.4rem;
  opacity: 1;
  margin: 0;
  border-radius: 0.2rem;
  transform: scale(1);
  background-color: #cfd7e6;
  transition: 0.2s background-color ease-in-out;
}
@media screen and (max-width: 959px) {
  .p-news .splide__pagination .splide__pagination__page {
    width: 100%;
  }
}
.p-news .splide__pagination .splide__pagination__page.is-active {
  background-color: #e60012;
  transform: scale(1);
}
.p-news .splide:not(.is-overflow) .splide__pagination {
  display: flex;
}
.p-news .p-news__container.--slide-stop .splide.is-initialized:not(.is-active) .splide__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.6rem;
}
@media screen and (max-width: 959px) {
  .p-news .p-news__container.--slide-stop .splide.is-initialized:not(.is-active) .splide__list {
    grid-template-columns: 100%;
  }
}
.p-news .p-news__container.--slide-stop .splide.is-initialized:not(.is-active) .splide__arrows {
  display: none;
}

body:has(.p-news + .p-news) .p-news {
  margin-bottom: 9.6rem;
}
@media screen and (max-width: 959px) {
  body:has(.p-news + .p-news) .p-news {
    margin-bottom: 5.6rem;
  }
}
body:has(.p-news + .p-news) .p-news:nth-last-child(1) {
  margin-bottom: 20rem;
}
@media screen and (max-width: 959px) {
  body:has(.p-news + .p-news) .p-news:nth-last-child(1) {
    margin-bottom: 9.6rem;
    margin-top: 5.6rem;
  }
}

.p-candidate {
  margin-top: 12rem;
}
@media screen and (max-width: 959px) {
  .p-candidate {
    margin-top: 6.4rem;
  }
}
.p-candidate .p-candidate__content {
  position: relative;
  z-index: 1;
  padding: 12rem;
}
@media screen and (max-width: 959px) {
  .p-candidate .p-candidate__content {
    padding: 4rem 0;
  }
}
.p-candidate .p-candidate__title {
  font-size: 4rem;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W3", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400;
  color: #2e3c4d;
  letter-spacing: 0.1em;
  line-height: 1.4;
}
@media screen and (max-width: 959px) {
  .p-candidate .p-candidate__title {
    font-size: 2.8rem;
    line-height: 1.3;
  }
}
.p-candidate .p-candidate__text {
  font-size: 1.8rem;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W3", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400;
  color: #2e3c4d;
  letter-spacing: 0.08em;
  line-height: 2;
  margin-top: 6.4rem;
}
@media screen and (max-width: 959px) {
  .p-candidate .p-candidate__text {
    font-size: 1.6rem;
    line-height: 1.8;
    margin-top: 3.2rem;
  }
}
.p-candidate .p-candidate__text p:not(:last-child) {
  margin-bottom: 2.4rem;
}
@media screen and (max-width: 959px) {
  .p-candidate .p-candidate__text p:not(:last-child) {
    margin-bottom: 1.6rem;
  }
}
.p-candidate .p-candidate__cardList {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(32rem, 1fr));
  gap: 4rem 1.6rem;
  margin-top: 6.4rem;
}
@media screen and (max-width: 959px) {
  .p-candidate .p-candidate__cardList {
    gap: 0.8rem;
    margin-top: 3.2rem;
  }
}
.p-candidate .p-candidate__cardItem {
  display: block;
}
.p-candidate .p-candidate__card {
  display: flex;
  flex-direction: column;
  height: 100%;
  border: 0.1rem solid #cfd7e6;
  border-radius: 1.2rem;
  background-color: #fff;
  overflow: clip;
  transition: box-shadow 0.2s ease-in-out, border-color 0.2s ease-in-out;
}
@media screen and (max-width: 959px) {
  .p-candidate .p-candidate__card {
    border-radius: 0.8rem;
  }
}
@media (any-hover: hover) {
  .p-candidate .p-candidate__card:hover {
    opacity: 1;
    box-shadow: 0 0.2rem 1rem 0 rgba(0, 0, 0, 0.1);
    border-color: transparent;
  }
  .p-candidate .p-candidate__card:hover .p-candidate__cardArrow {
    background-color: #e60012;
    translate: 0.4rem 0;
  }
  .p-candidate .p-candidate__card:hover .p-candidate__cardTitle {
    color: #e60012;
  }
}
@media screen and (max-width: 959px) {
  .p-candidate .p-candidate__card {
    border-radius: 0.8rem;
  }
}
@media (any-hover: hover) {
  .p-candidate .p-candidate__card[target=_blank]:hover .p-candidate__cardArrow {
    translate: 0.4rem -0.4rem;
  }
}
.p-candidate .p-candidate__card[target=_blank] .p-candidate__cardArrow {
  rotate: -45deg;
}
.p-candidate .p-candidate__cardImg {
  width: 100%;
}
.p-candidate .p-candidate__cardImg img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 336/224;
}
@media screen and (max-width: 959px) {
  .p-candidate .p-candidate__cardImg img {
    aspect-ratio: 315/210;
  }
}
.p-candidate .p-candidate__cardBody {
  display: flex;
  flex-direction: column;
  padding: 1.6rem;
  flex: 1;
}
.p-candidate .p-candidate__cardTitleArea {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  margin-bottom: 1.6rem;
}
.p-candidate .p-candidate__cardLogo {
  height: 2.8rem;
  width: auto;
}
.p-candidate .p-candidate__cardTitle {
  font-size: 2rem;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  color: #2e3c4d;
  letter-spacing: 0.08em;
  line-height: 1.4;
  transition: 0.2s color ease-in-out;
}
.p-candidate .p-candidate__cardLogo + .p-candidate__cardTitle {
  font-size: 1.4rem;
}
.p-candidate .p-candidate__cardText {
  font-size: 1.6rem;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W3", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400;
  color: #2e3c4d;
  letter-spacing: 0.08em;
  line-height: 1.6;
  flex: 1;
}
@media screen and (max-width: 959px) {
  .p-candidate .p-candidate__cardText {
    font-size: 1.4rem;
  }
}
.p-candidate .p-candidate__cardArrow {
  mask: url("/assets/img/common/icon_arrow.svg") no-repeat center center/contain;
  width: 1.1rem;
  height: 1rem;
  background-color: #2e3c4d;
  display: block;
  margin-top: 2rem;
  margin-left: auto;
  margin-right: 0.3rem;
  transition: 0.2s background-color ease-in-out, translate 0.2s ease-in-out;
}
@media screen and (max-width: 959px) {
  .p-candidate .p-candidate__cardArrow {
    margin-top: 1.6rem;
  }
}

.p-portrait {
  margin-top: 2.4rem;
}
@media screen and (max-width: 959px) {
  .p-portrait {
    margin-top: 0.8rem;
  }
}
.p-portrait .p-portrait__content {
  position: relative;
  z-index: 1;
  padding: 12rem;
}
@media screen and (max-width: 959px) {
  .p-portrait .p-portrait__content {
    padding: 4rem 0;
  }
}
.p-portrait .p-portrait__title {
  font-size: 4rem;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W3", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400;
  color: #2e3c4d;
  letter-spacing: 0.1em;
  line-height: 1.4;
}
@media screen and (max-width: 959px) {
  .p-portrait .p-portrait__title {
    font-size: 2.8rem;
    line-height: 1.3;
  }
}
.p-portrait .p-portrait__text {
  font-size: 1.8rem;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W3", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400;
  color: #2e3c4d;
  letter-spacing: 0.08em;
  line-height: 2;
  margin-top: 6.4rem;
}
@media screen and (max-width: 959px) {
  .p-portrait .p-portrait__text {
    font-size: 1.6rem;
    line-height: 1.8;
    margin-top: 3.2rem;
  }
}
.p-portrait .p-portrait__cardList {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(24.8rem, 1fr));
  gap: 1.6rem;
  margin-top: 5.6rem;
}
@media screen and (max-width: 959px) {
  .p-portrait .p-portrait__cardList {
    grid-template-columns: repeat(auto-fill, minmax(27rem, 1fr));
    margin-top: 3.2rem;
    gap: 0.4rem;
  }
}
.p-portrait .p-portrait__cardItem {
  display: block;
}

.p-system {
  margin-top: 2.4rem;
  margin-bottom: 20rem;
}
@media screen and (max-width: 959px) {
  .p-system {
    margin-top: 0.8rem;
    margin-bottom: 9.6rem;
  }
}
.p-system .p-system__content {
  position: relative;
  z-index: 1;
  padding: 12rem;
}
@media screen and (max-width: 959px) {
  .p-system .p-system__content {
    padding: 4rem 0;
  }
}
.p-system .p-system__title {
  font-size: 4rem;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W3", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400;
  color: #2e3c4d;
  letter-spacing: 0.1em;
  line-height: 1.4;
}
@media screen and (max-width: 959px) {
  .p-system .p-system__title {
    font-size: 2.8rem;
    line-height: 1.3;
  }
}
.p-system .p-system__text {
  font-size: 1.8rem;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W3", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400;
  color: #2e3c4d;
  letter-spacing: 0.08em;
  line-height: 2;
  margin-top: 6.4rem;
}
@media screen and (max-width: 959px) {
  .p-system .p-system__text {
    font-size: 1.6rem;
    line-height: 1.8;
    margin-top: 3.2rem;
  }
}
.p-system .p-system__sections {
  display: flex;
  flex-direction: column;
  gap: 4.8rem;
  margin-top: 5.6rem;
}
@media screen and (max-width: 959px) {
  .p-system .p-system__sections {
    gap: 2.4rem;
    margin-top: 3.2rem;
  }
}
.p-system .p-system__section {
  display: grid;
  grid-template-columns: 484fr 508fr;
  gap: 4.8rem;
  align-items: center;
  padding-bottom: 4.8rem;
  border-bottom: 0.1rem solid rgba(207, 215, 230, 0.4);
}
@media screen and (max-width: 959px) {
  .p-system .p-system__section {
    padding-bottom: 2.4rem;
    grid-template-columns: 100%;
    gap: 1.6rem;
  }
}
.p-system .p-system__section:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.p-system .p-system__sectionContent {
  display: flex;
  flex-direction: column;
  gap: 2.2rem;
}
@media screen and (max-width: 959px) {
  .p-system .p-system__sectionContent {
    gap: 1.6rem;
  }
}
.p-system .p-system__sectionTitle {
  font-size: 2.4rem;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  color: #2e3c4d;
  letter-spacing: 0.1em;
  line-height: 1.4;
}
@media screen and (max-width: 959px) {
  .p-system .p-system__sectionTitle {
    font-size: 2rem;
  }
}
.p-system .p-system__sectionText {
  font-size: 1.8rem;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W3", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400;
  color: #2e3c4d;
  letter-spacing: 0.08em;
  line-height: 1.8;
}
@media screen and (max-width: 959px) {
  .p-system .p-system__sectionText {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 959px) {
  .p-system .p-system__sectionImg {
    order: -1;
  }
}
.p-system .p-system__sectionImg img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 508/300;
  border-radius: 1.6rem;
}
@media screen and (max-width: 959px) {
  .p-system .p-system__sectionImg img {
    aspect-ratio: 315/186;
    border-radius: 0.8rem;
  }
}
.p-system .p-system__benefitList {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(30rem, 1fr));
  gap: 1.6rem;
  margin-top: 4.8rem;
}
@media screen and (max-width: 959px) {
  .p-system .p-system__benefitList {
    gap: 0.8rem;
    margin-top: 2.4rem;
  }
}
.p-system .p-system__benefitItem {
  display: flex;
  flex-direction: column;
  gap: 4.9rem;
  padding: 2.4rem;
  background-color: #fafbfc;
  border-radius: 1.6rem;
  height: 100%;
}
@media screen and (max-width: 959px) {
  .p-system .p-system__benefitItem {
    gap: 2.4rem;
    padding: 1.6rem;
    border-radius: 0.8rem;
  }
}
.p-system .p-system__benefitIcon {
  width: 3.2rem;
  height: 3.2rem;
  flex-shrink: 0;
}
.p-system .p-system__benefitIcon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.p-system .p-system__benefitContent {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  flex: 1;
}
@media screen and (max-width: 959px) {
  .p-system .p-system__benefitContent {
    gap: 0.8rem;
  }
}
.p-system .p-system__benefitTitle {
  font-size: 1.8rem;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  color: #2e3c4d;
  letter-spacing: 0.1em;
  line-height: 1.4;
}
@media screen and (max-width: 959px) {
  .p-system .p-system__benefitTitle {
    font-size: 1.6rem;
  }
}
.p-system .p-system__benefitText {
  font-size: 1.6rem;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W3", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400;
  color: #2e3c4d;
  letter-spacing: 0.08em;
  line-height: 1.6;
}
@media screen and (max-width: 959px) {
  .p-system .p-system__benefitText {
    font-size: 1.4rem;
  }
}
.p-system .p-system__benefitText a {
  text-decoration: underline;
}
.p-system .p-system__btn {
  text-align: center;
  margin-top: 9.6rem;
}
@media screen and (max-width: 959px) {
  .p-system .p-system__btn {
    margin-top: 5.6rem;
  }
}

.p-culture {
  margin-top: 12rem;
  margin-bottom: 20rem;
}
@media screen and (max-width: 959px) {
  .p-culture {
    margin-top: 6.4rem;
    margin-bottom: 9.6rem;
  }
}
.p-culture .p-culture__content {
  position: relative;
  z-index: 1;
  padding: 12rem;
}
@media screen and (max-width: 959px) {
  .p-culture .p-culture__content {
    padding: 4rem 0;
  }
}
.p-culture .p-culture__title {
  font-size: 4rem;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W3", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400;
  color: #2e3c4d;
  letter-spacing: 0.1em;
  line-height: 1.4;
  margin-bottom: 6.4rem;
}
@media screen and (max-width: 959px) {
  .p-culture .p-culture__title {
    font-size: 2.8rem;
    line-height: 1.3;
    margin-bottom: 3.2rem;
  }
}
.p-culture .p-culture__text {
  font-size: 1.8rem;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W3", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400;
  color: #2e3c4d;
  letter-spacing: 0.08em;
  line-height: 2;
}
@media screen and (max-width: 959px) {
  .p-culture .p-culture__text {
    font-size: 1.6rem;
    line-height: 1.8;
  }
}
.p-culture .p-culture__text p:not(:last-child) {
  margin-bottom: 2.4rem;
}
@media screen and (max-width: 959px) {
  .p-culture .p-culture__text p:not(:last-child) {
    margin-bottom: 1.6rem;
  }
}
.p-culture .p-culture__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 4rem 0;
  padding: 6.4rem 0;
}
@media screen and (max-width: 959px) {
  .p-culture .p-culture__logo {
    margin: 3.2rem 0;
    padding: 2.4rem;
  }
}
.p-culture .p-culture__logo img {
  width: 100%;
  max-width: 64rem;
  height: auto;
}
.p-culture .p-culture__essentials {
  margin-top: 5.6rem;
}
@media screen and (max-width: 959px) {
  .p-culture .p-culture__essentials {
    margin-top: 4.8rem;
  }
}
.p-culture .p-culture__essentialsTitle {
  font-size: 2.4rem;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  color: #2e3c4d;
  letter-spacing: 0.1em;
  line-height: 1.4;
  margin-bottom: 4rem;
}
@media screen and (max-width: 959px) {
  .p-culture .p-culture__essentialsTitle {
    font-size: 2rem;
    margin-bottom: 3.2rem;
  }
}
.p-culture .p-culture__cardList {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(24.8rem, 1fr));
  gap: 1.6rem;
  margin-bottom: 5.6rem;
}
@media screen and (max-width: 959px) {
  .p-culture .p-culture__cardList {
    grid-template-columns: repeat(auto-fill, minmax(27rem, 1fr));
    gap: 0.4rem;
    margin-bottom: 3.2rem;
  }
}
.p-culture .p-culture__cardItem {
  display: block;
}
.p-culture .p-culture__btn {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  justify-content: center;
  margin-top: 6.4rem;
}
@media screen and (max-width: 959px) {
  .p-culture .p-culture__btn {
    gap: 0.8rem;
    margin-top: 4.8rem;
  }
}
@media screen and (max-width: 959px) {
  .p-culture .p-culture__btn .c-btn1 {
    min-width: 22.4rem;
  }
}
.p-culture .p-culture__btn2 {
  text-align: center;
  margin-top: 9.6rem;
}
@media screen and (max-width: 959px) {
  .p-culture .p-culture__btn2 {
    margin-top: 5.6rem;
  }
}

.p-caution {
  padding-bottom: 1.6rem;
}
.p-caution .p-caution__inner {
  max-width: 160rem;
  margin-inline: auto;
  padding: 0 8rem;
}
@media screen and (max-width: 959px) {
  .p-caution .p-caution__inner {
    padding: 0 3rem;
  }
}
.p-caution .p-caution__text {
  font-size: 1.2rem;
  line-height: 1.4;
  letter-spacing: 0.08em;
  font-family: "neue-haas-grotesk-display", "MFW-KoburinaGoStdN-W6", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 600;
  color: #6C757D;
  text-align: right;
}
.p-caution.--white {
  background-color: #fff;
}

@media screen and (max-width: 959px) {
  .u-desktop {
    display: none;
  }
}

.u-mobile {
  display: none;
}
@media screen and (max-width: 959px) {
  .u-mobile {
    display: block;
  }
}

.u-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}