@charset "UTF-8";
body {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  line-height: 1.7;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  body {
    font-size: 14px;
  }
}
body.js-drawer_show {
  overflow: hidden;
}
body.js-modal_show {
  overflow: hidden;
}
body.js-mega_show {
  overflow: hidden;
  padding-right: var(--scrollbar-width, 0px);
}
body.js-search_show {
  overflow: hidden;
  padding-right: var(--scrollbar-width, 0px);
}

img {
  display: block;
  width: 100%;
  height: auto;
}

.sp-only {
  display: none;
}
@media screen and (max-width: 767px) {
  .sp-only {
    display: block;
  }
}

.pc-only {
  display: block;
}
@media screen and (max-width: 767px) {
  .pc-only {
    display: none;
  }
}

.container {
  max-width: 1280px;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .container {
    max-width: 440px;
  }
}
.container.--find {
  max-width: 1368px;
}
@media screen and (max-width: 767px) {
  .container.--find {
    max-width: 440px;
  }
}
.container.--tokutei {
  max-width: 1028px;
}
@media screen and (max-width: 767px) {
  .container.--tokutei {
    max-width: 440px;
  }
}
.container.--notebook {
  max-width: 1328px;
}
@media screen and (max-width: 767px) {
  .container.--notebook {
    max-width: 440px;
  }
}

.container--s {
  max-width: 1028px;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .container--s {
    max-width: 440px;
  }
}

.inner {
  padding-inline: 40px;
}
@media screen and (max-width: 767px) {
  .inner {
    padding-inline: 20px;
  }
}

.section-title {
  position: relative;
  padding-bottom: 22px;
  font-size: 40px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .section-title {
    font-size: 25px;
  }
}
.section-title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 79px;
  height: 5px;
  background: #c8102e;
}
.section-title.--skyblue::after {
  background: #60b0e3;
}
.section-title.--blue::after {
  background: #175dae;
}
.section-title.--teal::after {
  background: #0a7e71;
}

.c-list > li {
  position: relative;
  padding-left: 1em;
}
.c-list > li::before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}

.c-breadcrumb {
  padding-block: 12px;
  background: #f8fbff;
}
.c-breadcrumb ul {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.c-breadcrumb li {
  display: flex;
  align-items: center;
  font-size: 13px;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .c-breadcrumb li {
    font-size: 12px;
  }
}
.c-breadcrumb li:not(:last-child)::after {
  content: "＞";
  margin-inline: 8px;
  font-size: 10px;
  color: #9a9a9a;
}
.c-breadcrumb a {
  color: #000000;
  transition: opacity 0.2s;
}
.c-breadcrumb a:hover {
  opacity: 0.6;
}

.c-pageHead {
  padding-block: 40px 69px;
  background: #f8fbff;
}
@media screen and (max-width: 767px) {
  .c-pageHead {
    padding-block: 10px 30px;
  }
}

.c-pageHead__title--en {
  color: #0081d2;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .c-pageHead__title--en {
    font-size: unset;
  }
}

.c-pageHead__title--ja {
  margin-top: 9px;
  color: #000000;
  font-size: 36px;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .c-pageHead__title--ja {
    font-size: 20px;
  }
}

.c-dlBtn {
  display: inline-flex;
  width: min(219px, 100%);
  align-items: center;
  gap: 14px;
  padding: 6px 20px 6px 16px;
  border-radius: 10px;
  color: #ffffff;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.2;
  transition: opacity 0.2s;
}
.c-dlBtn:hover {
  opacity: 0.6;
}
.c-dlBtn.--pdf {
  background: #ba1114;
}
.c-dlBtn.--word {
  background: #0172b8;
}
.c-dlBtn.--excel {
  background: #0e8231;
}
.c-dlBtn.--m {
  width: min(158px, 100%);
  gap: 10px;
  padding: 5px 16px 5px 12px;
  border-radius: 999px;
  font-size: 10px;
  line-height: 12.5px;
}
@media screen and (max-width: 767px) {
  .c-dlBtn.--m {
    width: fit-content;
    font-size: 16px;
  }
}
.c-dlBtn.--m .c-dlBtn__icon {
  width: 30px;
}
.c-dlBtn.--m .c-dlBtn__arrow {
  width: 18px;
}

.c-dlBtn__icon {
  width: 41px;
}
.c-dlBtn__icon img {
  width: 100%;
  height: auto;
}

.c-dlBtn__text {
  letter-spacing: 0;
  line-height: 1.4;
}

.c-dlBtn__arrow {
  width: 24px;
  margin-left: auto;
}
.c-dlBtn__arrow img {
  width: 100%;
  height: auto;
}

.c-linkCards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 50px;
  row-gap: 70px;
}
@media screen and (max-width: 767px) {
  .c-linkCards {
    grid-template-columns: repeat(1, 1fr);
    row-gap: 30px;
  }
}

.c-linkCard {
  display: grid;
  grid-row: span 3;
  grid-template-rows: subgrid;
  row-gap: 0;
}

.c-linkCard__link {
  display: grid;
  grid-row: span 2;
  grid-template-rows: subgrid;
  row-gap: 0;
  transition: opacity 0.2s;
}
.c-linkCard__link:hover {
  opacity: 0.7;
}

.c-linkCard__title {
  color: #000000;
  font-size: 20px;
  line-height: 1.5;
  text-decoration: underline;
  text-underline-offset: 2px;
}
@media screen and (max-width: 767px) {
  .c-linkCard__title {
    font-size: 16px;
  }
}

.c-linkCard__image {
  margin-top: 14px;
  aspect-ratio: 391/261;
  border: 1px solid #626262;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .c-linkCard__image {
    margin-top: 5px;
  }
}
.c-linkCard__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.c-linkCard__body {
  margin-top: 16px;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .c-linkCard__body {
    margin-top: 5px;
  }
}

[hidden] {
  display: none !important;
}

.c-formError {
  margin-top: 3px;
  color: #c62828;
  font-size: 13px;
  line-height: 1.5;
}

.c-authNo {
  display: flex;
  align-items: center;
  gap: 10px;
}
.c-authNo > .c-authNo__part {
  flex: 0 0 auto;
  min-width: 0;
  margin-top: 0;
}
.c-authNo > .c-authNo__part::placeholder {
  color: #9a9a9a;
}
.c-authNo > .c-authNo__part--head {
  flex-basis: 68px;
}
.c-authNo > .c-authNo__part--tail {
  flex-basis: 110px;
}

.c-authNo__sep {
  flex: 0 0 auto;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.c-formTurnstile {
  margin-top: 18px;
}

.c-formFileList {
  margin-top: 10px;
}

.c-formFileName {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 12px;
  border: 1px solid #dddddd;
  background: #ffffff;
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  .c-formFileName {
    font-size: 13px;
  }
}
.c-formFileName + .c-formFileName {
  border-top: 0;
}
.c-formFileName.is-invalid {
  border: 1px solid #c62828;
  background: #fffafa;
}

.c-formFileName__label {
  word-break: break-all;
}

.c-formFileTotal {
  margin-top: 8px;
  font-size: 13px;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .c-formFileTotal {
    font-size: 12px;
  }
}
.c-formFileTotal.is-over {
  color: #c62828;
  font-weight: 700;
}

.c-formFileName__clear {
  padding: 4px 10px;
  border: 1px solid #c62828;
  color: #c62828;
  font-size: 12px;
  cursor: pointer;
  transition: opacity 0.2s;
}
.c-formFileName__clear:hover {
  opacity: 0.6;
}

.is-confirm .c-formFileName__clear {
  display: none;
}

.is-confirm .c-authNo > .c-authNo__part::placeholder {
  color: transparent;
}

.c-formHoneypot {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.c-visuallyHidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

.scroll-hint-icon {
  top: 60px;
}

.scroll-hint-text {
  letter-spacing: 0;
}

.is-anchorMark {
  background-image: linear-gradient(transparent 62%, #ffe08a 62%);
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 100% 100%;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

.c-mark {
  background-color: #ffe8a3;
  color: inherit;
  padding: 0;
  border-radius: 2px;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

.c-highlightBar {
  position: fixed;
  z-index: 80;
  left: 50%;
  bottom: 24px;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 14px;
  max-width: calc(100% - 32px);
  padding: 10px 14px 10px 18px;
  border-radius: 999px;
  background: #21324a;
  color: #ffffff;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.24);
}
@media screen and (max-width: 767px) {
  .c-highlightBar {
    left: 16px;
    right: 88px;
    transform: none;
    max-width: none;
    justify-content: space-between;
    gap: 10px;
    padding: 8px 10px 8px 14px;
  }
}

.c-highlightBar__text {
  font-size: 14px;
  line-height: 1.5;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
@media screen and (max-width: 767px) {
  .c-highlightBar__text {
    font-size: 12px;
  }
}

.c-highlightBar__clear {
  flex-shrink: 0;
  padding: 6px 14px;
  border: 1px solid rgba(255, 255, 255, 0.6);
  border-radius: 999px;
  background: transparent;
  color: #ffffff;
  font-size: 13px;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
}
.c-highlightBar__clear:hover {
  background: rgba(255, 255, 255, 0.14);
}
@media screen and (max-width: 767px) {
  .c-highlightBar__clear {
    padding: 6px 10px;
    font-size: 12px;
  }
}

.c-passwordField {
  position: relative;
  margin-top: 5px;
}
.c-passwordField > .c-passwordField__input {
  margin-top: 0;
  padding-right: 46px;
}
.c-passwordField > .c-passwordField__input::-ms-reveal {
  display: none;
}

.c-passwordField__toggle {
  position: absolute;
  top: 50%;
  right: 6px;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  appearance: none;
  background: transparent;
  color: #9a9a9a;
  cursor: pointer;
  transition: color 0.2s;
}
.c-passwordField__toggle:hover {
  color: #000000;
}
.c-passwordField__toggle:focus-visible {
  outline: 2px solid #0081d2;
  outline-offset: -2px;
}
.c-passwordField__toggle[aria-pressed=true] {
  color: #0081d2;
}

.c-passwordField__icon {
  width: 20px;
  height: 20px;
}

.tmp-unset-link,
.tmp-unset-link::before {
  color: deeppink !important;
}

.p-topFv {
  position: relative;
}

.p-topFv__bg {
  width: 100%;
  height: calc(100svh - var(--header-height, 130px));
  max-height: 630px;
  min-height: 630px;
}
@media screen and (max-width: 767px) {
  .p-topFv__bg {
    max-height: 667px;
  }
}
.p-topFv__bg picture,
.p-topFv__bg img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-topFv__catch {
  position: absolute;
  left: 0;
  bottom: 50px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-topFv__catch {
    left: auto;
    bottom: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
}

.p-topFv__catch-inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  row-gap: 2px;
}

.p-topFv__catch-line {
  padding: 8px 34px;
  background: #ffffff;
  color: #000000;
  font-family: "M PLUS 1", sans-serif;
  font-size: min(2.7777777778vw, 40px);
  font-weight: 700;
  line-height: 1.1;
}
@media screen and (max-width: 767px) {
  .p-topFv__catch-line {
    font-size: min(5.3333333333vw, 20px);
  }
}

.p-topFv__catch-line--indent {
  margin-left: 34px;
}

.p-topPickup {
  border-bottom: 1px solid #dddddd;
}

.p-topPickup__inner {
  display: flex;
  align-items: center;
  padding-block: 22px;
}
@media screen and (max-width: 767px) {
  .p-topPickup__inner {
    flex-direction: column;
    align-items: start;
    padding-block: 10px;
  }
}

.p-topPickup__heading {
  font-family: "Inter", sans-serif;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.09em;
  color: #000000;
}
@media screen and (max-width: 767px) {
  .p-topPickup__heading {
    font-size: 20px;
  }
}

.p-topPickup__divider {
  align-self: stretch;
  width: 1px;
  margin-inline: 48px;
  background: #d5d5d5;
}
@media screen and (max-width: 767px) {
  .p-topPickup__divider {
    display: none;
  }
}

.p-topPickup__swiper-container {
  position: relative;
  flex: 1;
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .p-topPickup__swiper-container {
    width: 100%;
    margin-top: 12px;
  }
}

.p-topPickup__swiper-box {
  display: flex;
  align-items: center;
  gap: 24px;
  color: #000000;
}
@media screen and (max-width: 767px) {
  .p-topPickup__swiper-box {
    flex-wrap: wrap;
    align-items: center;
    column-gap: 12px;
    row-gap: 4px;
  }
}

.p-topPickup__cat {
  padding: 3px 14px;
  border-radius: 100vmax;
  background: #007434;
  color: #ffffff;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-topPickup__cat {
    font-size: 12px;
  }
}

.p-topPickup__cat--training {
  background: #007434;
}

.p-topPickup__cat--news,
.p-topPickup__cat--info {
  background: #ff9402;
}

.p-topPickup__cat--subsidy {
  background: #025bff;
}

.p-topPickup__cat--product {
  background: #ff4502;
}

.p-topPickup__date {
  font-size: 15px;
}
@media screen and (max-width: 767px) {
  .p-topPickup__date {
    font-size: 12px;
  }
}

.p-topPickup__title {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  font-size: 15px;
  white-space: nowrap;
  text-overflow: ellipsis;
  transition: opacity 0.2s;
}
@media screen and (max-width: 767px) {
  .p-topPickup__title {
    flex-basis: 100%;
    font-size: unset;
  }
}

.p-topPickup__swiper-box:hover .p-topPickup__title {
  opacity: 0.6;
}

.p-topPickup__dots {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-left: 24px;
  position: static !important;
  width: auto !important;
  --swiper-pagination-bullet-horizontal-gap: 0;
}
@media screen and (max-width: 767px) {
  .p-topPickup__dots {
    align-self: flex-end;
    margin-left: 0;
    margin-top: 12px;
  }
}
.p-topPickup__dots .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  margin: 0;
  border: 1px solid #9a9a9a;
  background: transparent;
  opacity: 1;
}
.p-topPickup__dots .swiper-pagination-bullet-active {
  background: #333333;
  border-color: #333333;
}

.p-topReserve {
  background: #f7f7f7;
  padding-block: 60px 80px;
}
@media screen and (max-width: 767px) {
  .p-topReserve {
    padding-block: 40px 56px;
  }
}

.p-topReserve__inner {
  display: grid;
  grid-template-columns: minmax(0, 508fr) minmax(0, 646fr);
  column-gap: 46px;
  row-gap: 36px;
}
@media screen and (max-width: 767px) {
  .p-topReserve__inner {
    grid-template-columns: 1fr;
    row-gap: 30px;
  }
}
.p-topReserve__inner > .section-title {
  grid-column: 1/-1;
}

.p-topReserve__body {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
@media screen and (max-width: 767px) {
  .p-topReserve__body {
    gap: 12px;
  }
}

.p-topReserve__link {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 18px 24px;
  border: 1px solid var(--reserve-color);
  border-radius: 12px;
  background: var(--reserve-color);
  box-shadow: 0 4px 14px rgba(11, 43, 79, 0.08);
  color: #ffffff;
  transition: background-color 0.2s, color 0.2s, box-shadow 0.2s, translate 0.2s;
}
@media screen and (max-width: 767px) {
  .p-topReserve__link {
    gap: 12px;
    padding: 14px 16px;
  }
}
.p-topReserve__link:hover {
  background: #ffffff;
  box-shadow: 0 8px 20px rgba(11, 43, 79, 0.16);
  color: var(--reserve-color);
  translate: 0 -2px;
}

.p-topReserve__link--red {
  --reserve-color: #ae2417;
}

.p-topReserve__link--blue {
  --reserve-color: #175dae;
}

.p-topReserve__link-label {
  display: block;
  font-size: 15px;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .p-topReserve__link-label {
    font-size: unset;
  }
}

.p-topReserve__link-name {
  display: block;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .p-topReserve__link-name {
    font-size: 17px;
  }
}

.p-topReserve__link-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 32px;
  border-radius: 6px;
  background: #ffffff;
  color: var(--reserve-color);
  transition: background-color 0.2s, color 0.2s, translate 0.2s;
}
.p-topReserve__link-btn svg {
  width: 20px;
  height: 14px;
}

.p-topReserve__link:hover .p-topReserve__link-btn {
  background: var(--reserve-color);
  color: #ffffff;
  translate: 4px 0;
}

.p-topReserve__caution {
  display: grid;
  grid-template-columns: 45px minmax(0, 1fr);
  column-gap: 18px;
  padding: 25px 27px 30px 17px;
  background: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-topReserve__caution {
    column-gap: 12px;
    padding: 20px;
  }
}

.p-topReserve__caution-icon {
  width: 45px;
  height: 45px;
}

.p-topReserve__caution-title {
  color: #ae2417;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-topReserve__caution-title {
    font-size: unset;
  }
}

.p-topReserve__caution-text {
  margin-top: 12px;
  font-size: 15px;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .p-topReserve__caution-text {
    font-size: unset;
  }
}
.p-topReserve__caution-text strong {
  color: #ae2417;
  font-weight: 700;
}

.p-topReserve__caution-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 20px;
  padding: 9px 20px;
  border: 1px solid #486934;
  border-radius: 8px;
  background: #486934;
  color: #ffffff;
  font-family: "Inter", sans-serif;
  font-size: 17px;
  font-weight: 700;
  transition: background-color 0.2s, color 0.2s;
}
@media screen and (max-width: 767px) {
  .p-topReserve__caution-btn {
    font-size: unset;
    padding: 9px 10px;
  }
}
.p-topReserve__caution-btn:hover {
  background: #ffffff;
  color: #486934;
}
.p-topReserve__caution-btn:hover .p-topReserve__caution-btn-icon circle {
  fill: #486934;
}
.p-topReserve__caution-btn:hover .p-topReserve__caution-btn-icon path {
  stroke: #ffffff;
}

.p-topReserve__caution-btn-icon {
  width: 18px;
  height: 18px;
}
.p-topReserve__caution-btn-icon circle {
  fill: #ffffff;
  transition: fill 0.2s;
}
.p-topReserve__caution-btn-icon path {
  stroke: #486934;
  transition: stroke 0.2s;
}

.p-topDocuments {
  background: #f6f6f6;
  padding-block: 54px 77px;
}
@media screen and (max-width: 767px) {
  .p-topDocuments {
    padding-block: 40px 56px;
  }
}

.p-topDocuments__title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  padding-bottom: 20px;
  border-bottom: 1px solid #dddddd;
  font-family: "Inter", sans-serif;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.09em;
  color: #000000;
}
@media screen and (max-width: 767px) {
  .p-topDocuments__title {
    flex-direction: column;
    align-items: unset;
    justify-content: unset;
    text-align: center;
  }
}
.p-topDocuments__title span {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 13px;
  letter-spacing: 0.1em;
}

.p-topDocuments__items {
  margin-top: 55px;
}

.p-topDocuments__swiper-container {
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-topDocuments__swiper-container {
    width: 100vw;
    margin-inline: calc(50% - 50vw);
    padding-left: 20px;
    overflow: hidden;
  }
}

.p-topDocuments__swiper {
  overflow: visible !important;
}

.p-topDocuments__swiper-wrapper {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px 16px !important;
}
@media screen and (max-width: 767px) {
  .p-topDocuments__swiper-wrapper {
    display: flex !important;
    gap: 0 !important;
  }
}

.p-topDocuments__swiper-slide {
  height: auto !important;
}

.p-topDocuments__dots {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-topDocuments__dots {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-top: 20px;
    position: static !important;
    width: auto !important;
    --swiper-pagination-bullet-horizontal-gap: 0;
  }
}
.p-topDocuments__dots .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  margin: 0;
  border: 1px solid #9a9a9a;
  background: transparent;
  opacity: 1;
}
.p-topDocuments__dots .swiper-pagination-bullet-active {
  background: #333333;
  border-color: #333333;
}

.topDocumentsItem {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  height: 100%;
  display: flex;
  flex-direction: column;
  padding: 24px;
  background: #ffffff;
  border: 1px solid #dddddd;
  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.09);
  text-align: center;
  color: #184738;
  transition: color 0.3s;
}
.topDocumentsItem::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: -1;
  width: 200%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #184738;
  opacity: 0;
  transform: translate(-50%, -50%) scale(0);
  transition: opacity 0.4s ease, transform 0s 0.4s;
  pointer-events: none;
}
.topDocumentsItem:hover {
  color: #ffffff;
}
.topDocumentsItem:hover::before {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
  transition: transform 0.5s ease, opacity 0s ease;
}
.topDocumentsItem:has(.topDocumentsItem__tag) {
  color: #b16213;
}
.topDocumentsItem:has(.topDocumentsItem__tag)::before {
  background: #b16213;
}
.topDocumentsItem:has(.topDocumentsItem__tag):hover {
  color: #ffffff;
}

.topDocumentsItem__tag {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 86px;
  height: 20px;
  background: #b06213;
  color: #ffffff;
  font-size: 12px;
  font-weight: 700;
}

.topDocumentsItem__head {
  position: relative;
  z-index: 1;
  padding-bottom: 14px;
  border-bottom: 1px solid #dddddd;
}

.topDocumentsItem__title {
  font-family: "Inter", sans-serif;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.09em;
  line-height: 1.35;
  color: inherit;
}

.topDocumentsItem__title-dis {
  margin-top: 2px;
  font-size: 12px;
  color: inherit;
}

.topDocumentsItem__contents {
  position: relative;
  z-index: 1;
  margin-top: 14px;
  text-align: left;
}

.topDocumentsItem__text {
  font-size: 15px;
  line-height: 1.55;
  color: inherit;
}
@media screen and (max-width: 767px) {
  .topDocumentsItem__text {
    font-size: unset;
  }
}

.p-topNews {
  padding-block: 80px;
}
@media screen and (max-width: 767px) {
  .p-topNews {
    padding-block: 56px;
  }
}

.p-topNews__inner {
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  column-gap: 60px;
  align-items: start;
}
@media screen and (max-width: 767px) {
  .p-topNews__inner {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 40px;
  }
}

.p-topNews__title {
  position: relative;
  padding-bottom: 22px;
  font-size: 64px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-topNews__title {
    font-size: 40px;
  }
}
.p-topNews__title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 79px;
  height: 5px;
  background: #ff9402;
}

.p-topNews__more {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 24px;
  color: #000000;
  font-size: 20px;
  text-decoration: underline;
  text-underline-offset: 4px;
  transition: opacity 0.2s;
}
@media screen and (max-width: 767px) {
  .p-topNews__more {
    font-size: 16px;
  }
}
.p-topNews__more:hover {
  opacity: 0.6;
}

.p-topNews__more-icon {
  width: 25px;
  height: auto;
  aspect-ratio: 1;
}
@media screen and (max-width: 767px) {
  .p-topNews__more-icon {
    width: 20px;
  }
}

.p-topNews__sublinks {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 24px;
  letter-spacing: 0.01em;
}

.p-topNews__sublink {
  position: relative;
  display: block;
  padding-left: 14px;
  color: #000000;
  font-size: 13px;
  line-height: 1.5;
  transition: opacity 0.2s;
}
.p-topNews__sublink::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.45em;
  border-style: solid;
  border-width: 4px 0 4px 6px;
  border-color: transparent transparent transparent #000000;
}
.p-topNews__sublink:hover {
  opacity: 0.6;
}

.p-topNews__tablist {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  border-bottom: 1px solid #000000;
}
@media screen and (max-width: 767px) {
  .p-topNews__tablist {
    display: none;
  }
}

.p-topNews__select {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-topNews__select {
    display: block;
    position: relative;
  }
}

.p-topNews__select-field {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  padding: 12px 44px 12px 16px;
  border: 1px solid #000000;
  border-radius: 6px;
  background: #ffffff;
  color: #000000;
  font-family: inherit;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
  cursor: pointer;
}

.p-topNews__select-icon {
  position: absolute;
  top: 50%;
  right: 16px;
  translate: 0 -50%;
  width: 12px;
  height: 8px;
  color: #000000;
  pointer-events: none;
}

.p-topNews__tab {
  display: block;
  width: 100%;
  position: relative;
  padding: 14px;
  border: none;
  background: transparent;
  color: #000000;
  font-weight: 700;
  line-height: 1.4;
  cursor: pointer;
}
.p-topNews__tab:not(:first-child)::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  translate: 0 -50%;
  width: 1px;
  height: 24px;
  background: #cccccc;
}
.p-topNews__tab[aria-selected=true] {
  background: #1a1a1a;
  color: #ffffff;
  border-radius: 12px 12px 0 0;
  pointer-events: none;
}
.p-topNews__tab[aria-selected=true]::before {
  content: none;
}

.p-topNews__tab--important {
  color: #d20003;
}

.p-topNews__tab--training {
  color: #007434;
}

.p-topNews__tab--news,
.p-topNews__tab--info {
  color: #ff9402;
}

.p-topNews__tab--subsidy {
  color: #025bff;
}

.p-topNews__tab--product {
  color: #ff4502;
}

.p-topNews__panels {
  margin-top: 28px;
}

.p-topNews__panel {
  display: none;
}
.p-topNews__panel.js-show {
  display: block;
}

.p-topNews__item {
  border-bottom: 1px dashed #cccccc;
}

.p-topNews__link {
  display: block;
  padding-block: 14px;
  color: #000000;
  transition: opacity 0.2s;
}
.p-topNews__link:hover {
  opacity: 0.6;
}

.p-topNews__meta {
  display: flex;
  align-items: center;
  gap: 16px;
}

.p-topNews__date {
  font-size: 15px;
}
@media screen and (max-width: 767px) {
  .p-topNews__date {
    font-size: 12px;
  }
}

.p-topNews__badge {
  display: inline-flex;
  align-items: center;
  padding: 2px 12px;
  border-radius: 100vmax;
  color: #ffffff;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-topNews__badge {
    font-size: 12px;
  }
}

.p-topNews__badge--news,
.p-topNews__badge--info {
  background: #ff9402;
}

.p-topNews__badge--training {
  background: #007434;
}

.p-topNews__badge--subsidy {
  background: #025bff;
}

.p-topNews__badge--product {
  background: #ff4502;
}

.p-topNews__badge--oss-news {
  background: #0081d2;
}

.p-topNews__badge--obd {
  background: #0048b8;
}

.p-topNews__badge--important {
  background: #d20003;
}

.p-topNews__item-title {
  display: block;
  margin-top: 8px;
  font-size: 15px;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-topNews__item-title {
    margin-top: 4px;
    font-size: unset;
  }
}

.p-topNews__empty {
  padding-block: 40px;
  text-align: center;
  color: #666666;
  font-size: 15px;
}
@media screen and (max-width: 767px) {
  .p-topNews__empty {
    font-size: unset;
  }
}

.p-topCoverImg {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}
@media screen and (max-width: 767px) {
  .p-topCoverImg {
    grid-template-columns: repeat(2, 1fr);
  }
}
.p-topCoverImg img {
  width: 100%;
  aspect-ratio: 360/382;
  object-fit: cover;
}

.p-topOss {
  padding-block: 100px;
}
@media screen and (max-width: 767px) {
  .p-topOss {
    padding-block: 64px;
  }
}

.p-topOss__body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 43.8333333333%;
  column-gap: 56px;
  align-items: start;
}
@media screen and (max-width: 767px) {
  .p-topOss__body {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 40px;
  }
}

.p-topOss__discription {
  margin-top: 48px;
  font-size: 15px;
  line-height: 2.4;
  color: #000000;
}
@media screen and (max-width: 767px) {
  .p-topOss__discription {
    line-height: unset;
    font-size: unset;
  }
}

.p-topOss__info {
  margin-top: 26px;
  width: 388px;
  max-width: 100%;
  padding: 32px;
  border: 1px solid #c0c0c0;
}
@media screen and (max-width: 767px) {
  .p-topOss__info {
    padding: 20px;
  }
}

.p-topOss__info-text {
  font-size: 15px;
  line-height: 1.4;
  color: #000000;
}
@media screen and (max-width: 767px) {
  .p-topOss__info-text {
    font-size: unset;
  }
}

.p-topOss__info-list {
  margin-top: 20px;
  list-style: "・";
}
.p-topOss__info-list li {
  padding-left: 4px;
  font-size: 15px;
  line-height: 1.75;
  color: #000000;
}
@media screen and (max-width: 767px) {
  .p-topOss__info-list li {
    font-size: unset;
  }
}

.p-topOss__links {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 44px 21px;
  background: #e8e8e8;
  border-radius: 42px;
}

.p-topOss__link {
  position: relative;
  display: block;
  padding: 24px;
  background: #ffffff;
  border-radius: 10px;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
  transition: opacity 0.2s;
}
@media screen and (max-width: 767px) {
  .p-topOss__link {
    padding: 20px;
  }
}
.p-topOss__link:hover {
  opacity: 0.75;
}

.p-topOss__link-inner {
  display: flex;
  align-items: center;
  gap: 16px;
}

.p-topOss__link-icon {
  display: flex;
  width: 44px;
  height: 44px;
  color: #1f5da3;
}
@media screen and (max-width: 767px) {
  .p-topOss__link-icon {
    width: 30px;
  }
}
.p-topOss__link-icon svg {
  width: 100%;
  height: 100%;
}

.p-topOss__link-left .text {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
  color: #000000;
  text-decoration: underline;
  text-underline-offset: 3px;
}
@media screen and (max-width: 767px) {
  .p-topOss__link-left .text {
    font-size: unset;
  }
}

.p-topOss__link-bottom {
  margin-top: 8px;
  margin-left: 60px;
  padding-right: 30px;
  font-size: 14px;
  color: #000000;
}
@media screen and (max-width: 767px) {
  .p-topOss__link-bottom {
    margin-left: 0;
  }
}
.p-topOss__link-bottom:empty {
  display: none;
}

.p-topOss__link-arrow {
  position: absolute;
  right: 16px;
  bottom: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: auto;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #ff9402;
}
@media screen and (max-width: 767px) {
  .p-topOss__link-arrow {
    width: 25px;
  }
}
.p-topOss__link-arrow svg {
  width: 16px;
  height: 16px;
}

.p-topFactorySystem {
  background: #f6f6f6;
  padding-block: 104px 82px;
}
@media screen and (max-width: 767px) {
  .p-topFactorySystem {
    padding-block: 64px 56px;
  }
}

.p-topFactorySystem__body {
  margin-top: 41px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 48.6666666667%;
  column-gap: 32px;
  align-items: start;
}
@media screen and (max-width: 767px) {
  .p-topFactorySystem__body {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 40px;
  }
}

@media screen and (max-width: 767px) {
  .p-topFactorySystem__left {
    order: 2;
  }
}

@media screen and (max-width: 767px) {
  .p-topFactorySystem__right {
    order: 1;
  }
}

.p-topFactorySystem__h3 {
  color: #175dae;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.35;
}

.p-topFactorySystem__description {
  margin-top: 24px;
  font-size: 15px;
  line-height: 2.13;
}
@media screen and (max-width: 767px) {
  .p-topFactorySystem__description {
    font-size: unset;
    line-height: unset;
  }
}
.p-topFactorySystem__description p + p {
  margin-top: 24px;
}

.p-topFactorySystem__button {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-top: 40px;
  padding: 18px 32px;
  border: 1px solid #175dae;
  border-radius: 10px;
  background: #175dae;
  color: #ffffff;
  font-family: "Inter", sans-serif;
  font-size: 20px;
  font-weight: 700;
  transition: background-color 0.2s, color 0.2s;
}
@media screen and (max-width: 767px) {
  .p-topFactorySystem__button {
    display: flex;
    width: fit-content;
    margin-inline: auto;
    font-size: 14px;
  }
}
.p-topFactorySystem__button:hover {
  background: #ffffff;
  color: #175dae;
}
.p-topFactorySystem__button:hover .p-topFactorySystem__button-icon circle {
  fill: #175dae;
}
.p-topFactorySystem__button:hover .p-topFactorySystem__button-icon path {
  stroke: #ffffff;
}

.p-topFactorySystem__button-icon {
  width: 20px;
  height: 20px;
}
.p-topFactorySystem__button-icon circle {
  fill: #ffffff;
  transition: fill 0.2s;
}
.p-topFactorySystem__button-icon path {
  stroke: #175dae;
  transition: stroke 0.2s;
}

.p-topFactorySystem__image {
  position: relative;
  display: block;
  box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
}
.p-topFactorySystem__image img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.p-topFactorySystem__image:hover .p-topFactorySystem__image-label,
.p-topFactorySystem__image:focus-visible .p-topFactorySystem__image-label {
  opacity: 1;
}

.p-topFactorySystem__image-label {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  background: rgba(0, 0, 0, 0.55);
  color: #ffffff;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  opacity: 0;
  transition: opacity 0.2s;
}
@media (hover: none) {
  .p-topFactorySystem__image-label {
    inset: auto 0 0;
    padding: 10px 16px;
    font-size: 15px;
    opacity: 1;
  }
}

.p-topTrainingCenter {
  position: relative;
  isolation: isolate;
  padding-block: 116px 84px;
}
@media screen and (max-width: 767px) {
  .p-topTrainingCenter {
    padding-block: 64px 56px;
  }
}
.p-topTrainingCenter {
  background: #ffffff;
}
.p-topTrainingCenter::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: url(../img/top-page/training-center-bg.webp) no-repeat center/cover;
  opacity: 0.85;
}

.p-topTrainingCenter__body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 48.6666666667%;
  grid-template-rows: auto 1fr;
  grid-template-areas: "title image" "text  image";
  column-gap: 44px;
  row-gap: 41px;
  align-items: start;
}
@media screen and (max-width: 767px) {
  .p-topTrainingCenter__body {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto;
    grid-template-areas: "title" "image" "text";
    row-gap: 24px;
  }
}

.p-topTrainingCenter__title {
  grid-area: title;
}

.p-topTrainingCenter__right {
  grid-area: image;
}

.p-topTrainingCenter__left {
  grid-area: text;
}

.p-topTrainingCenter__h3 {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.85;
}
@media screen and (max-width: 767px) {
  .p-topTrainingCenter__h3 {
    font-size: 18px;
    line-height: 1.6;
  }
}

.p-topTrainingCenter__description {
  margin-top: 12px;
  max-width: 572px;
  font-size: 15px;
  line-height: 2.13;
}
@media screen and (max-width: 767px) {
  .p-topTrainingCenter__description {
    max-width: none;
    font-size: unset;
    line-height: unset;
  }
}

.p-topTrainingCenter__link {
  display: inline-flex;
  align-items: center;
  gap: 1em;
  margin-top: 31px;
  border-bottom: 2px solid #0a7e71;
  color: #0a7e71;
  font-size: 15px;
  font-weight: 700;
  line-height: 2.13;
}
@media screen and (max-width: 767px) {
  .p-topTrainingCenter__link {
    display: flex;
    width: fit-content;
    margin-top: 24px;
    margin-inline: auto;
  }
}
.p-topTrainingCenter__link:hover .p-topTrainingCenter__link-arrow {
  transform: translateX(4px);
}

.p-topTrainingCenter__link-arrow {
  transition: transform 0.2s;
}

.p-topTrainingCenter__image img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.p-topTrainingCenter__cards {
  margin-top: 46px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}
@media screen and (max-width: 767px) {
  .p-topTrainingCenter__cards {
    margin-top: 40px;
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }
}

.p-topTrainingCenter__card {
  display: grid;
}

.topTrainingCard {
  display: flex;
  flex-direction: column;
  padding: 28px 28px 10px;
}
@media screen and (max-width: 767px) {
  .topTrainingCard {
    padding: 24px 20px 10px;
  }
}
.topTrainingCard {
  border: 1px solid #e0e0e0;
  border-radius: 10px;
  background: #ffffff;
  box-shadow: 0 0 0 0 rgba(114, 192, 184, 0), 0 1px 3px 0 #72c0b8;
  transition: box-shadow 0.3s ease, border-color 0.3s ease;
}
.topTrainingCard:hover {
  border-color: transparent;
  box-shadow: 0 0 0 1px rgba(114, 192, 184, 0.45), 0 6px 18px rgba(114, 192, 184, 0.35);
}

.topTrainingCard__icon {
  width: 36px;
  height: 36px;
}

.topTrainingCard__title {
  margin-top: 9px;
  font-size: 16px;
  font-weight: 700;
  line-height: 2.31;
}

.topTrainingCard__text {
  font-size: 15px;
  line-height: 1.53;
}

.topTrainingCard__link {
  margin-top: auto;
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 1em;
  padding-top: 15px;
  color: #0a7e71;
  font-size: 15px;
  font-weight: 700;
  line-height: 2.13;
}

.topTrainingCard__link-arrow {
  transition: transform 0.2s;
}
.topTrainingCard:hover .topTrainingCard__link-arrow {
  transform: translateX(4px);
}

.p-topDownload {
  padding-block: 78px 100px;
  background: linear-gradient(180deg, #0e4d96 0%, #1f5da3 50%, #1b497e 100%);
  color: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-topDownload {
    padding-block: 56px 64px;
  }
}

.p-topDownload__head {
  padding-bottom: 30px;
  border-bottom: 1px solid #ffffff;
}

.p-topDownload__title {
  text-align: center;
  font-family: "Inter", sans-serif;
  font-size: 36px;
  font-weight: 700;
  letter-spacing: 0.09em;
}
@media screen and (max-width: 767px) {
  .p-topDownload__title {
    font-size: 25px;
  }
}

.p-topDownload__note {
  margin-top: 20px;
  text-align: center;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-topDownload__note {
    margin-top: 15px;
    font-size: 13px;
    text-align: left;
  }
}

.p-topDownload__note-link {
  color: inherit;
  text-decoration: underline;
}
@media (any-hover: hover) {
  .p-topDownload__note-link:hover {
    opacity: 0.7;
  }
}

.p-topDownload__body {
  margin-top: 75px;
}

.p-topDownload__list {
  display: flex;
  flex-direction: column;
  gap: 75px;
}
@media screen and (max-width: 767px) {
  .p-topDownload__list {
    gap: 30px;
  }
}

.p-topDownload__line {
  height: 1px;
  background: #ffffff;
}

.topDownloadItem {
  display: flex;
  gap: 57px;
}
@media screen and (max-width: 767px) {
  .topDownloadItem {
    flex-direction: column;
    gap: 15px;
  }
}

.topDownloadItem__number {
  font-family: "Inter", sans-serif;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.09em;
}

.topDownloadItem__right {
  flex: 1;
  min-width: 0;
}

.topDownloadItem__title {
  line-height: 1.3;
}

.topDownloadItem__title-link {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  color: #ffffff;
  font-family: "Inter", sans-serif;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.09em;
  transition: opacity 0.2s;
}
@media screen and (max-width: 767px) {
  .topDownloadItem__title-link {
    font-size: 20px;
  }
}
.topDownloadItem__title-link:hover {
  opacity: 0.75;
}

.topDownloadItem__title-arrow {
  display: flex;
  width: 45px;
  height: auto;
  aspect-ratio: 45/27;
}
@media screen and (max-width: 767px) {
  .topDownloadItem__title-arrow {
    width: 30px;
  }
}
.topDownloadItem__title-arrow svg {
  width: 100%;
  height: 100%;
}

.topDownloadItem__description {
  margin-top: 14px;
  font-size: 15px;
  line-height: 1.35;
}
@media screen and (max-width: 767px) {
  .topDownloadItem__description {
    font-size: unset;
  }
}

.topDownloadItem__list {
  margin-top: 20px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.topDownloadItem__item-title {
  margin-bottom: 12px;
  font-size: 15px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .topDownloadItem__item-title {
    font-size: unset;
  }
}

.topDownloadItem__item-links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 10px;
}

.topDownloadItem__item-link {
  display: inline-flex;
  align-items: center;
  padding: 14px 25px;
  background: #ffffff;
  border: 1px solid #9a9a9a;
  color: #000000;
  font-size: 15px;
  line-height: 1.4;
  transition: opacity 0.2s;
}
@media screen and (max-width: 767px) {
  .topDownloadItem__item-link {
    font-size: unset;
  }
}
.topDownloadItem__item-link:hover {
  opacity: 0.7;
}

.p-topKeyword {
  padding-block: 52px;
}
@media screen and (max-width: 767px) {
  .p-topKeyword {
    padding-block: 40px;
  }
}

.p-topKeyword__title {
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: "Inter", sans-serif;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.09em;
  color: #000000;
}
@media screen and (max-width: 767px) {
  .p-topKeyword__title {
    font-size: 18px;
    justify-content: center;
  }
}

.p-topKeyword__title-dot {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #ff0000;
}

.p-topKeyword__body {
  margin-top: 20px;
  display: flex;
  flex-wrap: wrap;
  gap: 20px 12px;
}
@media screen and (max-width: 767px) {
  .p-topKeyword__body {
    gap: 12px;
    flex-direction: column;
  }
}

.p-topKeyword__item {
  display: inline-flex;
  align-items: center;
  padding: 14px 25px;
  background: #ffffff;
  border: 1px solid #9a9a9a;
  color: #000000;
  font-size: 15px;
  line-height: 1.4;
  transition: opacity 0.2s;
}
@media screen and (max-width: 767px) {
  .p-topKeyword__item {
    font-size: unset;
    display: block;
    text-align: center;
  }
}
.p-topKeyword__item:hover {
  opacity: 0.7;
}

.p-topAnshin {
  position: relative;
}

.p-topAnshin__image {
  width: 100%;
  aspect-ratio: 1439/663;
}
@media screen and (max-width: 767px) {
  .p-topAnshin__image {
    aspect-ratio: 375/667;
  }
}
.p-topAnshin__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
}

.p-topAnshin__text {
  position: absolute;
  top: 5.5555555556vw;
  left: 50%;
  translate: -50% 0;
  width: 100%;
  text-align: center;
  color: #184738;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: min(4.4444444444vw, 64px);
  line-height: 1.42;
}
@media screen and (max-width: 767px) {
  .p-topAnshin__text {
    top: 21.3333333333vw;
    font-size: min(8vw, 30px);
    line-height: 2.1;
  }
}

.p-topAnshinPoster {
  padding-block: 80px;
}
@media screen and (max-width: 767px) {
  .p-topAnshinPoster {
    padding-block: 56px;
  }
}

.p-topAnshinPoster__inner {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 189px;
  align-items: start;
}
@media screen and (max-width: 767px) {
  .p-topAnshinPoster__inner {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}

.p-topAnshinPoster__left {
  padding-left: 36px;
}
@media screen and (max-width: 767px) {
  .p-topAnshinPoster__left {
    padding-left: 0;
    order: 2;
  }
}

.p-topAnshinPoster__image {
  width: 263px;
  box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
}
@media screen and (max-width: 767px) {
  .p-topAnshinPoster__image {
    width: 100%;
  }
}
.p-topAnshinPoster__image img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.p-topAnshinPoster__caption {
  margin-top: 13px;
  text-align: center;
  font-family: "Noto Serif JP", serif;
  font-size: 13px;
  letter-spacing: 0.09em;
  line-height: 1.3;
  color: #000000;
}

.p-topAnshinPoster__right {
  padding-top: 66px;
}
@media screen and (max-width: 767px) {
  .p-topAnshinPoster__right {
    padding-top: 0;
    order: 1;
  }
}

.p-topAnshinPoster__title {
  font-family: "Noto Serif JP", serif;
  font-size: 32px;
  line-height: 1.375;
  color: #313131;
}
@media screen and (max-width: 767px) {
  .p-topAnshinPoster__title {
    font-size: 20px;
    text-align: center;
    line-height: 2;
  }
}

.p-topAnshinPoster__text {
  margin-top: 49px;
  font-family: "Noto Serif JP", serif;
  letter-spacing: 0.09em;
  line-height: 2.13;
  color: #000000;
}
@media screen and (max-width: 767px) {
  .p-topAnshinPoster__text {
    margin-top: 30px;
    text-align: center;
  }
}

.p-topCheckSticker {
  padding-block: 51px 82px;
  background: rgba(232, 238, 244, 0.71);
}
@media screen and (max-width: 767px) {
  .p-topCheckSticker {
    padding-block: 40px 56px;
  }
}

@media screen and (max-width: 767px) {
  .p-topCheckSticker__inner {
    display: flex;
    flex-direction: column;
    gap: 30px;
  }
}

.p-topCheckSticker__body {
  display: grid;
  grid-template-columns: max-content 1fr;
  column-gap: 150px;
  align-items: start;
}
@media screen and (max-width: 767px) {
  .p-topCheckSticker__body {
    grid-template-columns: 1fr;
    row-gap: 40px;
    display: contents;
  }
}

@media screen and (max-width: 767px) {
  .p-topCheckSticker__left {
    order: 1;
  }
}

.p-topCheckSticker__en {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  color: #313131;
}
@media screen and (max-width: 767px) {
  .p-topCheckSticker__en {
    font-size: 12px;
    text-align: center;
  }
}

.p-topCheckSticker__title {
  font-family: "Noto Serif JP", serif;
  font-size: 32px;
  line-height: 1.375;
  color: #313131;
}
@media screen and (max-width: 767px) {
  .p-topCheckSticker__title {
    font-size: 20px;
    text-align: center;
  }
}

@media screen and (max-width: 767px) {
  .p-topCheckSticker__right {
    order: 4;
  }
}

.p-topCheckSticker__h3 {
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 1.375;
  color: #313131;
}
@media screen and (max-width: 767px) {
  .p-topCheckSticker__h3 {
    font-size: 16px;
  }
}

.p-topCheckSticker__text {
  margin-top: 20px;
  font-family: "Noto Serif JP", serif;
  line-height: 1.875;
  color: #313131;
}

.p-topCheckSticker__attention-wrap {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 22px;
}

.p-topCheckSticker__attention-line {
  align-self: stretch;
  width: 1px;
  background: #000000;
}

.p-topCheckSticker__attention {
  font-family: "Noto Serif JP", serif;
  font-size: 13px;
  line-height: 1.46;
  color: #313131;
}

.p-topCheckSticker__image {
  position: relative;
  margin-top: 82px;
  padding: 19px 30px 31px 128px;
  background: #ffffff;
  border-radius: 29px;
}
@media screen and (max-width: 767px) {
  .p-topCheckSticker__image {
    margin-top: 0;
    padding: 20px;
    order: 2;
  }
}

.p-topCheckSticker__image-text {
  display: inline-block;
  font-family: "Noto Sans JP", sans-serif;
  color: #313131;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.p-topCheckSticker__image img {
  margin-top: 13px;
  width: 940px;
  max-width: 100%;
  height: auto;
}

.p-topAbout {
  position: relative;
}

.p-topAbout__bg {
  width: 100%;
  height: auto;
  aspect-ratio: 1440/380;
}
@media screen and (max-width: 767px) {
  .p-topAbout__bg {
    aspect-ratio: 375/667;
    max-height: 667px;
  }
}
.p-topAbout__bg img {
  height: 100%;
  object-fit: cover;
  object-position: bottom;
}

.p-topAbout__inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.p-topAbout__text {
  position: absolute;
  top: 2.7777777778vw;
  left: 50%;
  transform: translateX(-50%);
  width: 42.7083333333vw;
  text-align: center;
  font-family: "Inter", sans-serif;
  font-weight: 500;
  letter-spacing: 0.16em;
  line-height: 2;
  color: #000000;
  font-size: 1.1111111111vw;
}
@media screen and (max-width: 767px) {
  .p-topAbout__text {
    top: min(21.3333333333vw, 80px);
    width: 90%;
    font-size: min(4.2666666667vw, 16px);
  }
}

.header {
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  width: 100%;
  background: #ffffff;
  box-shadow: 0 1px 3px 0 rgba(150, 150, 150, 0.25);
  transition: background 0.4s, box-shadow 0.4s, translate 0.4s ease;
}
.header.js-slide-up {
  translate: 0 -100%;
}

.js-header-offset {
  padding-top: var(--header-height, 130px);
}

.header__inner {
  display: flex;
  align-items: stretch;
  padding-left: 40px;
  padding-right: 125px;
}
@media screen and (max-width: 1150px) {
  .header__inner {
    padding-right: 325px;
  }
}
@media screen and (max-width: 767px) {
  .header__inner {
    justify-content: space-between;
    padding-left: 20px;
    padding-right: 171px;
  }
}

.header__logo {
  align-self: center;
  display: block;
  padding-block: 18px;
  color: #000000;
  transition: color 0.4s;
}
@media screen and (max-width: 767px) {
  .header__logo {
    padding-block: 10px;
    flex-shrink: 1;
    min-width: 0;
  }
}

.header__logo-img {
  display: block;
  width: min(17.5vw, 252px);
  margin-inline: auto;
  aspect-ratio: 252/92;
}
@media screen and (max-width: 767px) {
  .header__logo-img {
    width: min(26.6666666667vw, 100px);
  }
}
.header__logo-img img {
  width: 100%;
  height: auto;
}

.header__body {
  flex: 1;
  max-width: 1023px;
  margin-left: auto;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 22px 40px 20px;
  gap: 15px;
}
@media screen and (max-width: 1150px) {
  .header__body {
    padding: 0;
    gap: 0;
  }
}

.header__utility {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 24px;
  transition: opacity 0.4s, visibility 0.4s;
}

.header__icon {
  width: 24px;
  height: 24px;
}

.header__contact {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #000000;
  font-weight: 700;
}
@media screen and (max-width: 1150px) {
  .header__contact {
    display: none;
  }
}

.header__tools {
  display: none;
}
@media screen and (max-width: 1150px) {
  .header__tools {
    position: fixed;
    top: 0;
    right: 125px;
    z-index: 105;
    display: flex;
    transition: translate 0.4s ease;
  }
}
@media screen and (max-width: 767px) {
  .header__tools {
    right: 57px;
  }
}
.header__tools.js-slide-up {
  translate: 0 -100%;
}

.header__tool {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100px;
  height: var(--header-height, 130px);
  padding: 0;
  border: none;
  color: #ffffff;
  cursor: pointer;
  transition: opacity 0.3s;
}
@media screen and (max-width: 767px) {
  .header__tool {
    width: 57px;
    gap: 4px;
  }
}
.header__tool:hover {
  opacity: 0.8;
}

.header__tool--contact {
  background: #219792;
}

.header__tool--search {
  background: #e18103;
}

.header__tool-icon {
  width: 24px;
  height: 24px;
}
@media screen and (max-width: 767px) {
  .header__tool-icon {
    width: 20px;
    height: 20px;
  }
}

.header__tool-label {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .header__tool-label {
    font-size: 9px;
    letter-spacing: 0;
  }
}

.header__search-overlay {
  display: none;
}
@media screen and (max-width: 1150px) {
  .header__search-overlay {
    position: fixed;
    z-index: 90;
    top: var(--header-height, 130px);
    left: 0;
    display: block;
    width: 100%;
    height: 100vh;
    height: 100svh;
    background: rgba(0, 0, 0, 0.5);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.3s, visibility 0.3s;
  }
}

@media screen and (max-width: 1150px) {
  .header__search-overlay.js-show {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
}

.header__search {
  display: flex;
  align-items: stretch;
  gap: 8px;
  height: 32px;
}
@media screen and (max-width: 1150px) {
  .header__search {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    height: auto;
    padding: 16px 40px;
    background: #ffffff;
    box-shadow: 0 8px 16px 0 rgba(150, 150, 150, 0.25);
    opacity: 0;
    visibility: hidden;
    translate: 0 -8px;
    pointer-events: none;
    transition: opacity 0.3s, visibility 0s 0.3s, translate 0.3s;
  }
}
@media screen and (max-width: 767px) {
  .header__search {
    padding: 12px 20px;
  }
}

@media screen and (max-width: 1150px) {
  .header__search.js-show {
    opacity: 1;
    visibility: visible;
    translate: 0 0;
    pointer-events: auto;
    transition: opacity 0.3s, visibility 0s, translate 0.3s;
  }
}

.header__search-field {
  display: flex;
  align-items: center;
  gap: 6px;
  width: 234px;
  padding-inline: 10px;
  border: 0.5px solid #626262;
  border-radius: 3px;
  color: #9a9a9a;
}
@media screen and (max-width: 1150px) {
  .header__search-field {
    flex: 1;
    width: auto;
    height: 44px;
  }
}

.header__search-input {
  flex: 1;
  min-width: 0;
  border: none;
  background: transparent;
  font-size: 13px;
  color: #000000;
}
@media screen and (max-width: 1150px) {
  .header__search-input {
    font-size: 16px;
  }
}
.header__search-input::placeholder {
  color: #9a9a9a;
}
.header__search-input:focus {
  outline: none;
}

.header__search-btn {
  padding-inline: 14px;
  border: none;
  border-radius: 3px;
  background: #a3241f;
  color: #ffffff;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}
@media screen and (max-width: 1150px) {
  .header__search-btn {
    padding-inline: 20px;
    font-size: 14px;
  }
}

.header__nav {
  transition: opacity 0.4s, visibility 0.4s;
}
@media screen and (max-width: 1150px) {
  .header__nav {
    display: none;
  }
}

.header__nav-list {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.header__nav-item {
  flex: 0 1 auto;
  display: flex;
  justify-content: center;
}

.header__nav-link {
  position: relative;
  display: inline-flex;
  align-items: center;
  font-size: min(1.3671875vw, 16px);
  color: #000000;
  font-weight: 700;
  transition: opacity 0.2s;
}
.header__nav-link:hover {
  opacity: 0.6;
}

.header__nav-link--multiline {
  display: block;
  text-align: center;
  line-height: 1.3;
}

.header__nav-link--mega {
  background: none;
  cursor: pointer;
  appearance: none;
}

.header__nav-arrow {
  position: absolute;
  top: 100%;
  left: 50%;
  translate: -50% 0;
  width: 14px;
  height: 14px;
}

.header__mega-overlay {
  position: fixed;
  z-index: 90;
  top: var(--header-height, 130px);
  left: 0;
  width: 100%;
  height: 100vh;
  height: 100svh;
  background: rgba(0, 0, 0, 0.5);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.3s, visibility 0.3s;
}
@media screen and (max-width: 1150px) {
  .header__mega-overlay {
    display: none;
  }
}

.header__mega-overlay.js-show {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.header__mega {
  position: fixed;
  z-index: 91;
  top: var(--header-height, 130px);
  left: 0;
  width: 100%;
  background: #ffffff;
  box-shadow: 0 16px 28px rgba(11, 43, 79, 0.18);
  max-height: calc(100vh - var(--header-height, 130px));
  max-height: calc(100svh - var(--header-height, 130px));
  overflow-y: auto;
  overscroll-behavior: contain;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
}
@media screen and (max-width: 1150px) {
  .header__mega {
    display: none;
  }
}
.header__mega::before {
  content: "";
  position: sticky;
  top: 0;
  z-index: 1;
  display: block;
  height: 3px;
  background: linear-gradient(90deg, #1f5da3, #0b2b4f);
}

.header__mega.js-show {
  opacity: 1;
  visibility: visible;
}

.js-mega_show .header,
.js-mega_show .header__mega {
  width: calc(100% - var(--scrollbar-width, 0px));
}

.js-mega_show .drawer__icon {
  right: var(--scrollbar-width, 0px);
}

.js-search_show .header {
  width: calc(100% - var(--scrollbar-width, 0px));
}

.js-search_show .drawer__icon {
  right: var(--scrollbar-width, 0px);
}

.js-search_show .header__tools {
  right: calc(125px + var(--scrollbar-width, 0px));
}
@media screen and (max-width: 767px) {
  .js-search_show .header__tools {
    right: calc(57px + var(--scrollbar-width, 0px));
  }
}

.header__mega-inner {
  display: grid;
  grid-template-columns: 320px minmax(0, 1fr);
  gap: 40px;
  max-width: 1280px;
  margin-inline: auto;
  padding: 32px 40px 36px;
}
@media (max-width: 1100px) {
  .header__mega-inner {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
    padding: 24px 40px 28px;
  }
}

.header__mega-inner--single {
  grid-template-columns: minmax(0, 1fr);
}
.header__mega-inner--single .header__mega-list {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.header__mega-empty {
  padding-block: 24px;
  color: #9a9a9a;
  font-size: 15px;
}

.header__mega-side {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.header__mega-feature {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 24px 24px 22px;
  border-radius: 10px;
  background: linear-gradient(160deg, #0e4d96, #1f5da3 55%, #1b497e);
  color: #ffffff;
  transition: translate 0.3s, box-shadow 0.3s;
}
.header__mega-feature:hover {
  translate: 0 -2px;
  box-shadow: 0 10px 20px rgba(11, 43, 79, 0.25);
}
.header__mega-feature.--red {
  background: linear-gradient(160deg, #b8291a, #ae2417 55%, #8c1a10);
}
.header__mega-feature.--red:hover {
  box-shadow: 0 10px 20px rgba(79, 17, 11, 0.25);
}

.header__mega-feature-en {
  color: #60b0e3;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  line-height: 1;
}

.header__mega-feature.--red .header__mega-feature-en {
  color: #ffb3a8;
}

.header__mega-feature-title {
  margin-top: 10px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
}

.header__mega-feature-text {
  margin-top: 12px;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.8;
  opacity: 0.85;
}

.header__mega-feature-more {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: auto;
  padding-top: 18px;
  font-size: 13px;
  font-weight: 700;
}
.header__mega-feature-more .header__mega-icon {
  opacity: 1;
}

.header__mega-groups {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.header__mega-group-title {
  display: flex;
  align-items: baseline;
  gap: 12px;
  padding-bottom: 8px;
  border-bottom: 2px solid #1f5da3;
  color: #153a60;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
}

.header__mega-group-en {
  color: #1f5da3;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.header__mega-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2px 16px;
  margin-top: 8px;
}

.header__mega-link {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 10px;
  border-radius: 6px;
  color: #000000;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
  transition: background-color 0.2s, color 0.2s;
}
.header__mega-link:hover {
  background: #eaf2fb;
  color: #1f5da3;
}
.header__mega-link:hover .header__mega-icon {
  opacity: 1;
}

.header__mega-label {
  margin-right: auto;
}

.header__mega-badge {
  flex-shrink: 0;
  padding: 2px 6px;
  border-radius: 3px;
  background: #ba1114;
  color: #ffffff;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.4;
}

.header__mega-icon {
  flex-shrink: 0;
  width: 13px;
  height: 13px;
  opacity: 0.45;
  transition: opacity 0.2s;
}

.header__mega-note {
  padding-inline: 4px;
}

.header__mega-note-text {
  color: #333333;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.7;
}

.header__mega-note-link {
  color: #1f5da3;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: opacity 0.2s;
}
.header__mega-note-link:hover {
  opacity: 0.7;
}

.drawer__icon {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 120;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 125px;
  height: var(--header-height, 130px);
  border: none;
  background: #1f5da3;
  color: #ffffff;
  cursor: pointer;
  transition: translate 0.4s ease;
}
@media screen and (max-width: 767px) {
  .drawer__icon {
    width: 57px;
  }
}
.drawer__icon.js-slide-up {
  translate: 0 -100%;
}

.drawer__icon-bars {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 40px;
  height: 12px;
}
@media screen and (max-width: 767px) {
  .drawer__icon-bars {
    width: 30px;
  }
}

.drawer__icon-bar {
  width: 100%;
  height: 2px;
  background: #ffffff;
  transition: rotate 0.3s, translate 0.3s;
}

.drawer__icon-text {
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .drawer__icon-text {
    font-size: 10px;
  }
}
.drawer__icon-text::after {
  content: "MENU";
}

.drawer__icon.js-show .drawer__icon-bar:nth-of-type(1) {
  rotate: 45deg;
  translate: 0 5px;
}
.drawer__icon.js-show .drawer__icon-bar:nth-of-type(2) {
  rotate: -45deg;
  translate: 0 -5px;
}
.drawer__icon.js-show .drawer__icon-text::after {
  content: "CLOSE";
}

.drawer {
  position: fixed;
  z-index: 110;
  top: 0;
  right: 0;
  width: 100%;
  height: 100vh;
  height: 100svh;
  background: #5C7CA4;
  overflow-y: auto;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s, visibility 0.4s;
}

.drawer.js-show {
  opacity: 1;
  visibility: visible;
}

.drawer.is-instant {
  transition: none;
}

.drawer__inner {
  display: flex;
  flex-direction: column;
  max-width: 1280px;
  min-height: 100%;
  margin-inline: auto;
  padding: 50px 40px 40px;
  color: #ffffff;
}
@media screen and (max-width: 1150px) {
  .drawer__inner {
    padding: calc(var(--header-height, 130px) + 24px) 40px 40px;
  }
}
@media screen and (max-width: 767px) {
  .drawer__inner {
    padding-inline: 20px;
  }
}

.drawer__head {
  display: flex;
}
@media screen and (max-width: 1150px) {
  .drawer__head {
    flex-direction: column;
    gap: 20px;
  }
}
@media screen and (max-width: 767px) {
  .drawer__head {
    gap: 16px;
  }
}

.drawer__title {
  flex: 0 0 auto;
  width: 24.3333333333em;
  font-size: clamp(20px, 1.6666666667vw, 24px);
  font-weight: 700;
  line-height: 1.6666666667;
  letter-spacing: 0.16em;
}
@media screen and (max-width: 1150px) {
  .drawer__title {
    width: auto;
    font-size: clamp(20px, 2.34vw, 30px);
    line-height: 1.6;
    letter-spacing: inherit;
  }
}
@media screen and (max-width: 767px) {
  .drawer__title {
    font-size: 20px;
  }
}

.drawer__lead {
  flex: 1 1 auto;
  min-width: 0;
  font-size: clamp(13px, 1.1111111111vw, 16px);
  line-height: 1.75;
  letter-spacing: 0.16em;
}
@media screen and (max-width: 1150px) {
  .drawer__lead {
    font-size: clamp(13px, 1.17vw, 15px);
    line-height: 1.9;
    letter-spacing: inherit;
  }
}
@media screen and (max-width: 767px) {
  .drawer__lead {
    font-size: 13px;
    line-height: 1.8;
  }
}

.drawer__nav {
  display: flex;
  justify-content: space-between;
  gap: 64px;
  margin-top: 70px;
}
@media screen and (max-width: 1150px) {
  .drawer__nav {
    flex-direction: column;
    gap: 0;
    margin-top: 20px;
  }
}

.drawer__col {
  display: flex;
  flex-direction: column;
}
.drawer__col > * + * {
  margin-top: 30px;
}
.drawer__col .drawer__parent--solo + .drawer__group,
.drawer__col .drawer__group + .drawer__parent--solo {
  margin-top: 44px;
}
.drawer__col .drawer__parent--solo + .drawer__parent--solo {
  margin-top: 20px;
}
@media screen and (max-width: 1150px) {
  .drawer__col {
    width: 100%;
  }
  .drawer__col > * + * {
    margin-top: 0;
  }
  .drawer__col .drawer__parent--solo + .drawer__group,
  .drawer__col .drawer__group + .drawer__parent--solo,
  .drawer__col .drawer__parent--solo + .drawer__parent--solo {
    margin-top: 0;
  }
}

.drawer__parent {
  display: inline-block;
  align-self: flex-start;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  color: #ffffff;
  font-family: inherit;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
  text-align: left;
}
@media screen and (max-width: 1150px) {
  .drawer__parent {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    align-self: stretch;
    width: 100%;
    padding: 16px 4px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.4);
    font-size: 18px;
    cursor: pointer;
  }
}

.drawer__toggle-icon {
  display: none;
}
@media screen and (max-width: 1150px) {
  .drawer__toggle-icon {
    display: block;
    flex-shrink: 0;
    width: 10px;
    height: 10px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    rotate: 45deg;
    transform-origin: 60% 40%;
    transition: rotate 0.3s;
  }
}

.drawer__group.is-open .drawer__toggle-icon {
  rotate: -135deg;
}

.drawer__children {
  margin-top: 8px;
  margin-left: 15px;
}
@media screen and (max-width: 1150px) {
  .drawer__children {
    margin: 0;
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.35s ease;
  }
}
.drawer__children > li {
  position: relative;
  display: flex;
  align-items: center;
  padding-left: 18px;
}
.drawer__children > li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  border-left: 1px solid currentColor;
}
.drawer__children > li::after {
  content: "";
  position: absolute;
  left: 0;
  top: 20px;
  width: 12px;
  border-top: 1px solid currentColor;
}
.drawer__children > li:last-child::before {
  bottom: auto;
  height: 50%;
}
.drawer__children > li a {
  display: block;
  color: #ffffff;
  font-size: 18px;
  line-height: 1.4;
  transition: opacity 0.2s;
  padding-block: 7px;
}
.drawer__children > li a:hover {
  opacity: 0.7;
}
@media screen and (max-width: 1150px) {
  .drawer__children > li {
    display: block;
    min-height: 0;
    padding: 0;
  }
  .drawer__children > li::before, .drawer__children > li::after {
    content: none;
  }
  .drawer__children > li a {
    display: block;
    padding: 14px 4px 14px 24px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
    font-size: 16px;
  }
}

@media screen and (max-width: 1150px) {
  .drawer__children > li.pc-only {
    display: none;
  }
}

@media screen and (max-width: 1150px) {
  .drawer .pc-only {
    display: none;
  }
}

@media screen and (max-width: 1150px) {
  .drawer .sp-only {
    display: block;
  }
}

@media screen and (max-width: 1150px) {
  .drawer__group.is-open .drawer__children {
    max-height: 1200px;
  }
}

.drawer__btn {
  align-self: stretch;
  margin-top: 48px;
  padding: 8px 24px;
  background: #ffffff;
  border-radius: 100vmax;
  color: #1f5da3;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  transition: opacity 0.2s;
}
.drawer__btn:hover {
  opacity: 0.8;
}
@media screen and (max-width: 1150px) {
  .drawer__btn {
    margin-top: 30px;
    align-self: flex-start;
    width: 100%;
  }
}

.drawer__foot {
  display: flex;
  align-items: center;
  gap: 64px;
  margin-top: 60px;
  padding-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.5);
}
@media screen and (max-width: 1150px) {
  .drawer__foot {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    margin-top: 30px;
  }
}

.drawer__foot-brand {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;
}

.drawer__foot-brand-en {
  display: block;
  margin-top: 2px;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.02em;
}

.drawer__foot-links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 40px;
}
@media screen and (max-width: 767px) {
  .drawer__foot-links {
    flex-direction: column;
  }
}
.drawer__foot-links a {
  color: #ffffff;
  font-size: 16px;
  transition: opacity 0.2s;
}
.drawer__foot-links a:hover {
  opacity: 0.7;
}

.footer {
  position: relative;
  background: #ffffff;
  color: #333333;
  font-family: "Noto Sans JP", sans-serif;
}

.footer__inner {
  width: min(1440px, 100%);
  margin-inline: auto;
  padding-inline: 40px;
}
@media screen and (max-width: 767px) {
  .footer__inner {
    padding-inline: 20px;
  }
}

.footer__nav {
  padding-block: 52px 40px;
  border-bottom: 1px solid #d9d9d9;
}
@media screen and (max-width: 1150px) {
  .footer__nav {
    padding-block: 8px 24px;
  }
}

.footer__cols {
  display: grid;
  grid-template-columns: repeat(5, 1fr) 1.15fr;
  gap: 40px 20px;
}
@media screen and (max-width: 1150px) {
  .footer__cols {
    grid-template-columns: 1fr;
    gap: 0;
  }
}

.footer__col-heading {
  position: relative;
  padding-bottom: 12px;
  border-bottom: 1px solid #d9d9d9;
  color: #153a60;
  font-size: 15px;
  font-weight: 700;
}
@media screen and (max-width: 1150px) {
  .footer__col-heading {
    padding-block: 16px;
    padding-bottom: 16px;
  }
}

.footer__col-heading + * {
  margin-top: 20px;
}
@media screen and (max-width: 1150px) {
  .footer__col-heading + * {
    margin-top: 0;
  }
}

@media screen and (max-width: 1150px) {
  .footer__col--accordion .footer__col-heading {
    position: relative;
    padding-right: 28px;
    cursor: pointer;
  }
  .footer__col--accordion .footer__col-heading::before, .footer__col--accordion .footer__col-heading::after {
    content: "";
    position: absolute;
    right: 4px;
    top: 50%;
    width: 12px;
    height: 2px;
    background: #153a60;
    translate: 0 -50%;
    transition: rotate 0.3s, opacity 0.3s;
  }
  .footer__col--accordion .footer__col-heading::after {
    rotate: 90deg;
  }
  .footer__col--accordion.js-open .footer__col-heading::after {
    rotate: 0deg;
    opacity: 0;
  }
  .footer__col--accordion .footer__col-body {
    display: grid;
    grid-template-rows: minmax(0, 0fr);
    overflow: hidden;
    transition: grid-template-rows 0.3s ease;
  }
  .footer__col--accordion.js-open .footer__col-body {
    grid-template-rows: minmax(0, 1fr);
  }
  .footer__col--accordion .footer__list {
    padding-block: 10px 20px;
  }
}

.footer__list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.footer__link {
  position: relative;
  display: block;
  padding-left: 16px;
  color: #333333;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
  transition: opacity 0.2s;
}
.footer__link::before {
  content: "";
  position: absolute;
  left: 2px;
  top: 0.5em;
  width: 5px;
  height: 5px;
  border-top: 1.5px solid #333333;
  border-right: 1.5px solid #333333;
  rotate: 45deg;
}
.footer__link:hover {
  opacity: 0.6;
}

.footer__extlist {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

@media screen and (max-width: 1150px) {
  .footer__col--ext .footer__extlist {
    padding-block: 16px;
  }
}

.footer__extlink {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 10px 12px;
  border: 1px solid #9a9a9a;
  border-radius: 3px;
  color: #333333;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.3;
  transition: background 0.2s;
}
.footer__extlink:hover {
  background: #f5f5f5;
}

.footer__extlink-icon {
  width: 16px;
  height: 16px;
}

.footer__consult {
  padding-block: 28px;
}

.footer__consult-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
}
@media screen and (max-width: 767px) {
  .footer__consult-inner {
    flex-direction: column;
    gap: 16px;
    text-align: center;
  }
}

.footer__consult-label {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: #153a60;
  font-size: 14px;
  font-weight: 700;
}

.footer__consult-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #0b2b4f;
  color: #ffffff;
  font-size: 14px;
  font-weight: 700;
}

.footer__consult-text {
  font-size: 13px;
  font-weight: 700;
}

.footer__consult-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 12px 20px;
  border: 1px solid #9a9a9a;
  border-radius: 3px;
  color: #000000;
  font-size: 12px;
  font-weight: 700;
  transition: background 0.2s;
}
.footer__consult-btn:hover {
  background: #f5f5f5;
}

.footer__consult-arrow {
  width: 14px;
  height: 14px;
}

.footer__brand {
  position: relative;
  isolation: isolate;
  padding-block: 27px;
  background: #0b2b4f;
}
@media screen and (max-width: 767px) {
  .footer__brand {
    padding-block: 40px;
  }
}

.footer__brand-inner {
  display: grid;
  grid-template-columns: 1fr auto 1.3fr;
  align-items: center;
  column-gap: 60px;
  color: #ffffff;
}
@media screen and (max-width: 767px) {
  .footer__brand-inner {
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 20px;
  }
}

.footer__brand-bg {
  position: absolute;
  top: 65px;
  right: max(12px, (100vw - 1440px) / 2 + 12px);
  width: 419px;
  height: auto;
  aspect-ratio: 419/89;
  z-index: -1;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .footer__brand-bg {
    top: unset;
    bottom: 0;
    right: 0;
    width: 200px;
  }
}
.footer__brand-bg img {
  display: block;
  width: 100%;
  height: auto;
}

.footer__brand-logo {
  position: relative;
  padding-left: min(9.4444444444vw, 136px);
}
@media screen and (max-width: 767px) {
  .footer__brand-logo {
    padding-left: min(16vw, 60px);
  }
}

.footer__brand-character {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: min(8.0555555556vw, 116px);
  height: auto;
}
@media screen and (max-width: 767px) {
  .footer__brand-character {
    width: min(13.3333333333vw, 50px);
  }
}

.footer__brand-corp {
  font-weight: 700;
  letter-spacing: 0.05em;
}

.footer__brand-name {
  margin-top: 4px;
  font-size: 32px;
  font-weight: 700;
  letter-spacing: 0.14em;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .footer__brand-name {
    font-size: 20px;
    letter-spacing: 0.1em;
    white-space: normal;
  }
}

.footer__brand-slogan {
  font-family: "Noto Serif JP", serif;
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0.28em;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .footer__brand-slogan {
    letter-spacing: 0.15em;
    text-align: center;
    font-size: unset;
  }
}

.footer__brand-divider {
  width: 1px;
  height: 96px;
  background: rgba(255, 255, 255, 0.5);
}
@media screen and (max-width: 767px) {
  .footer__brand-divider {
    display: none;
  }
}

.footer__info {
  position: relative;
  padding-block: 32px 20px;
}

.footer__info-inner {
  display: flex;
  gap: 36px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.6;
}
@media (max-width: 1440px) {
  .footer__info-inner {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .footer__info-inner {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 25px;
  }
}

.footer__info-contact {
  display: grid;
  grid-template-columns: auto auto auto;
  column-gap: 18px;
  row-gap: 4px;
  align-content: start;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .footer__info-contact {
    grid-template-columns: auto;
    row-gap: 20px;
  }
}

.footer__info-dept {
  display: grid;
  grid-column: 1/-1;
  grid-template-columns: subgrid;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .footer__info-dept {
    grid-template-columns: auto auto;
    justify-content: center;
    column-gap: 6px;
    row-gap: 4px;
  }
}

@media screen and (max-width: 767px) {
  .footer__info-dept-name {
    grid-column: 1/-1;
    text-align: center;
  }
}

.footer__info-dept-num {
  display: flex;
  gap: 6px;
}
@media screen and (max-width: 767px) {
  .footer__info-dept-num {
    display: contents;
  }
}

.footer__info-dept-label {
  color: #333333;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .footer__info-dept-label {
    align-self: center;
    text-align: left;
  }
}

.footer__info-dept-tel {
  color: inherit;
}
@media screen and (max-width: 767px) {
  .footer__info-dept-tel {
    justify-self: start;
    display: inline-block;
    padding: 3px 12px;
    border: 1px solid #153a60;
    border-radius: 999px;
    color: #153a60;
  }
}

@media screen and (max-width: 767px) {
  .footer__info-dept-fax {
    justify-self: start;
    padding-left: 13px;
  }
}

.footer__info-hours-time {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  letter-spacing: 0.06em;
}

.footer__info-icon {
  width: 16px;
  height: 16px;
  color: #333333;
}

.footer__info-hours {
  letter-spacing: 0.06em;
}

.footer__info-hours-break {
  padding-left: calc(24px + 5em);
}
@media (max-width: 1440px) {
  .footer__info-hours-break {
    padding-left: 0;
  }
}

.footer__info-hours-indent {
  display: inline-block;
  padding-left: 3em;
}
@media screen and (max-width: 767px) {
  .footer__info-hours-indent {
    padding-left: 0;
  }
}

.footer__info-links {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-left: auto;
}
@media (max-width: 1440px) {
  .footer__info-links {
    flex-direction: row;
    align-items: center;
    gap: 0;
    margin-left: 0;
    flex-wrap: wrap;
    justify-content: center;
  }
}
@media screen and (max-width: 767px) {
  .footer__info-links {
    flex-direction: column;
    margin-left: 0;
    justify-content: center;
    gap: 15px;
  }
}

.footer__info-links li {
  border-left: 1px solid #d9d9d9;
}
@media (max-width: 1440px) {
  .footer__info-links li {
    border-left: none;
  }
}
@media screen and (max-width: 767px) {
  .footer__info-links li {
    border-left: none;
  }
}

.footer__info-link {
  display: block;
  padding-inline: 16px;
  color: #333333;
  letter-spacing: 0.06em;
  transition: opacity 0.2s;
}
@media (max-width: 1440px) {
  .footer__info-link {
    padding-inline: 24px;
  }
}
@media screen and (max-width: 767px) {
  .footer__info-link {
    padding-inline: 12px;
  }
}
.footer__info-link:hover {
  opacity: 0.6;
}

.footer__copyright {
  margin-top: 28px;
  text-align: center;
  color: #333333;
  font-size: 13px;
}
@media screen and (max-width: 767px) {
  .footer__copyright {
    font-size: 12px;
  }
}

.pagetop {
  position: fixed;
  z-index: 80;
  right: 24px;
  bottom: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  width: 56px;
  height: 56px;
  border: none;
  border-radius: 50%;
  background: #0b2b4f;
  color: #ffffff;
  text-align: center;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  translate: 0 10px;
  transition: opacity 0.3s, visibility 0.3s, translate 0.3s;
}
.pagetop.js-show {
  opacity: 1;
  visibility: visible;
  translate: 0 0;
}
.pagetop:hover {
  opacity: 0.85;
}
@media screen and (max-width: 767px) {
  .pagetop {
    right: 16px;
    bottom: 16px;
    width: 48px;
    height: 48px;
  }
}

.pagetop__arrow {
  width: 18px;
  height: 18px;
}

.pagetop__text {
  font-size: 10px;
  letter-spacing: 0.06em;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .pagetop__text {
    display: none;
  }
}

.c-oss-title {
  position: relative;
  padding-bottom: 20px;
  color: #000000;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
}
.c-oss-title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 60px;
  height: 5px;
  background: #0081d2;
}

.p-ossNews {
  padding-block: 80px;
}
@media screen and (max-width: 767px) {
  .p-ossNews {
    padding-block: 40px;
  }
}

.p-ossNews__inner {
  max-width: 1102px;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-ossNews__inner {
    max-width: 440px;
  }
}

.p-ossNews__title {
  position: relative;
  padding-bottom: 17px;
  color: #000000;
  font-size: 24px;
  font-weight: 700;
  text-align: center;
}
.p-ossNews__title::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 43px;
  height: 2px;
  background: #0081d2;
  transform: translateX(-50%);
}

.p-ossNews__contents {
  margin-top: 56px;
}
@media screen and (max-width: 767px) {
  .p-ossNews__contents {
    margin-top: 40px;
  }
}

.p-ossNews__empty {
  padding-block: 40px;
  font-size: 15px;
  text-align: center;
}

.ossNewsItem__article {
  border-bottom: 1px dashed #c0c0c0;
}

.ossNewsItem__link {
  display: flex;
  align-items: center;
  gap: 24px;
  padding-block: 24px;
  transition: opacity 0.2s;
}
@media screen and (max-width: 767px) {
  .ossNewsItem__link {
    padding-block: 15px;
    flex-direction: column;
    align-items: start;
    gap: 5px;
  }
}
.ossNewsItem__link:hover {
  opacity: 0.6;
}

.ossNewsItem__head {
  display: grid;
  grid-template-columns: 1fr 111px;
  gap: 24px;
}
@media screen and (max-width: 767px) {
  .ossNewsItem__head {
    gap: 10px;
  }
}

.ossNewsItem__data {
  color: #000000;
  font-size: 15px;
}
@media screen and (max-width: 767px) {
  .ossNewsItem__data {
    font-size: 12px;
  }
}

.ossNewsItem__category {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #0081d2;
  border-radius: 999px;
  background: #ffffff;
  color: #0081d2;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.01em;
}
@media screen and (max-width: 767px) {
  .ossNewsItem__category {
    font-size: 12px;
  }
}
.ossNewsItem__category.--important {
  border-color: #d20003;
  color: #d20003;
}

.ossNewsItem__title {
  color: #000000;
  font-size: 15px;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .ossNewsItem__title {
    width: 100%;
    min-width: 0;
    font-size: unset;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
}

.p-ossLink {
  padding-block: 80px;
}
@media screen and (max-width: 767px) {
  .p-ossLink {
    padding-block: 40px;
  }
}

.p-ossLink__inner {
  max-width: 1102px;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-ossLink__inner {
    max-width: 440px;
  }
}

.p-ossLink__text {
  margin-top: 24px;
  color: #000000;
  font-size: 15px;
  line-height: 27px;
}
@media screen and (max-width: 767px) {
  .p-ossLink__text {
    font-size: unset;
  }
}

.p-ossLink__items {
  margin-top: 86px;
  max-width: 856px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(0, 215px) minmax(0, 215px) auto;
  gap: 24px 60px;
}
@media screen and (max-width: 767px) {
  .p-ossLink__items {
    margin-top: 40px;
    grid-template-columns: 1fr;
  }
}

.ossLinkItem__link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 12px 0;
  border-radius: 8px;
  color: #ffffff;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  transition: opacity 0.2s;
}
.ossLinkItem__link:hover {
  opacity: 0.6;
}

.ossLinkItem:nth-child(1) .ossLinkItem__link {
  background: #1b400e;
}

.ossLinkItem:nth-child(2) .ossLinkItem__link {
  background: #007434;
}

.ossLinkItem:nth-child(3) .ossLinkItem__link {
  background: #e5d34b;
  color: #000000;
}

.ossLinkItem__body {
  margin-top: 19px;
  color: #000000;
  font-size: 14px;
  line-height: 22px;
}
.ossLinkItem__body ul {
  margin-bottom: 8px;
}
.ossLinkItem__body p {
  margin-top: 20px;
}

.p-ossLink__button {
  margin-top: 49px;
  margin-left: auto;
  display: flex;
  align-items: center;
  width: fit-content;
  color: #000000;
  font-size: 20px;
  transition: opacity 0.2s;
}
@media screen and (max-width: 767px) {
  .p-ossLink__button {
    margin-top: 30px;
    margin-inline: auto;
    text-align: center;
    font-size: 16px;
  }
}
.p-ossLink__button:hover {
  opacity: 0.6;
}

.p-ossFlyer__body {
  display: grid;
  grid-template-columns: minmax(0, 360px) 1fr;
  gap: 40px;
  padding: 70px 52px;
  border: 1px solid #d9d9d9;
  border-radius: 10px;
}
@media screen and (max-width: 767px) {
  .p-ossFlyer__body {
    display: flex;
    flex-direction: column-reverse;
    gap: 20px;
    padding: 20px;
  }
}

.p-ossFlyer__left-text {
  margin-top: 15px;
  color: #000000;
  font-size: 15px;
  line-height: 27px;
}

.p-ossFlyer__left-button {
  margin-top: 27px;
}
@media screen and (max-width: 767px) {
  .p-ossFlyer__left-button {
    text-align: center;
  }
}

.p-ossFlyer__images {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  padding: 38px 39px;
  background: linear-gradient(to right, #aadee4, #cff6fa);
}
@media screen and (max-width: 767px) {
  .p-ossFlyer__images {
    padding: 10px;
  }
}
.p-ossFlyer__images img {
  aspect-ratio: 199/281;
  border: 1px solid #c0c0c0;
}

.p-ossDocuments {
  padding-block: 80px;
}
@media screen and (max-width: 767px) {
  .p-ossDocuments {
    padding-block: 26px 40px;
  }
}

.p-ossDocuments__inner {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 26px 44px;
}
@media screen and (max-width: 767px) {
  .p-ossDocuments__inner {
    grid-template-columns: repeat(1, 1fr);
  }
}

.ossDocumentsItem {
  padding: 27px 52px 28px;
  border: 1px solid #c0c0c0;
  border-radius: 10px;
  background: #ffffff;
}
@media screen and (max-width: 767px) {
  .ossDocumentsItem {
    padding: 20px;
  }
}

.ossDocumentsItem__box {
  margin-top: 15px;
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 20px;
}
@media screen and (max-width: 767px) {
  .ossDocumentsItem__box {
    flex-direction: column-reverse;
  }
}

.ossDocumentsItem__left {
  flex: 1;
}

.ossDocumentsItem__left-text {
  color: #000000;
  font-size: 15px;
  line-height: 27px;
}

.ossDocumentsItem__left-button {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-top: 19px;
}
@media screen and (max-width: 767px) {
  .ossDocumentsItem__left-button {
    align-items: center;
  }
}

.ossDocumentsItem__right {
  width: min(153px, 100%);
}
@media screen and (max-width: 767px) {
  .ossDocumentsItem__right {
    margin-inline: auto;
  }
}
.ossDocumentsItem__right img {
  aspect-ratio: 153/216;
  object-fit: cover;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
}

.p-shakenSignup {
  background: #edf4fa;
}

.p-shakenSignupForm {
  padding-block: 73px 100px;
}
@media screen and (max-width: 767px) {
  .p-shakenSignupForm {
    padding-block: 0 40px;
  }
}

.p-shakenSignupForm__card {
  padding: 79px 20px 78px;
  background: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-shakenSignupForm__card {
    padding: 30px 20px 50px;
    width: 100vw;
    margin-inline: calc(50% - 50vw);
  }
}

.p-shakenSignupForm__card-inner {
  max-width: 1015px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: 1fr 41.0837438424%;
  gap: 6.3054187192%;
}
@media screen and (max-width: 767px) {
  .p-shakenSignupForm__card-inner {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}

.p-shakenSignupForm__left {
  padding: 64px 30px;
  background: #f1f6fb;
}
@media screen and (max-width: 767px) {
  .p-shakenSignupForm__left {
    padding: 20px;
  }
}

.p-shakenSignupForm__lead {
  font-size: 15px;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .p-shakenSignupForm__lead {
    font-size: unset;
  }
}

.p-shakenSignupForm__em {
  color: #ae2417;
  font-weight: 700;
}

.p-shakenSignupForm__systems {
  margin-top: 24px;
}

.p-shakenSignupForm__system {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-shakenSignupForm__system {
    font-size: 14px;
  }
}
.p-shakenSignupForm__system + .p-shakenSignupForm__system {
  margin-top: 12px;
}
.p-shakenSignupForm__system::before {
  content: "";
  flex-shrink: 0;
  width: 24px;
  height: auto;
  aspect-ratio: 1;
  background: currentColor;
  -webkit-mask: url(../img/common/icon-check.svg) no-repeat center/contain;
  mask: url(../img/common/icon-check.svg) no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .p-shakenSignupForm__system::before {
    width: 15px;
  }
}
.p-shakenSignupForm__system.--regular {
  color: #ae2417;
}
.p-shakenSignupForm__system.--kei {
  color: #175dae;
}

.p-shakenSignupForm__notes {
  margin-top: 28px;
  font-size: 15px;
  line-height: 1.65;
}
@media screen and (max-width: 767px) {
  .p-shakenSignupForm__notes {
    font-size: unset;
  }
}

.p-shakenSignupForm__flow {
  margin-top: 27px;
  padding-top: 31px;
  border-top: 1px solid #c0c0c0;
}

.p-shakenSignupForm__flowHead {
  padding: 7px 12px;
  border: 1px solid #c0c0c0;
  border-radius: 5px;
  background: #ffffff;
  font-size: 15px;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-shakenSignupForm__flowHead {
    font-size: unset;
  }
}

.p-shakenSignupForm__flowTitle {
  margin-top: 40px;
  color: #ae2417;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-shakenSignupForm__flowTitle {
    margin-top: 20px;
  }
}

.p-shakenSignupForm__flowText {
  margin-top: 12px;
  font-size: 15px;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-shakenSignupForm__flowText {
    font-size: unset;
  }
}

.p-shakenSignupForm__field + .p-shakenSignupForm__field {
  margin-top: 17px;
}

.p-shakenSignupForm__label {
  display: block;
  font-size: 15px;
}
@media screen and (max-width: 767px) {
  .p-shakenSignupForm__label {
    font-size: unset;
  }
}

.p-shakenSignupForm__labelNote {
  margin-left: 8px;
  color: #9a9a9a;
  font-size: 12px;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .p-shakenSignupForm__labelNote {
    display: block;
    margin-left: 0;
  }
}

.p-shakenSignupForm__required {
  margin-left: 6px;
  padding: 2px 6px;
  background: #ae2417;
  color: #ffffff;
  font-size: 11px;
  font-weight: 700;
  vertical-align: 2px;
}

.p-shakenSignupForm__input {
  display: block;
  width: 100%;
  margin-top: 5px;
  padding: 10px 12px;
  border: 1px solid #c0c0c0;
  background: #ffffff;
  font-size: 15px;
}
@media screen and (max-width: 767px) {
  .p-shakenSignupForm__input {
    font-size: unset;
  }
}
.p-shakenSignupForm__input:read-only {
  border-color: #c9c9c9;
  background: #ebebeb;
  color: #555555;
}
.p-shakenSignupForm__input:-webkit-autofill, .p-shakenSignupForm__input:-webkit-autofill:hover, .p-shakenSignupForm__input:-webkit-autofill:focus {
  -webkit-text-fill-color: #000000;
  -webkit-box-shadow: 0 0 0 1000px #ffffff inset;
  box-shadow: 0 0 0 1000px #ffffff inset;
  transition: background-color 9999s ease-in-out 0s;
}
.p-shakenSignupForm__input:-webkit-autofill:read-only {
  -webkit-text-fill-color: #555555;
  -webkit-box-shadow: 0 0 0 1000px #ebebeb inset;
  box-shadow: 0 0 0 1000px #ebebeb inset;
}

.p-shakenSignupForm__field .c-authNo {
  margin-top: 5px;
}

.js-formField.is-error .p-shakenSignupForm__input {
  border-color: #c62828;
  background: #fffafa;
}
.js-formField.is-error .p-shakenSignupForm__input:-webkit-autofill, .js-formField.is-error .p-shakenSignupForm__input:-webkit-autofill:hover, .js-formField.is-error .p-shakenSignupForm__input:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 1000px #fffafa inset;
  box-shadow: 0 0 0 1000px #fffafa inset;
}

.p-shakenSignupForm__consent {
  margin-top: 17px;
}
.p-shakenSignupForm__consent a {
  color: #1f69cd;
  text-decoration: underline;
  transition: opacity 0.2s;
}
.p-shakenSignupForm__consent a:hover {
  opacity: 0.6;
}

.p-shakenSignupForm__consentText {
  font-size: 14px;
  line-height: 1.5;
}

.p-shakenSignupForm__consentList {
  margin-top: 6px;
  font-size: 14px;
  line-height: 1.5;
}
.p-shakenSignupForm__consentList > li + li {
  margin-top: 2px;
}

.p-shakenSignupForm__agree {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
  font-size: 14px;
  cursor: pointer;
}

.p-shakenSignupForm__checkbox {
  width: 16px;
  height: 16px;
  accent-color: #0081d2;
}

.p-shakenSignupForm__form.is-confirm .p-shakenSignupForm__checkbox {
  pointer-events: none;
  filter: grayscale(1);
  opacity: 0.6;
}
.p-shakenSignupForm__form.is-confirm .p-shakenSignupForm__agree {
  cursor: default;
}

.p-shakenSignupForm__errors {
  margin-top: 18px;
  padding: 10px 12px;
  border-left: 3px solid #c62828;
  background: #fffafa;
}
.p-shakenSignupForm__errors > .c-formError:first-child {
  margin-top: 0;
}

.p-shakenSignupForm__confirmNote {
  margin-top: 18px;
  padding: 10px 12px;
  background: #ffffff;
  border-left: 3px solid #0081d2;
  font-size: 14px;
  line-height: 1.6;
}

.p-shakenSignupForm__submit {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  .p-shakenSignupForm__submit {
    margin-top: 30px;
  }
}

.p-shakenSignupForm__button {
  display: block;
  width: min(353px, 100%);
  padding-block: 13px;
  background: #0081d2;
  color: #ffffff;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: opacity 0.2s;
}
.p-shakenSignupForm__button:hover {
  opacity: 0.6;
}
.p-shakenSignupForm__button:disabled {
  background: #9a9a9a;
  cursor: default;
}
.p-shakenSignupForm__button:disabled:hover {
  opacity: 1;
}

.p-shakenSignupForm__button--back {
  order: 1;
  border: 1px solid #0081d2;
  background: #ffffff;
  color: #0081d2;
}

.p-shakenSignupForm__done {
  padding: 30px 24px;
  background: #ffffff;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-shakenSignupForm__done {
    padding: 24px 16px;
  }
}

.p-shakenSignupForm__doneTitle {
  color: #0081d2;
  font-size: 20px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-shakenSignupForm__doneTitle {
    font-size: 18px;
  }
}

.p-shakenSignupForm__doneText {
  margin-top: 14px;
  font-size: 15px;
  line-height: 1.7;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .p-shakenSignupForm__doneText {
    font-size: unset;
  }
}

.p-shakenDocLinks {
  padding-block: 82px 120px;
}
@media screen and (max-width: 767px) {
  .p-shakenDocLinks {
    padding-block: 40px 40px;
  }
}

.p-shakenDocLinks__inner {
  max-width: 1353px;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-shakenDocLinks__inner {
    max-width: 440px;
  }
}

.p-weightTaxSearchHour {
  margin-top: 16px;
  color: #D82C2C;
}

.p-weightTaxSearchDocLinks {
  padding-block: 82px 120px;
}
@media screen and (max-width: 767px) {
  .p-weightTaxSearchDocLinks {
    padding-block: 40px 40px;
  }
}

.p-weightTaxSearchDocLinks__inner {
  max-width: 1353px;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-weightTaxSearchDocLinks__inner {
    max-width: 440px;
  }
}

.p-obd {
  background: #f7fafe;
}

.p-obdRefs__link.--arrow::after, .p-obdSystem__btn-arrow::after, .obdTopicsItem__link::before, .p-obdTopics__more-arrow::after {
  content: "";
  display: block;
  flex-shrink: 0;
  width: 7px;
  height: 7px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: rotate(45deg);
}

.p-obdOther__box, .p-obdRefs__item, .p-obdSystem__box, .p-obdTopics__box {
  border: 1px solid #dbe4f0;
  border-radius: 12px;
  background: #ffffff;
}

.p-obdTopics {
  padding-top: 42px;
}
@media screen and (max-width: 767px) {
  .p-obdTopics {
    padding-top: 10px;
  }
}

.p-obdTopics__box {
  padding: 30px 40px 36px;
  box-shadow: 0 1px 6px rgba(8, 31, 77, 0.06);
}
@media screen and (max-width: 767px) {
  .p-obdTopics__box {
    padding: 20px;
  }
}

.p-obdTopics__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 18px;
  border-bottom: 1px solid #dbe4f0;
}

.p-obdTopics__head-left {
  display: flex;
  align-items: center;
  gap: 14px;
}

.p-obdTopics__head-icon {
  width: 40px;
}
@media screen and (max-width: 767px) {
  .p-obdTopics__head-icon {
    width: 20px;
  }
}
.p-obdTopics__head-icon img {
  width: 100%;
  height: auto;
}

.p-obdTopics__head-text {
  display: flex;
  align-items: baseline;
  gap: 10px;
}
@media screen and (max-width: 767px) {
  .p-obdTopics__head-text {
    flex-direction: column-reverse;
    gap: 0;
  }
}

.p-obdTopics__head-title--en {
  color: #081f4d;
  font-size: 29px;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-obdTopics__head-title--en {
    font-size: 18px;
  }
}

.p-obdTopics__head-title--ja {
  color: #081f4d;
  font-weight: 700;
  align-self: baseline;
}
@media screen and (max-width: 767px) {
  .p-obdTopics__head-title--ja {
    font-size: 12px;
  }
}

.p-obdTopics__more {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 20px;
  border: 1px solid #0048b8;
  border-radius: 999px;
  color: #0048b8;
  font-size: 14px;
  font-weight: 700;
  transition: opacity 0.2s;
}
@media screen and (max-width: 767px) {
  .p-obdTopics__more {
    padding: 6px 10px;
    line-height: 1.4;
    font-size: 12px;
  }
}
.p-obdTopics__more:hover {
  opacity: 0.6;
}

.p-obdTopics__more-arrow {
  display: block;
  position: relative;
}
.p-obdTopics__more-arrow::after {
  width: 6px;
  height: 6px;
}

.p-obdTopics__items {
  columns: 2;
  column-gap: 64px;
  margin-top: 22px;
}
@media screen and (max-width: 767px) {
  .p-obdTopics__items {
    columns: 1;
  }
}

.p-obdTopics__item {
  break-inside: avoid;
}

.p-obdTopics__empty {
  padding-block: 30px;
  font-size: 15px;
  text-align: center;
}

.p-obdTopics__items:not(:has(.p-obdTopics__item:nth-child(4))) {
  columns: 1;
}

.obdTopicsItem__link {
  display: flex;
  gap: 12px;
  padding-block: 9px;
  color: #0048b8;
  font-weight: 700;
  line-height: 1.5;
  transition: opacity 0.2s;
}
.obdTopicsItem__link::before {
  margin-top: 0.45em;
}
.obdTopicsItem__link:hover {
  opacity: 0.6;
}

.p-obdPortal {
  padding-top: 27px;
}

.p-obdPortal__box {
  display: flex;
  align-items: stretch;
  gap: 60px;
  border-radius: 12px;
  background: #eef7ff;
  padding: 28px 73px;
}
@media screen and (max-width: 767px) {
  .p-obdPortal__box {
    flex-direction: column;
    padding: 20px;
    gap: 20px;
  }
}

.p-obdPortal__item {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 24px;
  transition: opacity 0.2s;
}
@media screen and (max-width: 767px) {
  .p-obdPortal__item {
    gap: 10px;
    justify-content: space-between;
  }
}
.p-obdPortal__item:hover {
  opacity: 0.6;
}

.p-obdPortal__line {
  width: 1px;
  background: #c9d9ec;
}
@media screen and (max-width: 767px) {
  .p-obdPortal__line {
    width: 100%;
    height: 1px;
  }
}

.p-obdPortal__icon {
  flex-shrink: 0;
  width: 45px;
}
@media screen and (max-width: 767px) {
  .p-obdPortal__icon {
    width: 20px;
  }
}
.p-obdPortal__icon img {
  width: 100%;
  height: auto;
}

.p-obdPortal__title {
  display: block;
  color: #0048b8;
  font-size: 21px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-obdPortal__title {
    font-size: 16px;
  }
}

.p-obdPortal__sub {
  display: block;
  margin-top: 4px;
  color: #0048b8;
  font-size: 13px;
}
@media screen and (max-width: 767px) {
  .p-obdPortal__sub {
    margin-top: 0;
  }
}

.p-obdPortal__ext {
  flex-shrink: 0;
  width: 20px;
}
@media screen and (max-width: 767px) {
  .p-obdPortal__ext {
    width: 15px;
  }
}
.p-obdPortal__ext img {
  width: 100%;
  height: auto;
}

.p-obdSystem {
  padding-top: 27px;
}

.p-obdSystem__box {
  overflow: hidden;
}

.p-obdSystem__head {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 26px 40px;
  background: linear-gradient(180deg, #0066da, #0053c3);
}
@media screen and (max-width: 767px) {
  .p-obdSystem__head {
    padding: 20px;
  }
}

.p-obdSystem__head-icon {
  width: 30px;
}
@media screen and (max-width: 767px) {
  .p-obdSystem__head-icon {
    width: 20px;
  }
}
.p-obdSystem__head-icon img {
  width: 100%;
  height: auto;
}

.p-obdSystem__head-title {
  color: #ffffff;
  font-size: 22px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-obdSystem__head-title {
    font-size: 20px;
  }
}

.p-obdSystem__body {
  padding: 40px;
}
@media screen and (max-width: 767px) {
  .p-obdSystem__body {
    padding: 20px;
  }
}

.p-obdSystem__manual {
  display: flex;
  align-items: center;
  gap: 12px;
  justify-content: center;
  transition: opacity 0.2s;
}
.p-obdSystem__manual:hover {
  opacity: 0.6;
}

.p-obdSystem__manual-icon {
  width: 32px;
}
@media screen and (max-width: 767px) {
  .p-obdSystem__manual-icon {
    width: 20px;
  }
}
.p-obdSystem__manual-icon img {
  width: 100%;
  height: auto;
}

.p-obdSystem__manual-text {
  display: flex;
  align-items: center;
  gap: 10px;
}
@media screen and (max-width: 767px) {
  .p-obdSystem__manual-text {
    flex-direction: column;
    gap: 0;
  }
}

.p-obdSystem__manual-title {
  color: #0048b8;
  font-size: 22px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-obdSystem__manual-title {
    font-size: unset;
  }
}

.p-obdSystem__manual-sub {
  color: #0048b8;
  font-size: 13px;
}
@media screen and (max-width: 767px) {
  .p-obdSystem__manual-sub {
    font-size: 12px;
  }
}

.p-obdSystem__manual-ext {
  width: 21px;
}
@media screen and (max-width: 767px) {
  .p-obdSystem__manual-ext {
    width: 15px;
  }
}
.p-obdSystem__manual-ext img {
  width: 100%;
  height: auto;
}

.p-obdSystem__contact {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
  margin-top: 28px;
  padding: 18px 20px;
  border: 1px solid #dbe4f0;
  border-radius: 10px;
}
@media screen and (max-width: 767px) {
  .p-obdSystem__contact {
    flex-direction: column;
    gap: 5px;
  }
}

.p-obdSystem__contact-item {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #081f4d;
  font-size: 18px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-obdSystem__contact-item {
    font-size: unset;
  }
}

.p-obdSystem__contact-icon {
  width: 30px;
}
@media screen and (max-width: 767px) {
  .p-obdSystem__contact-icon {
    width: 15px;
  }
}
.p-obdSystem__contact-icon img {
  width: 100%;
  height: auto;
}

.p-obdSystem__contact-tel {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #081f4d;
  font-size: 18px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-obdSystem__contact-tel {
    font-size: unset;
    line-height: 1.2;
  }
}
.p-obdSystem__contact-tel a {
  color: #0048b8;
  font-size: 23px;
  transition: opacity 0.2s;
}
@media screen and (max-width: 767px) {
  .p-obdSystem__contact-tel a {
    font-size: 20px;
    line-height: 1.2;
  }
}
.p-obdSystem__contact-tel a:hover {
  opacity: 0.6;
}

.p-obdSystem__contact-hours {
  margin-left: 20px;
}

.p-obdSystem__buttons {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .p-obdSystem__buttons {
    grid-template-columns: repeat(1, 1fr);
    gap: 10px;
  }
}

.p-obdSystem__btn {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 24px;
  border-radius: 10px;
  color: #ffffff;
  font-weight: 700;
  line-height: 1.3;
  transition: opacity 0.2s;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .p-obdSystem__btn {
    gap: 10px;
    padding: 15px 15px;
  }
}
.p-obdSystem__btn:hover {
  opacity: 0.85;
}
.p-obdSystem__btn.--blue {
  background: linear-gradient(135deg, #0073ea 0%, #0042ae 100%);
}
.p-obdSystem__btn.--red {
  background: linear-gradient(135deg, #d86c6c 0%, #b74444 100%);
}

.p-obdSystem__btn-icon {
  flex-shrink: 0;
  width: 34px;
}
@media screen and (max-width: 767px) {
  .p-obdSystem__btn-icon {
    width: 20px;
  }
}
.p-obdSystem__btn-icon img {
  width: 100%;
  height: auto;
}

.p-obdSystem__btn-text {
  flex: 1;
  display: block;
  width: fit-content;
}

.p-obdSystem__btn-note {
  display: block;
  color: #eaf4ff;
  font-size: 15px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-obdSystem__btn-note {
    font-size: 12px;
  }
}

.p-obdSystem__btn-arrow {
  flex-shrink: 0;
}
.p-obdSystem__btn-arrow::after {
  width: 12px;
  height: 12px;
  border-width: 3px;
}
@media screen and (max-width: 767px) {
  .p-obdSystem__btn-arrow::after {
    width: 8px;
    height: 8px;
  }
}

.p-obdRefs {
  padding-top: 30px;
}

.p-obdRefs__box {
  display: flex;
  gap: 26px;
}
@media screen and (max-width: 767px) {
  .p-obdRefs__box {
    flex-direction: column;
  }
}

.p-obdRefs__item {
  flex: 1;
  padding: 30px 40px 34px;
}
@media screen and (max-width: 767px) {
  .p-obdRefs__item {
    padding: 20px;
  }
}

.p-obdRefs__head {
  display: flex;
  align-items: center;
  gap: 14px;
  padding-bottom: 18px;
  border-bottom: 1px solid #dbe4f0;
}

.p-obdRefs__head-icon {
  width: 34px;
  display: grid;
  place-items: center;
}
@media screen and (max-width: 767px) {
  .p-obdRefs__head-icon {
    width: 25px;
  }
}
.p-obdRefs__head-icon img {
  max-width: 100%;
  height: auto;
}

.p-obdRefs__head-title {
  color: #0048b8;
  font-size: 22px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-obdRefs__head-title {
    font-size: 16px;
  }
}

.p-obdRefs__list {
  margin-top: 22px;
}
@media screen and (max-width: 767px) {
  .p-obdRefs__list {
    margin-top: 5px;
  }
}

.p-obdRefs__link {
  display: block;
  padding-block: 12px;
  transition: opacity 0.2s;
  position: relative;
}
.p-obdRefs__link:hover {
  opacity: 0.6;
}

.p-obdRefs__link.--ext {
  width: fit-content;
  padding-right: 50px;
}
.p-obdRefs__link.--ext::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  margin-left: 8px;
  vertical-align: -3px;
  background: url(../img/obd/icon-external.svg) no-repeat center/contain;
}

.p-obdRefs__link.--arrow {
  display: flex;
  align-items: center;
  border-bottom: 1px solid #dbe4f0;
}
@media screen and (max-width: 767px) {
  .p-obdRefs__link.--arrow {
    gap: 20px;
  }
}
.p-obdRefs__link.--arrow::after {
  width: 10px;
  height: 10px;
  margin-left: auto;
  color: #0048b8;
}

.p-obdRefs__link-title {
  color: #0048b8;
  font-weight: 700;
}

.p-obdRefs__link-sub {
  display: block;
  margin-top: 4px;
  color: #0048b8;
  font-size: 13px;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .p-obdRefs__link-sub {
    margin-top: 0;
    font-size: 12px;
  }
}

.p-obdOther {
  padding-top: 30px;
  padding-bottom: 98px;
}
@media screen and (max-width: 767px) {
  .p-obdOther {
    padding-bottom: 40px;
  }
}

.p-obdOther__box {
  padding: 28px 40px 32px;
}
@media screen and (max-width: 767px) {
  .p-obdOther__box {
    padding: 20px;
  }
}

.p-obdOther__head {
  display: flex;
  align-items: center;
  gap: 14px;
  padding-bottom: 18px;
  border-bottom: 1px solid #dbe4f0;
}

.p-obdOther__head-icon {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #0048b8;
  color: #ffffff;
  font-size: 22px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-obdOther__head-icon {
    width: 25px;
    height: 25px;
    font-size: unset;
  }
}

.p-obdOther__head-title {
  color: #0048b8;
  font-size: 22px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-obdOther__head-title {
    font-size: 16px;
  }
}

.p-obdOther__body {
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .p-obdOther__body {
    margin-top: 10px;
  }
}

.p-obdOther__link {
  display: block;
  padding-block: 6px;
  transition: opacity 0.2s;
}
.p-obdOther__link:hover {
  opacity: 0.6;
}

.p-obdOther__link-title {
  color: #0048b8;
  font-weight: 700;
}

.p-obdOther__pdf {
  margin-left: 4px;
  color: #d02c2c;
}

.p-obdOther__link-sub {
  margin-left: 8px;
  color: #0048b8;
  font-size: 13px;
  font-weight: 400;
}

.p-obdOther__link-ext {
  display: inline-block;
  width: 20px;
  margin-left: 8px;
  vertical-align: -4px;
}
@media screen and (max-width: 767px) {
  .p-obdOther__link-ext {
    width: 15px;
  }
}
.p-obdOther__link-ext img {
  width: 100%;
  height: auto;
}

.p-dailyCheckFv {
  max-width: 1920px;
  margin-inline: auto;
}
.p-dailyCheckFv img {
  width: 100%;
  height: auto;
}

.p-dailyCheckAbout {
  padding-block: 86px 46px;
}
@media screen and (max-width: 767px) {
  .p-dailyCheckAbout {
    padding-block: 40px;
  }
}

.p-dailyCheckAbout__head {
  text-align: center;
}

.p-dailyCheckAbout__title {
  color: #000000;
  font-size: 32px;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-dailyCheckAbout__title {
    font-size: 25px;
  }
}

.p-dailyCheckAbout__title--sub {
  margin-top: 4px;
  color: #000000;
  font-size: 20px;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-dailyCheckAbout__title--sub {
    font-size: unset;
  }
}

.p-dailyCheckAbout__body {
  max-width: 945px;
  margin: 40px auto 0;
  line-height: 1.875;
}
@media screen and (max-width: 767px) {
  .p-dailyCheckAbout__body {
    margin-top: 30px;
  }
}

.p-dailyCheckContents {
  padding-block: 90px 100px;
  border-top: 1px solid #d5e3f0;
  background: #f2f9ff;
}
@media screen and (max-width: 767px) {
  .p-dailyCheckContents {
    padding-block: 40px;
  }
}

.p-dailyCheckContents__box {
  display: flex;
  gap: 120px;
  max-width: 948px;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-dailyCheckContents__box {
    flex-direction: column;
    gap: 50px;
  }
}

.p-dailyCheckContents__left {
  flex-shrink: 0;
  width: 287px;
  max-width: 100%;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-dailyCheckContents__left {
    width: 100%;
  }
}

.p-dailyCheckContents__left-title {
  color: #000000;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-dailyCheckContents__left-title {
    font-size: unset;
  }
}

.p-dailyCheckContents__left-image {
  margin-top: 15px;
}
.p-dailyCheckContents__left-image img {
  width: 100%;
  height: auto;
}

.p-dailyCheckContents__left-button {
  margin-top: 20px;
}
.p-dailyCheckContents__left-button .items {
  display: flex;
  justify-content: center;
  gap: 15px;
}
.p-dailyCheckContents__left-button .item a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-block: 7px;
  border-radius: 999px;
  color: #ffffff;
  font-size: 11px;
  font-weight: 700;
  padding-inline: 15px;
  transition: opacity 0.2s;
}
.p-dailyCheckContents__left-button .item a:hover {
  opacity: 0.7;
}
.p-dailyCheckContents__left-button .item:nth-child(1) a {
  background: #20aaa3;
}
.p-dailyCheckContents__left-button .item:nth-child(2) a {
  background: #ba1114;
}

.p-dailyCheckContents__right {
  flex: 1;
}

.outline__title {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 119px;
  border: 1px solid #000000;
  color: #000000;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .outline__title {
    margin-inline: auto;
    font-size: 16px;
  }
}

.outline__items {
  margin-top: 24px;
}

.outline__item + .outline__item {
  margin-top: 26px;
}

.outline__item-title {
  color: #000000;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .outline__item-title {
    font-size: 16px;
  }
}

.outline__item-menu {
  margin-top: 4px;
}
.outline__item-menu dl {
  display: flex;
  align-items: baseline;
  padding-left: 1em;
}
@media screen and (max-width: 767px) {
  .outline__item-menu dl {
    padding-left: 0;
  }
}
.outline__item-menu dt {
  display: flex;
  align-items: baseline;
  flex: 1;
  min-width: 0;
  color: #000000;
}
.outline__item-menu dt::after {
  content: "";
  flex: 1;
  margin: 0 0.4em;
  border-bottom: 1px dotted #7a7d80;
  transform: translateY(-0.35em);
}
.outline__item-menu dd {
  flex-shrink: 0;
  color: #000000;
}

.p-tokuteiKirokuDoc__title, .p-tokuteiKirokuFaq__title, .p-tokuteiKirokuEnvironment__title, .p-tokuteiKirokuFlow__title {
  color: #000000;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-tokuteiKirokuDoc__title, .p-tokuteiKirokuFaq__title, .p-tokuteiKirokuEnvironment__title, .p-tokuteiKirokuFlow__title {
    font-size: 25px;
    text-align: center;
  }
}

.p-tokuteiKirokuFv img {
  width: 100%;
  height: auto;
}

.p-tokuteiKirokuAbout {
  padding-block: 96px 96px;
  background: linear-gradient(180deg, #ffffff, #f0fffa);
}
@media screen and (max-width: 767px) {
  .p-tokuteiKirokuAbout {
    padding-block: 40px;
  }
}

.p-tokuteiKirokuAbout__head {
  text-align: center;
}

.p-tokuteiKirokuAbout__title {
  position: relative;
  display: inline-block;
  padding: 11px 40px;
  border: 1px solid #000000;
  background: #ffffff;
  color: #000000;
  font-size: 24px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-tokuteiKirokuAbout__title {
    font-size: 20px;
    padding: 10px 20px;
  }
}
.p-tokuteiKirokuAbout__title::before {
  content: "";
  position: absolute;
  inset: 6px -6px -7px 6px;
  border: 1px solid #000000;
  z-index: -1;
}

.p-tokuteiKirokuAbout__body {
  max-width: 785px;
  margin-inline: auto;
  margin-top: 40px;
  color: #333333;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-tokuteiKirokuAbout__body {
    margin-top: 30px;
  }
}

.p-tokuteiKirokuAbout__trouble {
  margin-top: 70px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-tokuteiKirokuAbout__trouble {
    margin-top: 50px;
  }
}

.p-tokuteiKirokuAbout__trouble-title {
  color: #000000;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .p-tokuteiKirokuAbout__trouble-title {
    font-size: 16px;
  }
}
.p-tokuteiKirokuAbout__trouble-title span {
  color: #d82c2c;
  font-size: 32px;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-tokuteiKirokuAbout__trouble-title span {
    font-size: 25px;
  }
}

.p-tokuteiKirokuAbout__trouble-image {
  max-width: 943px;
  margin: 24px auto 0;
}
.p-tokuteiKirokuAbout__trouble-image img {
  width: 100%;
  height: auto;
}

.p-tokuteiKirokuAbout__trouble-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 20px;
  padding: 14px 30px;
  border-radius: 999px;
  background: #da3a00;
  color: #ffffff;
  font-size: 24px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-tokuteiKirokuAbout__trouble-button {
    font-size: 16px;
  }
}

.p-tokuteiKirokuFlow {
  padding-block: 100px 90px;
  background: rgba(232, 238, 244, 0.71);
}
@media screen and (max-width: 767px) {
  .p-tokuteiKirokuFlow {
    padding-block: 50px;
  }
}

.p-tokuteiKirokuFlow__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px 27px;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .p-tokuteiKirokuFlow__cards {
    grid-template-columns: repeat(1, 1fr);
  }
}

.tokuteiKirokuFlowCard {
  position: relative;
  padding: 20px;
  border: 1px solid #626262;
  border-radius: 5px;
  background: #ffffff;
}
.tokuteiKirokuFlowCard:not(:nth-child(3n))::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -21px;
  width: 11px;
  height: 11px;
  border-top: 3px solid #77b9e4;
  border-right: 3px solid #77b9e4;
  transform: translateY(-50%) rotate(45deg);
}
@media screen and (max-width: 767px) {
  .tokuteiKirokuFlowCard:not(:nth-child(3n))::after {
    top: unset;
    bottom: -21px;
    right: 50%;
    translate: 0 -50%;
    rotate: 90deg;
  }
}

@media screen and (max-width: 767px) {
  .tokuteiKirokuFlowCard__head {
    display: flex;
    flex-direction: row-reverse;
    justify-content: start;
    align-items: center;
    gap: 10px;
  }
}

.tokuteiKirokuFlowCard__step {
  color: #4a4a4a;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.tokuteiKirokuFlowCard__icon {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  margin-top: 8px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .tokuteiKirokuFlowCard__icon {
    margin-top: 0;
    width: 30px;
    height: 30px;
  }
}
.tokuteiKirokuFlowCard__icon img {
  width: 100%;
  height: auto;
}

.tokuteiKirokuFlowCard__body {
  margin-top: 12px;
}

.tokuteiKirokuFlowCard__title {
  color: #000000;
  font-size: 16px;
  font-weight: 700;
}

.tokuteiKirokuFlowCard__text {
  margin-top: 6px;
  color: #4a4a4a;
  font-size: 14px;
  line-height: 1.6;
}

.p-tokuteiKirokuEnvironment {
  padding-block: 90px;
}
@media screen and (max-width: 767px) {
  .p-tokuteiKirokuEnvironment {
    padding-block: 50px;
  }
}

.p-tokuteiKirokuEnvironment__text {
  margin-top: 12px;
  color: #4a4a4a;
}

.p-tokuteiKirokuEnvironment__items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 13px 25px;
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .p-tokuteiKirokuEnvironment__items {
    grid-template-columns: repeat(1, 1fr);
  }
}

.p-tokuteiKirokuEnvironment__item {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 10px 30px;
  border: 1px solid #626262;
  border-radius: 10px;
  background: #f5f5f5;
}

.p-tokuteiKirokuEnvironment__item-num {
  flex-shrink: 0;
  color: #1b6400;
  font-weight: 700;
}

.p-tokuteiKirokuEnvironment__item-title {
  color: #000000;
  font-weight: 700;
}

.p-tokuteiKirokuFaq {
  padding-block: 82px 90px;
  background: rgba(240, 248, 255, 0.71);
}
@media screen and (max-width: 767px) {
  .p-tokuteiKirokuFaq {
    padding-block: 50px;
  }
}

.p-tokuteiKirokuFaq__items {
  margin-top: 30px;
}

.tkFaqItem {
  border: 1px solid #626262;
  border-radius: 10px;
  background: #ffffff;
}
.tkFaqItem + .tkFaqItem {
  margin-top: 13px;
}

.tkFaqItem__summary {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 22px 28px;
  cursor: pointer;
  list-style: none;
}
@media screen and (max-width: 767px) {
  .tkFaqItem__summary {
    padding: 10px 20px;
  }
}
.tkFaqItem__summary::-webkit-details-marker {
  display: none;
}

.tkFaqItem__q {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #07a76f;
  color: #ffffff;
  font-size: 18px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .tkFaqItem__q {
    width: 25px;
    height: 25px;
    font-size: unset;
  }
}

.tkFaqItem__question {
  flex: 1;
  color: #000000;
  font-size: 16px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .tkFaqItem__question {
    font-size: unset;
  }
}

.tkFaqItem__icon {
  position: relative;
  flex-shrink: 0;
  width: 22px;
  height: 22px;
}
@media screen and (max-width: 767px) {
  .tkFaqItem__icon {
    width: 15px;
    height: 15px;
  }
}
.tkFaqItem__icon::before, .tkFaqItem__icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background: #000000;
}
.tkFaqItem__icon::before {
  width: 22px;
  height: 2px;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 767px) {
  .tkFaqItem__icon::before {
    width: 15px;
  }
}
.tkFaqItem__icon::after {
  width: 2px;
  height: 22px;
  transform: translate(-50%, -50%);
  transition: opacity 0.2s;
}
@media screen and (max-width: 767px) {
  .tkFaqItem__icon::after {
    height: 15px;
  }
}

.tkFaqItem[open] .tkFaqItem__icon::after {
  opacity: 0;
}

.tkFaqItem__content {
  overflow: hidden;
}

.tkFaqItem__content-inner {
  padding: 0 28px 24px 80px;
  color: #333333;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .tkFaqItem__content-inner {
    padding: 0 20px 20px 20px;
  }
}

.p-tokuteiKirokuDoc {
  padding-block: 75px 90px;
}
@media screen and (max-width: 767px) {
  .p-tokuteiKirokuDoc {
    padding-block: 0 50px;
  }
}

.p-tokuteiKirokuDoc__items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 13px 28px;
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .p-tokuteiKirokuDoc__items {
    grid-template-columns: repeat(1, 1fr);
  }
}

.tkDocItem {
  border: 1px solid #626262;
  border-radius: 10px;
  background: #ffffff;
  padding: 10px 20px;
}

.tkDocItem__link {
  display: flex;
  align-items: center;
  gap: 20px;
  height: 100%;
  transition: opacity 0.2s;
}
.tkDocItem__link:hover {
  opacity: 0.6;
}

.tkDocItem__icon {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
}
.tkDocItem__icon img {
  max-width: 100%;
  height: auto;
}

.tkDocItem__contents {
  flex: 1;
}

.tkDocItem__title {
  color: #000000;
  font-size: 16px;
  font-weight: 700;
}

.tkDocItem__desc {
  margin-top: 4px;
  color: #4a4a4a;
  font-size: 14px;
}

.tkDocItem__arrow {
  flex-shrink: 0;
  font-size: 0;
}
.tkDocItem__arrow::after {
  content: "↓";
  color: #1b6400;
  font-size: 24px;
  font-weight: 700;
}

.p-tokuteiKirokuMessage {
  padding-block: 70px 156px;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-tokuteiKirokuMessage {
    padding-block: 50px;
  }
}

.p-tokuteiKirokuMessage__bg {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: auto;
  aspect-ratio: 1440/405;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .p-tokuteiKirokuMessage__bg {
    top: 0;
  }
}

.p-tokuteiKirokuMessage__title {
  color: #000000;
  font-size: 36px;
  font-weight: 700;
  line-height: 1.35;
}
@media screen and (max-width: 767px) {
  .p-tokuteiKirokuMessage__title {
    font-size: 20px;
  }
}

.p-tokuteiKirokuMessage__description {
  margin-top: 24px;
  color: #000000;
  line-height: 1.8;
}

.p-tokuteiKirokuMessage__items {
  display: flex;
  justify-content: center;
  gap: 30px;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .p-tokuteiKirokuMessage__items {
    flex-direction: column;
    margin-top: 30px;
    gap: 20px;
  }
}

.p-tokuteiKirokuMessage__item {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 201px;
  padding: 8px 40px 8px 20px;
  border: 1px solid #626262;
  border-radius: 10px;
  background: #ffffff;
  color: #000000;
  font-weight: 700;
  line-height: 1.4;
  transition: opacity 0.2s;
}
@media screen and (max-width: 767px) {
  .p-tokuteiKirokuMessage__item {
    width: 100%;
    padding: 15px 20px 15px;
  }
}
.p-tokuteiKirokuMessage__item:hover {
  opacity: 0.6;
}

.p-tokuteiKirokuMessage__item-arrow {
  position: absolute;
  right: 16px;
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #1b6400;
}
.p-tokuteiKirokuMessage__item-arrow::after {
  content: "";
  width: 6px;
  height: 6px;
  border-top: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
  transform: rotate(45deg) translate(-1px, 1px);
}

.p-laborRateTop {
  margin-top: 40px;
}

.p-laborRateTop__text {
  max-width: 1072px;
  line-height: 2;
}

.p-laborRateFv {
  margin-top: 70px;
}
@media screen and (max-width: 767px) {
  .p-laborRateFv {
    margin-top: 30px;
  }
}

.p-laborRateSoftware {
  margin-top: 65px;
}
@media screen and (max-width: 767px) {
  .p-laborRateSoftware {
    margin-top: 30px;
  }
}

.p-laborRateManuel {
  margin-top: 55px;
}
@media screen and (max-width: 767px) {
  .p-laborRateManuel {
    margin-top: 30px;
  }
}

.c-laborRateSec__box {
  display: grid;
  grid-template-columns: 1fr 250px;
  align-items: start;
  column-gap: 60px;
  max-width: 1072px;
  padding-top: 55px;
  border-top: 1px solid #dddddd;
}
@media screen and (max-width: 767px) {
  .c-laborRateSec__box {
    grid-template-columns: 1fr;
    row-gap: 30px;
    padding-top: 30px;
  }
}

.c-laborRateSec__title {
  font-size: 28px;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .c-laborRateSec__title {
    font-size: 20px;
  }
}

.c-laborRateSec__text {
  margin-top: 20px;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .c-laborRateSec__text {
    line-height: unset;
  }
}

.c-laborRateSec__link {
  display: inline-block;
  margin-top: 20px;
  color: #153a60;
  font-size: 14px;
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: opacity 0.2s;
}
.c-laborRateSec__link:hover {
  opacity: 0.6;
}

.c-laborRateSec__right-items {
  display: flex;
  flex-direction: column;
  gap: 30px;
}
@media screen and (max-width: 767px) {
  .c-laborRateSec__right-items {
    align-items: center;
  }
}

.c-laborRateSec__right-text {
  margin-top: 8px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.04em;
}

.p-laborRateAttention {
  margin-top: 90px;
}
@media screen and (max-width: 767px) {
  .p-laborRateAttention {
    margin-top: 40px;
  }
}

.p-laborRateAttention__box {
  display: flex;
  gap: 18px;
  max-width: 646px;
  margin-inline: auto;
  padding: 25px 24px;
  border-radius: 8px;
  background: #ededed;
}
@media screen and (max-width: 767px) {
  .p-laborRateAttention__box {
    padding: 20px;
    gap: 5px;
  }
}

.p-laborRateAttention__icon {
  flex-shrink: 0;
  width: 45px;
}
@media screen and (max-width: 767px) {
  .p-laborRateAttention__icon {
    width: 20px;
  }
}
.p-laborRateAttention__icon svg {
  display: block;
  width: 100%;
  height: auto;
}

.p-laborRateAttention__right-title {
  color: #ae2417;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
}

.p-laborRateAttention__right-text {
  margin-top: 10px;
  font-size: 15px;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-laborRateAttention__right-text {
    font-size: unset;
  }
}

.p-laborRateMessage {
  margin-top: 74px;
  padding-bottom: 120px;
}
@media screen and (max-width: 767px) {
  .p-laborRateMessage {
    margin-top: 40px;
    padding-bottom: 50px;
  }
}

.p-laborRateMessage__box {
  position: relative;
  max-width: 944px;
  margin-inline: auto;
  padding: 38px 40px;
  border: 1px solid #cccccc;
  border-radius: 8px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-laborRateMessage__box {
    padding: 20px;
  }
}

.p-laborRateMessage__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.p-laborRateMessage__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-laborRateMessage__text {
  position: relative;
  z-index: 1;
  line-height: 2;
  text-align: center;
}

.p-notebookIntro {
  padding-block: 60px;
  background: linear-gradient(135deg, #1a3f63, #0f2a47);
}
@media screen and (max-width: 767px) {
  .p-notebookIntro {
    padding-block: 36px;
  }
}

.p-notebookIntro__text {
  color: #ffffff;
  line-height: 1.9;
}
@media screen and (max-width: 767px) {
  .p-notebookIntro__text {
    line-height: 1.8;
  }
}

.p-notebookIntro__stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 36px;
}
@media screen and (max-width: 767px) {
  .p-notebookIntro__stats {
    grid-template-columns: 1fr;
    gap: 12px;
    margin-top: 24px;
  }
}

.p-notebookIntro__stat {
  padding: 20px 26px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.05);
}
@media screen and (max-width: 767px) {
  .p-notebookIntro__stat {
    padding: 14px 18px;
  }
}

.p-notebookIntro__stat-label {
  display: flex;
  align-items: center;
  gap: 8px;
  color: rgba(255, 255, 255, 0.85);
  font-size: 15px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-notebookIntro__stat-label {
    font-size: 14px;
  }
}

.p-notebookIntro__stat-value {
  margin-top: 8px;
  color: #ffffff;
  font-size: 26px;
  font-weight: 700;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .p-notebookIntro__stat-value {
    margin-top: 4px;
    font-size: 22px;
  }
}

.p-notebookIntro__stat-note {
  margin-left: 10px;
  color: rgba(255, 255, 255, 0.7);
  font-size: 14px;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .p-notebookIntro__stat-note {
    font-size: 13px;
  }
}

.p-notebookHead {
  text-align: center;
}

.p-notebookHead__en {
  color: #2c6cb0;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .p-notebookHead__en {
    font-size: 12px;
  }
}

.p-notebookHead__ja {
  margin-top: 8px;
  font-family: "Noto Serif JP", serif;
  font-size: 36px;
  font-weight: 600;
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .p-notebookHead__ja {
    font-size: 24px;
  }
}
.p-notebookHead__ja::after {
  content: "";
  display: block;
  width: 58px;
  height: 4px;
  margin: 20px auto 0;
  background: #b8924a;
}
@media screen and (max-width: 767px) {
  .p-notebookHead__ja::after {
    width: 44px;
    height: 3px;
    margin-top: 14px;
  }
}

.p-notebookHead__sub {
  max-width: 900px;
  margin-inline: auto;
  margin-top: 24px;
  line-height: 1.9;
}
@media screen and (max-width: 767px) {
  .p-notebookHead__sub {
    margin-top: 16px;
    line-height: 1.8;
    text-align: left;
  }
}

.p-notebookHandbook {
  padding-top: 72px;
  background: #f4f7fb;
}
@media screen and (max-width: 767px) {
  .p-notebookHandbook {
    padding-top: 44px;
  }
}

.p-notebookTable {
  margin-top: 44px;
  border: 1px solid #e1e8f0;
  border-radius: 12px;
  background: #ffffff;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-notebookTable {
    margin-top: 28px;
    border-radius: 8px;
  }
}

.p-notebookTable__row {
  display: grid;
  grid-template-columns: 144px 1fr;
}
@media screen and (max-width: 767px) {
  .p-notebookTable__row {
    grid-template-columns: 1fr;
  }
}
.p-notebookTable__row:not(:last-child) {
  border-bottom: 1px solid #e1e8f0;
}

.p-notebookTable__label {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  padding: 26px 20px;
  border-right: 1px solid #e1e8f0;
  background: #f7fafc;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-notebookTable__label {
    align-items: center;
    padding: 12px 16px;
    border-right: none;
    border-bottom: 1px solid #e1e8f0;
  }
}

.p-notebookTable__body {
  padding: 26px 28px;
}
@media screen and (max-width: 767px) {
  .p-notebookTable__body {
    padding: 16px;
  }
}

.p-notebookTable__lead {
  line-height: 1.8;
}

.p-notebookTable__price {
  margin-right: 6px;
  color: #b8924a;
  font-size: 28px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-notebookTable__price {
    font-size: 22px;
  }
}

.p-notebookTable__note {
  margin-top: 6px;
  color: #666666;
  font-size: 15px;
}
@media screen and (max-width: 767px) {
  .p-notebookTable__note {
    font-size: 13px;
  }
}

.p-notebookTable__btns {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 16px;
}
@media screen and (max-width: 767px) {
  .p-notebookTable__btns {
    flex-direction: column;
    gap: 10px;
    margin-top: 14px;
  }
}

.p-notebookNote {
  margin-top: 40px;
  padding: 22px 28px;
  border-left: 6px solid #c0392b;
  border-radius: 8px;
  background: #fcecea;
}
@media screen and (max-width: 767px) {
  .p-notebookNote {
    margin-top: 28px;
    padding: 16px 18px;
    border-left-width: 4px;
  }
}

.p-notebookNote__title {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #c0392b;
  font-size: 18px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-notebookNote__title {
    font-size: 16px;
  }
}

.p-notebookNote__list {
  margin-top: 12px;
}
.p-notebookNote__list li {
  line-height: 2;
  font-size: 15px;
}
@media screen and (max-width: 767px) {
  .p-notebookNote__list li {
    line-height: 1.8;
    font-size: 13px;
  }
}

.p-notebookCert {
  padding-block: 80px 110px;
  background: #f4f7fb;
}
@media screen and (max-width: 767px) {
  .p-notebookCert {
    padding-block: 44px 64px;
  }
}

.p-notebookCards {
  display: flex;
  flex-direction: column;
  gap: 40px;
  margin-top: 44px;
}
@media screen and (max-width: 767px) {
  .p-notebookCards {
    gap: 24px;
    margin-top: 28px;
  }
}

.p-notebookCard {
  border: 1px solid #e1e8f0;
  border-radius: 12px;
  background: #ffffff;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-notebookCard {
    border-radius: 8px;
  }
}

.p-notebookCard__head {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 18px 28px;
  background: linear-gradient(90deg, #1e4066, #0f2d4c);
}
@media screen and (max-width: 767px) {
  .p-notebookCard__head {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    padding: 14px 18px;
  }
}

.p-notebookCard__badge {
  flex-shrink: 0;
  padding: 4px 14px;
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 999px;
  color: #ffffff;
  font-size: 13px;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .p-notebookCard__badge {
    font-size: 12px;
    padding: 3px 12px;
  }
}

.p-notebookCard__title {
  color: #ffffff;
  font-family: "Noto Serif JP", serif;
  font-size: 22px;
  font-weight: 600;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-notebookCard__title {
    font-size: 17px;
  }
}

.p-notebookCard__body {
  padding: 28px 30px;
}
@media screen and (max-width: 767px) {
  .p-notebookCard__body {
    padding: 18px;
  }
}

.p-notebookCard__desc {
  line-height: 1.9;
}
@media screen and (max-width: 767px) {
  .p-notebookCard__desc {
    line-height: 1.8;
  }
}

.p-notebookCard__info {
  margin-top: 16px;
  padding: 12px 18px;
  border-radius: 8px;
  font-size: 15px;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .p-notebookCard__info {
    margin-top: 12px;
    padding: 10px 14px;
    font-size: 13px;
    flex-direction: column;
  }
}
.p-notebookCard__info.--pin {
  background: #f5edda;
  border: 1px solid #e8dcc0;
}
.p-notebookCard__info.--gov {
  color: #c0392b;
  font-weight: 700;
  background: #fcecea;
  border: 1px solid #f0cec9;
}

.p-notebookCard__em {
  font-weight: 700;
}

.p-notebookCard__btns {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .p-notebookCard__btns {
    gap: 10px;
    margin-top: 16px;
  }
}

.c-docBtn {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 10px;
  padding: 10px 18px;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.2;
  transition: opacity 0.2s;
}
@media screen and (max-width: 767px) {
  .c-docBtn {
    max-width: 100%;
    gap: 8px;
    padding: 9px 14px;
    font-size: 13px;
    margin-inline: auto;
  }
}
.c-docBtn:hover {
  opacity: 0.75;
}
.c-docBtn.--fill {
  background: #2c6cb0;
  color: #ffffff;
}
.c-docBtn.--fill .c-docBtn__pdf {
  background: #ffffff;
  color: #2c6cb0;
}
.c-docBtn.--outline {
  border: 1px solid rgba(44, 108, 176, 0.5);
  background: #ffffff;
  color: #2c6cb0;
}
.c-docBtn.--outline .c-docBtn__pdf {
  background: #eef4fb;
  color: #2c6cb0;
}
.c-docBtn.--link {
  background: #2f8a4e;
  color: #ffffff;
}
@media screen and (max-width: 767px) {
  .c-docBtn.--link {
    border-radius: 8px;
    line-height: 1.5;
  }
}

.c-docBtn__pdf {
  flex-shrink: 0;
  padding: 2px 7px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.p-about .c-pageHead__title--en {
  color: #cd9e1f;
}

.p-aboutHero__catch {
  position: relative;
  padding-block: 60px 44px;
}
@media screen and (max-width: 767px) {
  .p-aboutHero__catch {
    padding-block: 30px 20px;
  }
}

.p-aboutHero__watermark {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  z-index: 0;
  color: #edf4ed;
  font-size: 96px;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-aboutHero__watermark {
    font-size: min(13.3333333333vw, 50px);
    top: 0;
    transform: translateY(0);
  }
}

.p-aboutHero__copy {
  position: relative;
  z-index: 1;
  color: #2c605b;
  font-family: "Noto Serif JP", serif;
  font-size: 34px;
  font-weight: 600;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-aboutHero__copy {
    font-size: 18px;
  }
}

.p-aboutHero__image {
  margin-top: 32px;
}
@media screen and (max-width: 767px) {
  .p-aboutHero__image {
    margin-top: 30px;
  }
}
.p-aboutHero__image img {
  width: 100%;
  height: auto;
}

.p-aboutLead {
  padding-block: 72px;
}
@media screen and (max-width: 767px) {
  .p-aboutLead {
    padding-block: 36px;
  }
}

.p-aboutLead__inner {
  display: grid;
  grid-template-columns: 741fr 399fr;
  column-gap: 60px;
  align-items: start;
}
@media screen and (max-width: 767px) {
  .p-aboutLead__inner {
    grid-template-columns: 1fr;
    row-gap: 30px;
  }
}

.p-aboutLead__head {
  display: flex;
  align-items: center;
  gap: 26px;
}
@media screen and (max-width: 767px) {
  .p-aboutLead__head {
    gap: 10px;
  }
}

.p-aboutLead__title {
  font-size: 32px;
  font-weight: 700;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .p-aboutLead__title {
    font-size: 22px;
  }
}

.p-aboutLead__en {
  position: relative;
  padding-left: 26px;
  color: #9a9a9a;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .p-aboutLead__en {
    font-size: 12px;
    padding-left: 15px;
  }
}
.p-aboutLead__en::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 1px;
  height: 22px;
  background: #9a9a9a;
}

.p-aboutLead__text {
  margin-top: 28px;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-aboutLead__text {
    margin-top: 30px;
    line-height: 1.8;
  }
}

.p-aboutLead__image img {
  width: 100%;
  height: auto;
  border-radius: 6px;
}

.p-aboutBody {
  overflow-x: clip;
}

.p-aboutBody__inner {
  display: grid;
  grid-template-columns: 268fr 892fr;
  column-gap: 40px;
  align-items: start;
  padding-top: 40px;
  padding-bottom: 120px;
}
@media screen and (max-width: 767px) {
  .p-aboutBody__inner {
    grid-template-columns: 1fr;
    row-gap: 30px;
    padding-top: 30px;
    padding-bottom: 60px;
  }
}

.p-aboutNav {
  position: sticky;
  top: calc(var(--header-height, 120px) + 24px);
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .p-aboutNav {
    position: static;
    padding-bottom: 6px;
    border: 1px solid #c0c0c0;
    border-radius: 6px;
    background: #ffffff;
    overflow: hidden;
  }
}

.p-aboutNav__title {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-aboutNav__title {
    display: block;
    padding-block: 10px;
    background: #f2f9ff;
    font-size: 15px;
    font-weight: 700;
    text-align: center;
  }
}

@media screen and (max-width: 767px) {
  .p-aboutNav__list {
    padding-inline: 18px;
  }
}
.p-aboutNav__list li + li {
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .p-aboutNav__list li + li {
    margin-top: 0;
    border-top: 1px solid #c0c0c0;
  }
}

.p-aboutNav__link {
  color: #9a9a9a;
  font-size: 15px;
  line-height: 1.5;
  transition: color 0.2s;
}
@media screen and (max-width: 767px) {
  .p-aboutNav__link {
    display: block;
    padding-block: 12px;
    color: #000000;
    font-size: 13px;
  }
}
.p-aboutNav__link:hover {
  color: #000000;
}
@media screen and (min-width: 768px) {
  .p-aboutNav__link.is-current {
    color: #000000;
    font-weight: 700;
  }
  .p-aboutNav__link.is-current::before {
    content: "—　";
    color: #0081d2;
    font-weight: 700;
  }
}

.p-aboutSec {
  padding-block: 64px;
}
@media screen and (max-width: 767px) {
  .p-aboutSec {
    padding-block: 25px;
  }
}
.p-aboutSec:first-child {
  padding-top: 0;
}
.p-aboutSec.--band {
  position: relative;
  isolation: isolate;
}
.p-aboutSec.--band::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset-block: 0;
  left: 50%;
  width: 200vw;
  transform: translateX(-50%);
  background: linear-gradient(90deg, #fffafa, #f6fbed);
}

.p-aboutSec__num {
  display: block;
  color: #0081d2;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .p-aboutSec__num {
    font-size: 18px;
  }
}

.p-aboutSec__title {
  margin-top: 4px;
  color: #0081d2;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .p-aboutSec__title {
    font-size: 20px;
  }
}

.p-aboutSec__text {
  margin-top: 28px;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-aboutSec__text {
    margin-top: 30px;
    line-height: 1.7;
  }
}

.p-aboutFeats {
  margin-top: 36px;
  padding-left: 46px;
  display: flex;
  flex-direction: column;
  gap: 44px;
}
@media screen and (max-width: 767px) {
  .p-aboutFeats {
    margin-top: 30px;
    padding-left: 0;
    gap: 30px;
  }
}

.p-aboutFeat__title {
  position: relative;
  padding-left: 36px;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-aboutFeat__title {
    padding-left: 18px;
    font-size: 16px;
  }
}
.p-aboutFeat__title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 2px;
  width: 18px;
  height: auto;
  aspect-ratio: 18/31;
  background: url(../img/about/about-slash.svg) no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .p-aboutFeat__title::before {
    width: 11px;
  }
}

.p-aboutFeat__text {
  margin-top: 14px;
  padding-left: 36px;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-aboutFeat__text {
    margin-top: 8px;
    padding-left: 0;
    line-height: 1.8;
  }
}

.p-aboutGallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 17px;
  margin-top: 36px;
}
@media screen and (max-width: 767px) {
  .p-aboutGallery {
    grid-template-columns: repeat(2, 1fr);
    grid-template-areas: "a b" "c c";
    gap: 12px;
    margin-top: 30px;
  }
}

@media screen and (max-width: 767px) {
  .p-aboutGallery__item:nth-child(1) {
    grid-area: a;
  }
  .p-aboutGallery__item:nth-child(2) {
    grid-area: b;
  }
  .p-aboutGallery__item:nth-child(3) {
    grid-area: c;
  }
}
.p-aboutGallery__item img {
  width: 100%;
  height: auto;
  aspect-ratio: 256/169;
  object-fit: cover;
  border-radius: 4px;
}

.p-aboutProfile {
  margin-top: 15px;
}
@media screen and (max-width: 767px) {
  .p-aboutProfile {
    margin-top: 30px;
  }
}
.p-aboutProfile + .p-aboutProfile {
  margin-top: 48px;
}
@media screen and (max-width: 767px) {
  .p-aboutProfile + .p-aboutProfile {
    margin-top: 40px;
  }
}
.p-aboutProfile:first-of-type {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .p-aboutProfile:first-of-type {
    margin-top: 24px;
  }
}

.p-aboutProfile__title {
  font-size: 24px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-aboutProfile__title {
    font-size: 18px;
  }
}

.p-aboutProfile__list {
  margin-top: 20px;
  border-top: 1px solid #c0c0c0;
}
@media screen and (max-width: 767px) {
  .p-aboutProfile__list {
    margin-top: 14px;
  }
}

.p-aboutProfile__row {
  display: grid;
  grid-template-columns: 180px 1fr;
  padding-block: 14px;
  border-bottom: 1px solid #c0c0c0;
}
@media screen and (max-width: 767px) {
  .p-aboutProfile__row {
    grid-template-columns: 99px 1fr;
    row-gap: 4px;
    padding-block: 10px;
  }
}
.p-aboutProfile__row dt {
  font-weight: 500;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 767px) {
  .p-aboutProfile__row dt {
    font-size: 13px;
    color: #333333;
  }
}

.p-aboutAccess__items {
  margin-top: 36px;
  display: flex;
  flex-direction: column;
  gap: 90px;
}
@media screen and (max-width: 767px) {
  .p-aboutAccess__items {
    margin-top: 20px;
    gap: 45px;
  }
}

.p-aboutAccess__map {
  aspect-ratio: 804/518;
}
@media screen and (max-width: 767px) {
  .p-aboutAccess__map {
    aspect-ratio: 4/3;
  }
}
.p-aboutAccess__map iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.p-aboutAccess__info {
  margin-top: 24px;
}
@media screen and (max-width: 767px) {
  .p-aboutAccess__info {
    margin-top: 16px;
  }
}
.p-aboutAccess__info h3 {
  font-weight: bold;
}

.p-aboutAccess__info-text {
  margin-top: 10px;
}
.p-aboutAccess__info-text p {
  line-height: 1.9;
}
@media screen and (max-width: 767px) {
  .p-aboutAccess__info-text p {
    line-height: 1.7;
  }
}

.p-link .c-pageHead__title--en {
  color: #cdb31f;
}

.p-linkBody {
  padding-block: 53px 100px;
  background: #f9f9f9;
}
@media screen and (max-width: 767px) {
  .p-linkBody {
    padding-block: 30px 60px;
  }
}

.p-linkLead {
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-linkLead {
    line-height: 1.8;
  }
}

.p-linkBody__inner {
  display: grid;
  grid-template-columns: 175fr 932fr;
  column-gap: 93px;
  align-items: start;
  padding-top: 80px;
}
@media screen and (max-width: 767px) {
  .p-linkBody__inner {
    grid-template-columns: 1fr;
    row-gap: 30px;
    padding-top: 30px;
  }
}

.p-linkNav {
  position: sticky;
  top: calc(var(--header-height, 120px) + 24px);
  margin-top: 117px;
}
@media screen and (max-width: 767px) {
  .p-linkNav {
    position: static;
    margin-top: 0;
    padding-bottom: 14px;
    border: 1px solid #9a9a9a;
    border-radius: 6px;
    background: #ffffff;
    overflow: hidden;
  }
}

.p-linkNav__title {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-linkNav__title {
    display: block;
    padding-block: 10px;
    background: #f2f9ff;
    font-size: 15px;
    font-weight: 700;
    text-align: center;
  }
}

.p-linkNav__label {
  margin-top: 23px;
  color: #9a9a9a;
  font-size: 12px;
  line-height: 1.9;
}
@media screen and (max-width: 767px) {
  .p-linkNav__label {
    margin-top: 14px;
    padding-inline: 18px;
  }
}

@media screen and (max-width: 767px) {
  .p-linkNav__list {
    padding-inline: 18px;
  }
}
@media screen and (max-width: 767px) {
  .p-linkNav__list.--main {
    margin-top: 15px;
  }
}
.p-linkNav__list.--regions {
  margin-top: 4px;
}
@media screen and (max-width: 767px) {
  .p-linkNav__list.--regions {
    display: flex;
    flex-wrap: wrap;
    column-gap: 16px;
    margin-top: 6px;
  }
}

.p-linkNav__link {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #9a9a9a;
  font-size: 13px;
  line-height: 1.9;
  transition: color 0.2s;
}
@media screen and (max-width: 767px) {
  .p-linkNav__link {
    gap: 8px;
    color: #000000;
    line-height: 2.2;
  }
}
.p-linkNav__link::before {
  content: "";
  flex-shrink: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--block-color, #dddddd);
}
.p-linkNav__link:hover {
  color: #000000;
}
@media screen and (min-width: 768px) {
  .p-linkNav__link.is-current {
    color: #000000;
  }
}

.p-linkSec + .p-linkSec {
  margin-top: 84px;
}
@media screen and (max-width: 767px) {
  .p-linkSec + .p-linkSec {
    margin-top: 44px;
  }
}

.p-linkSec__title {
  padding-bottom: 18px;
  border-bottom: 2px solid #000000;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-linkSec__title {
    padding-bottom: 12px;
    font-size: 18px;
  }
}

.p-linkList {
  columns: 2;
  column-gap: 66px;
  margin-top: 32px;
}
@media screen and (max-width: 767px) {
  .p-linkList {
    columns: 1;
    margin-top: 20px;
  }
}

.p-linkList__item {
  break-inside: avoid;
  border-bottom: 1px solid #9a9a9a;
}

.p-linkList__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-block: 16px;
  color: #000000;
  transition: opacity 0.2s;
}
@media screen and (max-width: 767px) {
  .p-linkList__link {
    gap: 12px;
    padding-block: 12px;
  }
}
.p-linkList__link:hover {
  opacity: 0.6;
}

.p-linkList__pdf {
  display: inline-block;
  width: 20px;
  height: auto;
  margin-left: 8px;
  vertical-align: -4px;
}

.p-linkList__arrow {
  flex-shrink: 0;
  color: #9a9a9a;
}

.p-linkSchools__items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px 23px;
  margin-top: 32px;
}
@media screen and (max-width: 767px) {
  .p-linkSchools__items {
    grid-template-columns: 1fr;
    gap: 12px;
    margin-top: 20px;
  }
}

.p-linkSchool {
  display: flex;
  flex-direction: column;
  padding: 20px;
  border: 1px solid #9a9a9a;
  border-radius: 6px;
  background: #ffffff;
  color: #000000;
  transition: opacity 0.2s;
}
@media screen and (max-width: 767px) {
  .p-linkSchool {
    padding: 16px;
  }
}
.p-linkSchool:hover {
  opacity: 0.6;
}

.p-linkSchool__area {
  align-self: flex-start;
  padding: 2px 12px;
  border: 1px solid #5f9e93;
  border-radius: 999px;
  color: #297d6f;
  font-size: 12px;
  line-height: 1.6;
}

.p-linkSchool__name {
  margin-top: 18px;
  padding-bottom: 30px;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-linkSchool__name {
    margin-top: 12px;
    padding-bottom: 14px;
  }
}

.p-linkSchool__tel {
  margin-top: auto;
  padding-top: 13px;
  border-top: 1px solid #9a9a9a;
  font-size: 14px;
}

.p-linkBlocks {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px 33px;
  margin-top: 32px;
}
@media screen and (max-width: 767px) {
  .p-linkBlocks {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-top: 20px;
  }
}

.p-linkBlock {
  padding: 24px 21px 26px;
  border: 1px solid #9a9a9a;
  border-radius: 6px;
  background: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-linkBlock {
    padding: 16px;
  }
}

.p-linkBlock__title {
  display: flex;
  align-items: center;
  gap: 5px;
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-linkBlock__title {
    font-size: 16px;
  }
}
.p-linkBlock__title::before {
  content: "";
  flex-shrink: 0;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: var(--block-color);
}
@media screen and (max-width: 767px) {
  .p-linkBlock__title::before {
    width: 12px;
    height: 12px;
  }
}

.p-linkBlock__list {
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .p-linkBlock__list {
    margin-top: 12px;
  }
}

.p-linkBlock__row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  padding-block: 12px;
  border-top: 1px solid #9a9a9a;
}
@media screen and (max-width: 767px) {
  .p-linkBlock__row {
    gap: 12px;
    padding-block: 10px;
    font-size: 14px;
  }
}
.p-linkBlock__row dd {
  flex-shrink: 0;
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  .p-linkBlock__row dd {
    font-size: 13px;
  }
}

.p-linkBlock.--hokkaido,
.p-linkNav__link.--hokkaido {
  --block-color: #6b7fd7;
}
.p-linkBlock.--tohoku,
.p-linkNav__link.--tohoku {
  --block-color: #4c9bd5;
}
.p-linkBlock.--kanto,
.p-linkNav__link.--kanto {
  --block-color: #7cb342;
}
.p-linkBlock.--hokuriku,
.p-linkNav__link.--hokuriku {
  --block-color: #3fae8f;
}
.p-linkBlock.--chubu,
.p-linkNav__link.--chubu {
  --block-color: #d4b106;
}
.p-linkBlock.--kinki,
.p-linkNav__link.--kinki {
  --block-color: #e2672c;
}
.p-linkBlock.--chugoku,
.p-linkNav__link.--chugoku {
  --block-color: #c65146;
}
.p-linkBlock.--shikoku,
.p-linkNav__link.--shikoku {
  --block-color: #b04a8f;
}
.p-linkBlock.--kyushu,
.p-linkNav__link.--kyushu {
  --block-color: #8d5fd3;
}
.p-linkBlock.--okinawa,
.p-linkNav__link.--okinawa {
  --block-color: #2fa4a9;
}

.p-casesBody {
  padding-block: 53px 100px;
  background: #f5f5f5;
}
@media screen and (max-width: 767px) {
  .p-casesBody {
    padding-block: 30px 60px;
  }
}

.p-casesLead {
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-casesLead {
    line-height: 1.8;
  }
}

.p-casesFilter {
  margin-top: 40px;
  padding: 43px 20px;
  border-radius: 10px;
  background: #ffffff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
@media screen and (max-width: 767px) {
  .p-casesFilter {
    margin-top: 24px;
    padding: 20px 20px;
  }
}

.p-casesFilter__inner {
  max-width: 935px;
  margin-inline: auto;
}

.p-casesFilter__search {
  display: flex;
  gap: 18px;
}
@media screen and (max-width: 767px) {
  .p-casesFilter__search {
    flex-direction: column-reverse;
    justify-content: end;
    gap: 10px;
  }
}

.p-casesFilter__input {
  flex: 1;
  min-width: 0;
  padding: 12px 20px;
  border: 1px solid #9a9a9a;
  border-radius: 8px;
  background: #fafafa;
}
@media screen and (max-width: 767px) {
  .p-casesFilter__input {
    padding: 10px 14px;
    font-size: 13px;
    width: 100%;
    flex: unset;
  }
}
.p-casesFilter__input::placeholder {
  color: #9a9a9a;
}

.p-casesFilter__clear {
  flex-shrink: 0;
  width: 117px;
  border: 1px solid #9a9a9a;
  border-radius: 8px;
  background: #ffffff;
  cursor: pointer;
  transition: opacity 0.2s;
}
@media screen and (max-width: 767px) {
  .p-casesFilter__clear {
    width: 72px;
    margin-left: auto;
    font-size: 13px;
  }
}
.p-casesFilter__clear:hover {
  opacity: 0.6;
}

.p-casesFilter__toggle {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-casesFilter__toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    margin-top: 12px;
    padding: 10px 14px;
    border-radius: 8px;
    background: #fafafa;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
  }
  .p-casesFilter__toggle::after {
    content: "";
    flex-shrink: 0;
    width: 0;
    height: 0;
    border-top: 6px solid #404040;
    border-inline: 5px solid transparent;
    transition: transform 0.3s;
  }
  .p-casesFilter__toggle.is-opened::after {
    transform: rotate(180deg);
  }
}

@media screen and (max-width: 767px) {
  .p-casesFilter__collapse {
    height: 0;
    overflow: hidden;
  }
}

.p-casesFilter__chips {
  transition: opacity 0.2s;
}

.p-casesFilter.is-loading .p-casesFilter__chips {
  opacity: 0.55;
}

.p-casesFilter__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 41px;
}
@media screen and (max-width: 767px) {
  .p-casesFilter__chips {
    gap: 8px;
    margin-top: 14px;
  }
}

.p-casesFilter__chip {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 5px 17px 5px 24px;
  border: 1px solid #9a9a9a;
  border-radius: 999px;
  background: #fafafa;
  font-size: 14px;
  line-height: 1.6;
  cursor: pointer;
  transition: opacity 0.2s;
}
@media screen and (max-width: 767px) {
  .p-casesFilter__chip {
    gap: 6px;
    padding: 6px 12px;
    font-size: 11px;
  }
}
.p-casesFilter__chip input {
  position: absolute;
  width: 0;
  height: 0;
  opacity: 0;
}
.p-casesFilter__chip:hover {
  opacity: 0.7;
}
.p-casesFilter__chip:has(:checked) {
  border-color: #0d3b66;
  background: #0d3b66;
  color: #ffffff;
}
.p-casesFilter__chip:has(:checked) .p-casesFilter__dot {
  background: rgba(255, 255, 255, 0.75);
}
.p-casesFilter__chip:has(:focus-visible) {
  outline: 2px solid #0d3b66;
  outline-offset: 2px;
}

.p-casesFilter__dot {
  flex-shrink: 0;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--cat-color);
}

.p-casesResult {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 35px;
}
@media screen and (max-width: 767px) {
  .p-casesResult {
    margin-top: 24px;
    font-size: 13px;
  }
}

.p-casesResult__count strong {
  font-weight: 700;
}

.p-casesResult__current {
  font-weight: 700;
}

.p-casesList {
  display: flex;
  flex-direction: column;
  gap: 15px;
  margin-top: 29px;
}
@media screen and (max-width: 767px) {
  .p-casesList {
    gap: 12px;
    margin-top: 20px;
  }
}

.p-casesList__empty {
  padding-block: 60px;
  color: #474747;
  font-size: 15px;
  line-height: 1.8;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-casesList__empty {
    padding-block: 40px;
    font-size: 13px;
  }
}

.p-casesItem {
  position: relative;
  border-radius: 10px;
  background: #ffffff;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
  overflow: hidden;
}
.p-casesItem::before {
  content: "";
  position: absolute;
  left: 0;
  width: 6px;
  height: 100%;
  background: var(--cat-color);
}

.p-casesItem__head {
  list-style: none;
  position: relative;
  padding: 23px 20px;
}
@media screen and (max-width: 767px) {
  .p-casesItem__head {
    padding: 16px 20px;
  }
}
.p-casesItem__head::-webkit-details-marker {
  display: none;
}
@media (any-hover: hover) {
  .p-casesItem__head:hover {
    cursor: pointer;
  }
}

.p-casesItem__head-inner {
  display: flex;
  align-items: center;
  gap: 22px;
  max-width: 935px;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-casesItem__head-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    padding-right: 26px;
  }
}

.p-casesItem__no {
  flex-shrink: 0;
  width: 71px;
  padding-block: 4px;
  border-radius: 8px;
  background: var(--cat-tint);
  color: var(--cat-color);
  font-size: 15px;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-casesItem__no {
    width: 52px;
    font-size: 12px;
  }
}

.p-casesItem__head-main {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .p-casesItem__head-main {
    gap: 6px;
  }
}

.p-casesItem__meta {
  display: flex;
  align-items: center;
  gap: 18px;
}
@media screen and (max-width: 767px) {
  .p-casesItem__meta {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }
}

.p-casesItem__cat {
  padding-inline: 6px;
  border-radius: 4px;
  background: var(--cat-tint);
  color: var(--cat-color);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-casesItem__cat {
    font-size: 12px;
  }
}

.p-casesItem__info {
  color: #474747;
  font-size: 15px;
}
@media screen and (max-width: 767px) {
  .p-casesItem__info {
    font-size: 11px;
  }
}

.p-casesItem__title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-casesItem__title {
    font-size: unset;
    line-height: 1.4;
  }
}

.p-casesItem__toggle {
  position: absolute;
  top: 50%;
  right: 35px;
  transform: translateY(-50%) rotate(90deg);
  width: 19px;
  height: 22px;
  background: #404040;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  transition: transform 0.3s;
}
@media screen and (max-width: 767px) {
  .p-casesItem__toggle {
    right: 16px;
    width: 14px;
    height: 16px;
  }
}

.p-casesItem.is-opened .p-casesItem__toggle {
  transform: translateY(-50%) rotate(-90deg);
}

.p-casesItem__detail {
  padding-inline: 20px;
  border-top: 1px solid #9a9a9a;
  overflow: hidden;
}

.p-casesItem__detail-inner {
  max-width: 935px;
  margin-inline: auto;
  padding-block: 30px 32px;
}
@media screen and (max-width: 767px) {
  .p-casesItem__detail-inner {
    padding-block: 20px 22px;
  }
}

.p-casesItem__block + .p-casesItem__block {
  margin-top: 35px;
}
@media screen and (max-width: 767px) {
  .p-casesItem__block + .p-casesItem__block {
    margin-top: 22px;
  }
}

.p-casesItem__label {
  display: inline-block;
  width: 71px;
  padding-block: 4px;
  border-radius: 8px;
  background: #474747;
  color: #ffffff;
  font-weight: 500;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-casesItem__label {
    width: 56px;
    font-size: 13px;
    padding-block: 0;
  }
}
.p-casesItem__label.--answer {
  background: #0d3b66;
}

.p-casesItem__text {
  margin-top: 15px;
  line-height: 1.9;
}
@media screen and (max-width: 767px) {
  .p-casesItem__text {
    margin-top: 10px;
    line-height: 1.7;
  }
}
.p-casesItem__text > * + * {
  margin-top: 1em;
}

.p-casesItem__free {
  margin-top: 35px;
  padding-top: 30px;
  border-top: 1px solid #9a9a9a;
}
@media screen and (max-width: 767px) {
  .p-casesItem__free {
    margin-top: 22px;
    padding-top: 20px;
  }
}
.p-casesItem__free img,
.p-casesItem__free iframe {
  max-width: 100%;
  height: auto;
}
.p-casesItem__free table {
  display: block;
  max-width: 100%;
  overflow-x: auto;
}

.p-casesPager {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  margin-top: 44px;
}
@media screen and (max-width: 767px) {
  .p-casesPager {
    gap: 10px;
    margin-top: 30px;
  }
}

.p-casesPager__num {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  color: #0d3b66;
  font-size: 16px;
  line-height: 22px;
  transition: opacity 0.2s;
}
@media screen and (max-width: 767px) {
  .p-casesPager__num {
    font-size: 14px;
  }
}
.p-casesPager__num:hover {
  opacity: 0.6;
}
.p-casesPager__num.--current {
  background: #0d3b66;
  color: #ffffff;
}

.p-casesPager__dots {
  color: #474747;
}

.p-casesPager__arrow {
  display: block;
  position: relative;
  width: 10px;
  height: 24px;
  transition: opacity 0.2s;
}
.p-casesPager__arrow.--prev {
  margin-right: 18px;
}
.p-casesPager__arrow.--next {
  margin-left: 18px;
}
.p-casesPager__arrow:hover {
  opacity: 0.6;
}
.p-casesPager__arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 8px;
  border-top: 2px solid #0d3b66;
  border-right: 2px solid #0d3b66;
}
.p-casesPager__arrow.--prev::after {
  translate: -30% -50%;
  rotate: -135deg;
}
.p-casesPager__arrow.--next::after {
  translate: -70% -50%;
  rotate: 45deg;
}

.p-casesItem,
.p-casesFilter__chip {
  --cat-color: #0d3b66;
  --cat-tint: rgb(225.96, 231.48, 236.64);
}
.p-casesItem.--all,
.p-casesFilter__chip.--all {
  --cat-color: #0d3b66;
  --cat-tint: rgb(225.96, 231.48, 236.64);
}

.p-faqBody {
  padding-block: 53px 100px;
  background: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-faqBody {
    padding-block: 30px 60px;
  }
}

.p-faqLead {
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-faqLead {
    line-height: 1.8;
  }
}

.p-faqFilter {
  margin-top: 40px;
  padding: 40px 20px;
  border: 1px solid #dbe4f0;
  border-radius: 10px;
  background: #f4f8fc;
}
@media screen and (max-width: 767px) {
  .p-faqFilter {
    margin-top: 24px;
    padding: 20px 20px;
  }
}

.p-faqFilter__inner {
  max-width: 935px;
  margin-inline: auto;
}

.p-faqFilter__search {
  display: flex;
  gap: 18px;
}
@media screen and (max-width: 767px) {
  .p-faqFilter__search {
    flex-direction: column-reverse;
    justify-content: end;
    gap: 10px;
  }
}

.p-faqFilter__input {
  flex: 1;
  min-width: 0;
  padding: 12px 20px;
  border: 1px solid #dbe4f0;
  border-radius: 8px;
  background: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-faqFilter__input {
    flex: unset;
    width: 100%;
    padding: 10px 14px;
    font-size: 13px;
  }
}
.p-faqFilter__input::placeholder {
  color: #9a9a9a;
}
.p-faqFilter__input:focus-visible {
  outline: 2px solid #1f5da3;
  outline-offset: 1px;
}

.p-faqFilter__clear {
  flex-shrink: 0;
  width: 117px;
  border: 1px solid #dbe4f0;
  border-radius: 8px;
  background: #ffffff;
  cursor: pointer;
  transition: opacity 0.2s;
}
@media screen and (max-width: 767px) {
  .p-faqFilter__clear {
    width: 72px;
    margin-left: auto;
    font-size: 13px;
  }
}
.p-faqFilter__clear:hover {
  opacity: 0.6;
}

.p-faqFilter__toggle {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-faqFilter__toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    margin-top: 12px;
    padding: 10px 14px;
    border-radius: 8px;
    background: #fafcff;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
  }
  .p-faqFilter__toggle::after {
    content: "";
    flex-shrink: 0;
    width: 0;
    height: 0;
    border-top: 6px solid #4a5b6d;
    border-inline: 5px solid transparent;
    transition: transform 0.3s;
  }
  .p-faqFilter__toggle.is-opened::after {
    transform: rotate(180deg);
  }
}

@media screen and (max-width: 767px) {
  .p-faqFilter__collapse {
    height: 0;
    overflow: hidden;
  }
}

.p-faqFilter__chips {
  transition: opacity 0.2s;
}

.p-faqFilter.is-loading .p-faqFilter__chips {
  opacity: 0.55;
}

.p-faqFilter__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .p-faqFilter__chips {
    gap: 8px;
    margin-top: 14px;
  }
}

.p-faqFilter__chip {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 18px;
  border: 1px solid #dbe4f0;
  border-radius: 999px;
  background: #ffffff;
  font-size: 14px;
  line-height: 1.6;
  cursor: pointer;
  transition: opacity 0.2s;
}
@media screen and (max-width: 767px) {
  .p-faqFilter__chip {
    gap: 6px;
    padding: 6px 12px;
    font-size: 11px;
  }
}
.p-faqFilter__chip input {
  position: absolute;
  width: 0;
  height: 0;
  opacity: 0;
}
.p-faqFilter__chip:hover {
  opacity: 0.7;
}
.p-faqFilter__chip:has(:checked) {
  border-color: #1f5da3;
  background: #1f5da3;
  color: #ffffff;
}
.p-faqFilter__chip:has(:checked) .p-faqFilter__dot {
  background: rgba(255, 255, 255, 0.75);
}
.p-faqFilter__chip:has(:focus-visible) {
  outline: 2px solid #1f5da3;
  outline-offset: 2px;
}

.p-faqFilter__dot {
  flex-shrink: 0;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--cat-color);
}

.p-faqResult {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 35px;
  color: #546e7a;
}
@media screen and (max-width: 767px) {
  .p-faqResult {
    margin-top: 24px;
    font-size: 13px;
  }
}

.p-faqResult__count strong {
  color: #000000;
  font-size: 1.2em;
  font-weight: 700;
}

.p-faqResult__current {
  font-weight: 700;
}

.p-faqList {
  margin-top: 24px;
  border-top: 2px solid #14375c;
}

.p-faqList__empty {
  padding-block: 60px;
  color: #546e7a;
  font-size: 15px;
  line-height: 1.8;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-faqList__empty {
    padding-block: 40px;
    font-size: 13px;
  }
}

.p-faqItem {
  border-bottom: 1px solid #dbe4f0;
}

.p-faqItem__head {
  list-style: none;
  padding: 24px 8px;
}
@media screen and (max-width: 767px) {
  .p-faqItem__head {
    padding: 16px 4px;
  }
}
.p-faqItem__head::-webkit-details-marker {
  display: none;
}
@media (any-hover: hover) {
  .p-faqItem__head:hover {
    cursor: pointer;
  }
}

.p-faqItem__head-inner {
  display: flex;
  align-items: center;
  gap: 18px;
  max-width: 935px;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-faqItem__head-inner {
    align-items: flex-start;
    gap: 12px;
  }
}

.p-faqItem__badge {
  flex-shrink: 0;
  width: 26px;
  color: var(--cat-color);
  font-family: "Inter", sans-serif;
  font-size: 26px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .p-faqItem__badge {
    width: 20px;
    font-size: 19px;
  }
}

.p-faqItem__question {
  flex: 1;
  min-width: 0;
  font-size: 19px;
  font-weight: 700;
  line-height: 1.55;
}
@media screen and (max-width: 767px) {
  .p-faqItem__question {
    font-size: 15px;
    line-height: 1.5;
  }
}

.p-faqItem__toggle {
  flex-shrink: 0;
  position: relative;
  width: 30px;
  height: 30px;
  border: 1px solid #b9c6d6;
  border-radius: 50%;
  transition: background-color 0.3s, border-color 0.3s;
}
@media screen and (max-width: 767px) {
  .p-faqItem__toggle {
    width: 22px;
    height: 22px;
  }
}
.p-faqItem__toggle::before, .p-faqItem__toggle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  background: #14375c;
  transition: background-color 0.3s, scale 0.3s;
}
.p-faqItem__toggle::before {
  width: 12px;
  height: 1.5px;
}
@media screen and (max-width: 767px) {
  .p-faqItem__toggle::before {
    width: 9px;
  }
}
.p-faqItem__toggle::after {
  width: 1.5px;
  height: 12px;
}
@media screen and (max-width: 767px) {
  .p-faqItem__toggle::after {
    height: 9px;
  }
}

.p-faqItem.is-opened .p-faqItem__toggle {
  border-color: #14375c;
  background: #14375c;
}
.p-faqItem.is-opened .p-faqItem__toggle::before, .p-faqItem.is-opened .p-faqItem__toggle::after {
  background: #ffffff;
}
.p-faqItem.is-opened .p-faqItem__toggle::after {
  scale: 1 0;
}

.p-faqItem__detail {
  overflow: hidden;
}

.p-faqItem__detail-inner {
  max-width: 935px;
  margin-inline: auto;
  padding: 0 8px 30px calc(26px + 18px + 8px);
}
@media screen and (max-width: 767px) {
  .p-faqItem__detail-inner {
    padding: 0 4px 22px calc(20px + 12px + 4px);
  }
}

.p-faqItem__text {
  line-height: 1.95;
}
@media screen and (max-width: 767px) {
  .p-faqItem__text {
    font-size: 13px;
    line-height: 1.8;
  }
}
.p-faqItem__text > * + * {
  margin-top: 1em;
}
.p-faqItem__text img {
  max-width: 100%;
  height: auto;
}
.p-faqItem__text table {
  display: block;
  max-width: 100%;
  overflow-x: auto;
}

.p-faqItem__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 18px;
  margin-top: 20px;
  list-style: none;
}
@media screen and (max-width: 767px) {
  .p-faqItem__tags {
    gap: 4px 12px;
    margin-top: 14px;
  }
}

.p-faqItem__tag {
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .p-faqItem__tag {
    font-size: 11px;
  }
}
.p-faqItem__tag::before {
  content: "#";
  margin-right: 2px;
  font-weight: 700;
}
.p-faqItem__tag.--cat {
  color: var(--cat-color);
  transition: opacity 0.2s;
}
.p-faqItem__tag.--cat:hover {
  opacity: 0.65;
  text-decoration: underline;
}
.p-faqItem__tag.--date {
  color: #546e7a;
  font-weight: 400;
}

.p-faqPager {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  margin-top: 44px;
}
@media screen and (max-width: 767px) {
  .p-faqPager {
    gap: 10px;
    margin-top: 30px;
  }
}

.p-faqPager__num {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  color: #1f5da3;
  font-size: 16px;
  line-height: 22px;
  transition: opacity 0.2s;
}
@media screen and (max-width: 767px) {
  .p-faqPager__num {
    font-size: 14px;
  }
}
.p-faqPager__num:hover {
  opacity: 0.6;
}
.p-faqPager__num.--current {
  background: #1f5da3;
  color: #ffffff;
}

.p-faqPager__dots {
  color: #546e7a;
}

.p-faqPager__arrow {
  display: block;
  position: relative;
  width: 10px;
  height: 24px;
  transition: opacity 0.2s;
}
.p-faqPager__arrow.--prev {
  margin-right: 18px;
}
.p-faqPager__arrow.--next {
  margin-left: 18px;
}
.p-faqPager__arrow:hover {
  opacity: 0.6;
}
.p-faqPager__arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 8px;
  border-top: 2px solid #1f5da3;
  border-right: 2px solid #1f5da3;
}
.p-faqPager__arrow.--prev::after {
  translate: -30% -50%;
  rotate: -135deg;
}
.p-faqPager__arrow.--next::after {
  translate: -70% -50%;
  rotate: 45deg;
}

.p-faqContact {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  margin-top: 60px;
  padding: 26px 20px;
  border: 1px solid #dbe4f0;
  border-radius: 10px;
  background: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-faqContact {
    flex-direction: column;
    gap: 14px;
    margin-top: 40px;
    padding: 20px 20px;
  }
}

.p-faqContact__text {
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .p-faqContact__text {
    font-size: 13px;
    text-align: center;
  }
}

.p-faqContact__btn {
  display: grid;
  place-items: center;
  min-width: 260px;
  padding: 12px 24px;
  border-radius: 999px;
  background: #1f5da3;
  color: #ffffff;
  font-weight: 700;
  transition: opacity 0.2s;
}
@media screen and (max-width: 767px) {
  .p-faqContact__btn {
    min-width: 0;
    width: 100%;
    padding: 10px 18px;
    font-size: 13px;
  }
}
.p-faqContact__btn:hover {
  opacity: 0.75;
}

.p-faqItem,
.p-faqFilter__chip {
  --cat-color: #1f5da3;
}
.p-faqItem.--all,
.p-faqFilter__chip.--all {
  --cat-color: #1f5da3;
}

.p-contactBody {
  padding-block: 74px 100px;
}
@media screen and (max-width: 767px) {
  .p-contactBody {
    padding-block: 30px 50px;
  }
}

.p-contactLead {
  line-height: 1.9;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-contactLead {
    text-align: left;
  }
}

.p-contactQa {
  display: flex;
  align-items: center;
  gap: 35px;
  margin-top: 60px;
  padding: 27px 41px 27px 36px;
  border: 1px solid #0048b8;
  border-radius: 10px;
  background: #f3f8fa;
}
@media screen and (max-width: 767px) {
  .p-contactQa {
    margin-top: 40px;
    flex-direction: column;
    padding: 30px 20px;
  }
}

.p-contactQa__icon {
  position: relative;
  flex-shrink: 0;
  width: 100px;
  height: auto;
  aspect-ratio: 100/96;
}

.p-contactQa__bubble {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  border-radius: 50% 50% 50% 4px;
  color: #ffffff;
  font-size: 24px;
  font-weight: 700;
}
.p-contactQa__bubble.--q {
  top: 0;
  left: 0;
  background: #274d7c;
}
.p-contactQa__bubble.--a {
  right: 0;
  bottom: 0;
  border-radius: 50% 50% 4px 50%;
  background: #3f9c70;
}

.p-contactQa__body {
  flex: 1;
  min-width: 0;
}

.p-contactQa__title {
  color: #274d7c;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-contactQa__title {
    font-size: 16px;
    text-align: center;
  }
}

.p-contactQa__text {
  margin-top: 6px;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-contactQa__text {
    margin-top: 15px;
  }
}

.p-contactQa__button {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 278px;
  padding-block: 14px;
  border-radius: 8px;
  background: #08326d;
  color: #ffffff;
  font-weight: 500;
  transition: opacity 0.2s;
}
.p-contactQa__button:hover {
  opacity: 0.7;
}

.p-contactTitle {
  display: flex;
  align-items: center;
  gap: 87px;
  margin-top: 46px;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-contactTitle {
    gap: 16px;
    font-size: 20px;
  }
}
.p-contactTitle::before, .p-contactTitle::after {
  content: "";
  flex: 1;
  height: 1px;
  background: #000000;
}

.p-contactStep {
  margin-top: 36px;
}

.p-contactStep__title {
  display: flex;
  align-items: center;
  gap: 15px;
  padding-inline: 56px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-contactStep__title {
    font-size: 16px;
    padding-inline: 0;
    justify-content: center;
  }
}

.p-contactStep__num {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 36px;
  height: auto;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #274d7c;
  color: #ffffff;
  font-size: 18px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-contactStep__num {
    width: 25px;
    font-size: unset;
  }
}

.p-contactRows {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 49px;
  row-gap: 22px;
  margin-top: 42px;
  padding-inline: 56px;
}
@media screen and (max-width: 767px) {
  .p-contactRows {
    grid-template-columns: repeat(1, 1fr);
    padding-inline: 0;
  }
}

.p-contactRow.--full {
  grid-column: 1/-1;
}

.p-contactRow__head {
  display: block;
  color: #274d7c;
  font-weight: 500;
  line-height: 1.8;
}

.p-contactRow__required,
.p-contactRow__any {
  margin-left: 8px;
  padding: 2px 7px;
  border-radius: 2px;
  font-size: 11px;
  font-weight: 700;
  vertical-align: 2px;
}

.p-contactRow__required {
  background: #c62828;
  color: #ffffff;
}

.p-contactRow__any {
  background: #fafafa;
  border: 1px solid #c0c0c0;
  color: #546e7a;
}

.p-contactRow__data {
  margin-top: 8px;
}
@media screen and (max-width: 767px) {
  .p-contactRow__data {
    margin-top: 3px;
  }
}

.p-contactRow__data input[type=text],
.p-contactRow__data input[type=email],
.p-contactRow__data input[type=tel],
.p-contactRow__data select,
.p-contactRow__data textarea {
  width: 100%;
  padding: 10px 16px;
  border: 1px solid #c0c0c0;
  border-radius: 4px;
  background: #ffffff;
  line-height: 1.6;
  font-size: 16px;
}
.p-contactRow__data input[type=text]::placeholder,
.p-contactRow__data input[type=email]::placeholder,
.p-contactRow__data input[type=tel]::placeholder,
.p-contactRow__data select::placeholder,
.p-contactRow__data textarea::placeholder {
  color: #9a9a9a;
}
.p-contactRow__data input[type=text]:focus-visible,
.p-contactRow__data input[type=email]:focus-visible,
.p-contactRow__data input[type=tel]:focus-visible,
.p-contactRow__data select:focus-visible,
.p-contactRow__data textarea:focus-visible {
  outline: 2px solid #274d7c;
  outline-offset: 1px;
}
.p-contactRow__data input[type=text]:not(select):read-only,
.p-contactRow__data input[type=email]:not(select):read-only,
.p-contactRow__data input[type=tel]:not(select):read-only,
.p-contactRow__data select:not(select):read-only,
.p-contactRow__data textarea:not(select):read-only {
  border-color: #c9c9c9;
  background: #ebebeb;
  color: #555555;
}
.p-contactRow__data input[type=text]:-webkit-autofill, .p-contactRow__data input[type=text]:-webkit-autofill:hover, .p-contactRow__data input[type=text]:-webkit-autofill:focus,
.p-contactRow__data input[type=email]:-webkit-autofill,
.p-contactRow__data input[type=email]:-webkit-autofill:hover,
.p-contactRow__data input[type=email]:-webkit-autofill:focus,
.p-contactRow__data input[type=tel]:-webkit-autofill,
.p-contactRow__data input[type=tel]:-webkit-autofill:hover,
.p-contactRow__data input[type=tel]:-webkit-autofill:focus,
.p-contactRow__data select:-webkit-autofill,
.p-contactRow__data select:-webkit-autofill:hover,
.p-contactRow__data select:-webkit-autofill:focus,
.p-contactRow__data textarea:-webkit-autofill,
.p-contactRow__data textarea:-webkit-autofill:hover,
.p-contactRow__data textarea:-webkit-autofill:focus {
  -webkit-text-fill-color: #000000;
  -webkit-box-shadow: 0 0 0 1000px #ffffff inset;
  box-shadow: 0 0 0 1000px #ffffff inset;
  transition: background-color 9999s ease-in-out 0s;
}
.p-contactRow__data input[type=text]:not(select):-webkit-autofill:read-only,
.p-contactRow__data input[type=email]:not(select):-webkit-autofill:read-only,
.p-contactRow__data input[type=tel]:not(select):-webkit-autofill:read-only,
.p-contactRow__data select:not(select):-webkit-autofill:read-only,
.p-contactRow__data textarea:not(select):-webkit-autofill:read-only {
  -webkit-text-fill-color: #555555;
  -webkit-box-shadow: 0 0 0 1000px #ebebeb inset;
  box-shadow: 0 0 0 1000px #ebebeb inset;
}
.p-contactRow__data textarea {
  height: 250px;
  min-height: 97px;
  resize: vertical;
}
@media screen and (max-width: 767px) {
  .p-contactRow__data textarea {
    height: 300px;
    min-height: 300px;
  }
}

.p-contactRadios {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 32px;
  padding-block: 10px;
}
@media screen and (max-width: 767px) {
  .p-contactRadios {
    gap: 10px 24px;
  }
}

.p-contactRadio input[type=radio] {
  position: absolute;
  width: 1px;
  height: 1px;
  clip: rect(0, 0, 0, 0);
}
.p-contactRadio span {
  position: relative;
  display: inline-flex;
  align-items: center;
  padding-left: 30px;
  line-height: 1.6;
  cursor: pointer;
}
.p-contactRadio span::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  translate: 0 -50%;
  width: 20px;
  height: 20px;
  border: 1px solid #c0c0c0;
  border-radius: 50%;
  background: #ffffff;
}
.p-contactRadio span::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 5px;
  translate: 0 -50%;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #274d7c;
  opacity: 0;
  transition: opacity 0.2s ease;
}
.p-contactRadio input[type=radio]:checked + span::before {
  border-color: #274d7c;
}
.p-contactRadio input[type=radio]:checked + span::after {
  opacity: 1;
}
.p-contactRadio input[type=radio]:focus-visible + span::before {
  outline: 2px solid #274d7c;
  outline-offset: 2px;
}

.p-contactSelect {
  position: relative;
}
.p-contactSelect select {
  -webkit-appearance: none;
  appearance: none;
  cursor: pointer;
}
.p-contactSelect::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 14px;
  translate: 0 -50%;
  width: 13px;
  height: 11px;
  background: #274d7c;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  pointer-events: none;
}

.p-contactFile {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px;
  border: 1px dashed #5179b3;
  border-radius: 4px;
  background: #ffffff;
  transition: background 0.2s, border-color 0.2s;
}
@media screen and (max-width: 767px) {
  .p-contactFile {
    flex-direction: column;
    padding: 30px 20px;
  }
}
.p-contactFile.is-dragover {
  border-color: #08326d;
  background: #f2f5fa;
}

.p-contactFile__icon {
  flex-shrink: 0;
  width: 54px;
}
.p-contactFile__icon img {
  width: 100%;
  height: auto;
}

.p-contactFile__button {
  padding: 8px 20px;
  border: 1px solid #5179b3;
  border-radius: 4px;
  background: #ffffff;
  color: #274d7c;
  cursor: pointer;
  transition: opacity 0.2s;
}
.p-contactFile__button:hover {
  opacity: 0.7;
}
.p-contactFile__button input[type=file] {
  position: absolute;
  width: 1px;
  height: 1px;
  clip: rect(0, 0, 0, 0);
}

.p-contactFile__note {
  margin-top: 9px;
  font-size: 14px;
  text-align: center;
}

.p-contactPrivacy {
  margin-top: 60px;
  padding-block: 22px 30px;
  border-radius: 4px;
  background: #f2f5fa;
}
@media screen and (max-width: 767px) {
  .p-contactPrivacy {
    margin-top: 30px;
    padding-block: 20px;
    padding-inline: 20px;
  }
}

.p-contactCheck {
  margin-top: 29px;
  padding-inline: 56px;
}
@media screen and (max-width: 767px) {
  .p-contactCheck {
    padding-inline: 20px;
  }
}
.p-contactCheck input[type=checkbox] {
  position: absolute;
  width: 1px;
  height: 1px;
  clip: rect(0, 0, 0, 0);
}
.p-contactCheck span {
  position: relative;
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  min-height: 38px;
  padding-left: 66px;
  line-height: 1.8;
  cursor: pointer;
}
.p-contactCheck span::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 7px;
  translate: 0 -50%;
  width: 38px;
  height: 38px;
  border: 1px solid #5179b3;
  border-radius: 4px;
  background: #ffffff;
}
.p-contactCheck span::after {
  content: "";
  position: absolute;
  top: calc(50% - 4px);
  left: 20px;
  translate: 0 -50%;
  width: 11px;
  height: 20px;
  rotate: 45deg;
  border-right: 2px solid #274d7c;
  border-bottom: 2px solid #274d7c;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.p-contactCheck input[type=checkbox]:checked + span::after {
  opacity: 1;
}
.p-contactCheck input[type=checkbox]:focus-visible + span::before {
  outline: 2px solid #274d7c;
  outline-offset: 2px;
}
.p-contactCheck a {
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: opacity 0.2s;
}
.p-contactCheck a:hover {
  opacity: 0.6;
}

.js-formField.is-error .p-contactRow__data input[type=text],
.js-formField.is-error .p-contactRow__data input[type=email],
.js-formField.is-error .p-contactRow__data input[type=tel],
.js-formField.is-error .p-contactRow__data select,
.js-formField.is-error .p-contactRow__data textarea {
  border-color: #c62828;
  background: #fffafa;
}
.js-formField.is-error .p-contactRow__data input[type=text]:-webkit-autofill, .js-formField.is-error .p-contactRow__data input[type=text]:-webkit-autofill:hover, .js-formField.is-error .p-contactRow__data input[type=text]:-webkit-autofill:focus,
.js-formField.is-error .p-contactRow__data input[type=email]:-webkit-autofill,
.js-formField.is-error .p-contactRow__data input[type=email]:-webkit-autofill:hover,
.js-formField.is-error .p-contactRow__data input[type=email]:-webkit-autofill:focus,
.js-formField.is-error .p-contactRow__data input[type=tel]:-webkit-autofill,
.js-formField.is-error .p-contactRow__data input[type=tel]:-webkit-autofill:hover,
.js-formField.is-error .p-contactRow__data input[type=tel]:-webkit-autofill:focus,
.js-formField.is-error .p-contactRow__data select:-webkit-autofill,
.js-formField.is-error .p-contactRow__data select:-webkit-autofill:hover,
.js-formField.is-error .p-contactRow__data select:-webkit-autofill:focus,
.js-formField.is-error .p-contactRow__data textarea:-webkit-autofill,
.js-formField.is-error .p-contactRow__data textarea:-webkit-autofill:hover,
.js-formField.is-error .p-contactRow__data textarea:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 1000px #fffafa inset;
  box-shadow: 0 0 0 1000px #fffafa inset;
}

.js-formField.is-error .p-contactRadio span::before {
  border-color: #c62828;
  background: #fffafa;
}

.p-contactErrors {
  margin-top: 24px;
  padding: 12px 16px;
  border-left: 3px solid #c62828;
  border-radius: 4px;
  background: #fffafa;
}
.p-contactErrors > .c-formError:first-child {
  margin-top: 0;
}

.p-contactConfirmNote {
  margin-top: 24px;
  padding: 12px 16px;
  border-left: 3px solid #274d7c;
  border-radius: 4px;
  background: #f2f5fa;
  line-height: 1.7;
}

.p-contactForm.is-confirm .p-contactCheck input[type=checkbox] {
  pointer-events: none;
  filter: grayscale(1);
  opacity: 0.6;
}
.p-contactForm.is-confirm .p-contactCheck label {
  cursor: default;
}
.p-contactForm.is-confirm .p-contactRadio span {
  pointer-events: none;
  cursor: default;
}
.p-contactForm.is-confirm select {
  pointer-events: none;
  border-color: #c9c9c9;
  background: #ebebeb;
  color: #555555;
}
.p-contactForm.is-confirm .p-contactFile {
  pointer-events: none;
  filter: grayscale(1);
  opacity: 0.6;
}

.p-contactSubmit {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  margin-top: 27px;
}
.p-contactSubmit button {
  width: 440px;
  max-width: 100%;
  padding-block: 16px;
  border-radius: 4px;
  background: #08326d;
  color: #ffffff;
  font-size: 20px;
  font-weight: 700;
  cursor: pointer;
  transition: opacity 0.2s;
}
@media screen and (max-width: 767px) {
  .p-contactSubmit button {
    font-size: 16px;
  }
}
.p-contactSubmit button:hover {
  opacity: 0.7;
}
.p-contactSubmit button:disabled {
  background: #b0bec5;
  cursor: default;
}
.p-contactSubmit button:disabled:hover {
  opacity: 1;
}

.p-contactSubmit__back {
  order: 1;
}
.p-contactSubmit__back, .p-contactSubmit__back:disabled {
  border: 1px solid #08326d;
  background: #ffffff;
  color: #08326d;
}

.p-contactDone {
  margin-top: 27px;
  padding: 40px 37px;
  border-radius: 4px;
  background: #f2f5fa;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-contactDone {
    padding: 28px 20px;
  }
}

.p-contactDone__title {
  color: #08326d;
  font-size: 22px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-contactDone__title {
    font-size: 18px;
  }
}

.p-contactDone__text {
  margin-top: 16px;
  line-height: 1.8;
  text-align: left;
}

.p-contactNote {
  display: flex;
  gap: 18px;
  margin-top: 18px;
  padding: 30px 37px;
  border-radius: 4px;
  background: #f2f5fa;
}
@media screen and (max-width: 767px) {
  .p-contactNote {
    margin-top: 27px;
    padding: 30px 20px;
    flex-direction: column;
  }
}

.p-contactNote__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: #08326d;
  color: #ffffff;
  font-size: 24px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-contactNote__icon {
    margin-inline: auto;
  }
}

.p-contactNote__title {
  color: #274d7c;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-contactNote__title {
    font-size: 16px;
    text-align: center;
  }
}

.p-contactNote__list {
  margin-top: 8px;
}

.p-recall .c-pageHead__title--en {
  color: #cd1f1f;
}

.p-recallNotice {
  padding-bottom: 93px;
  padding-left: max(40px, 50% - 600px);
}
@media screen and (max-width: 767px) {
  .p-recallNotice {
    padding-bottom: 0;
    padding-left: 20px;
  }
}

.p-recallNotice__image {
  width: 100%;
  height: auto;
}

.p-recallSearch {
  padding-top: 59px;
  padding-bottom: 144px;
  background: #f9f9f9;
}
@media screen and (max-width: 767px) {
  .p-recallSearch {
    padding-block: 40px;
  }
}

.p-recallSearch__head {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
}

.p-recallSearch__head-icon {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 58px;
  height: 58px;
  border-radius: 5px;
  background: #cf2c2d;
}
.p-recallSearch__head-icon img {
  width: 50px;
  height: 50px;
}

.p-recallSearch__head-title {
  color: #000000;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-recallSearch__head-title {
    font-size: 20px;
  }
}

.p-recallSearch__domesticBanner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 22px;
  max-width: 945px;
  margin-top: 62px;
  margin-inline: auto;
  padding: 20px 65px;
  border: 1px solid #ff9402;
  border-radius: 10px;
  background: #ffecd7;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
  transition: opacity 0.2s;
}
@media screen and (max-width: 767px) {
  .p-recallSearch__domesticBanner {
    margin-top: 30px;
  }
}
.p-recallSearch__domesticBanner:hover {
  opacity: 0.8;
}

.p-recallSearch__domesticBannerText {
  color: #e46a00;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-recallSearch__domesticBannerText {
    font-size: 16px;
  }
}

.p-recallSearch__domesticBannerArrow {
  position: absolute;
  top: 50%;
  right: 32px;
  transform: translateY(-50%);
  width: 16px;
}
@media screen and (max-width: 767px) {
  .p-recallSearch__domesticBannerArrow {
    width: 10px;
  }
}
.p-recallSearch__domesticBannerArrow img {
  width: 100%;
  height: auto;
}

.p-recallSearch__takataBanner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 22px;
  max-width: 945px;
  margin-top: 41px;
  margin-inline: auto;
  padding: 20px 65px;
  border: 1px solid #007900;
  border-radius: 10px;
  background: #e1efe1;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
  transition: opacity 0.2s;
}
.p-recallSearch__takataBanner:hover {
  opacity: 0.8;
}

.p-recallSearch__takataBannerText {
  color: #007900;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-recallSearch__takataBannerText {
    font-size: 16px;
  }
}

.p-recallSearch__takataBannerArrow {
  position: absolute;
  top: 50%;
  right: 32px;
  transform: translateY(-50%);
  width: 16px;
}
@media screen and (max-width: 767px) {
  .p-recallSearch__takataBannerArrow {
    width: 10px;
  }
}
.p-recallSearch__takataBannerArrow img {
  width: 100%;
  height: auto;
}

.p-recallSearch__appBanner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 22px;
  max-width: 945px;
  margin-top: 31px;
  margin-inline: auto;
  padding: 10px 65px 10px 21px;
  border: 1px solid #de3c3c;
  border-radius: 10px;
  background: #ffefef;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
  transition: opacity 0.2s;
}
@media screen and (max-width: 767px) {
  .p-recallSearch__appBanner {
    margin-top: 20px;
  }
}
.p-recallSearch__appBanner:hover {
  opacity: 0.8;
}

.p-recallSearch__appBannerQr {
  flex-shrink: 0;
  width: 76px;
}
.p-recallSearch__appBannerQr img {
  width: 100%;
  height: auto;
}

.p-recallSearch__appBannerText {
  color: #de3c3c;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-recallSearch__appBannerText {
    font-size: 16px;
  }
}

.p-recallSearch__appBannerArrow {
  position: absolute;
  top: 50%;
  right: 32px;
  transform: translateY(-50%);
  width: 16px;
}
@media screen and (max-width: 767px) {
  .p-recallSearch__appBannerArrow {
    width: 10px;
  }
}
.p-recallSearch__appBannerArrow img {
  width: 100%;
  height: auto;
}

.p-recallSearch__divider {
  display: flex;
  align-items: center;
  gap: 11px;
  max-width: 945px;
  margin-top: 56px;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-recallSearch__divider {
    margin-top: 40px;
  }
}

.p-recallSearch__divider-line {
  flex: 1;
  height: 1px;
  background: #d97373;
}
.p-recallSearch__divider-line.--short {
  flex: none;
  width: 51px;
}

.p-recallSearch__divider-text {
  color: #000000;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-recallSearch__divider-text {
    font-size: 20px;
  }
}

.p-recallSearch__brands {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 19px;
  row-gap: 31px;
  max-width: 945px;
  margin-top: 29px;
  margin-inline: auto;
}
@media (max-width: 1024px) {
  .p-recallSearch__brands {
    grid-template-columns: repeat(1, 1fr);
    row-gap: 20px;
  }
}
.p-recallSearch__brands > .--wide {
  grid-column: span 2;
}
@media (max-width: 1024px) {
  .p-recallSearch__brands > .--wide {
    grid-column: span 1;
  }
}

.p-recallSearch__brand {
  position: relative;
  display: flex;
  align-items: center;
  gap: 20px;
  height: 100%;
  padding: 7px 44px 7px 16px;
  border: 1px solid #aaaaaa;
  border-radius: 10px;
  background: #ffffff;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
  transition: opacity 0.2s;
}
.p-recallSearch__brand:hover {
  opacity: 0.6;
}

.p-recallSearch__brand-logo {
  flex-shrink: 0;
}
.p-recallSearch__brand-logo img {
  width: 100%;
  height: auto;
}
.p-recallSearch__brand-logo.--audi {
  width: 87px;
}
.p-recallSearch__brand-logo.--bmw {
  width: 51px;
}
.p-recallSearch__brand-logo.--vw {
  width: 57px;
}
.p-recallSearch__brand-logo.--benz {
  width: 57px;
}
.p-recallSearch__brand-logo.--stellantis {
  width: 117px;
}
@media screen and (max-width: 767px) {
  .p-recallSearch__brand-logo.--stellantis {
    width: 57px;
  }
}

.p-recallSearch__brand-name {
  color: #000000;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .p-recallSearch__brand-name {
    font-size: 16px;
  }
}
.p-recallSearch__brand-name.--s {
  font-size: 22px;
}
@media screen and (max-width: 767px) {
  .p-recallSearch__brand-name.--s {
    font-size: 16px;
  }
}

.p-recallSearch__brand-body {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-left: 10px;
}

.p-recallSearch__brand-logos {
  width: min(239px, 100%);
}
.p-recallSearch__brand-logos img {
  width: 100%;
  height: auto;
}

.p-recallSearch__brand-arrow {
  position: absolute;
  top: 50%;
  right: 24px;
  transform: translateY(-50%);
  width: 9px;
}
.p-recallSearch__brand-arrow img {
  width: 100%;
  height: auto;
}

.p-recallSearch__note {
  max-width: 945px;
  margin-top: 91px;
  margin-inline: auto;
  padding-top: 33px;
  border-top: 1px solid #9a9a9a;
  color: #000000;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-recallSearch__note {
    margin-top: 40px;
    font-size: unset;
  }
}

.p-find .c-pageHead__title--en {
  color: #cd701f;
}

.p-findBody {
  background: #f8f8f8;
}

.p-findBody__inner {
  display: grid;
  grid-template-columns: 288fr 980fr;
  column-gap: 20px;
  align-items: start;
  padding-top: 122px;
  padding-bottom: 156px;
}
@media screen and (max-width: 767px) {
  .p-findBody__inner {
    grid-template-columns: 1fr;
    row-gap: 30px;
    padding-top: 30px;
    padding-bottom: 60px;
  }
}

.p-findSections {
  min-width: 0;
}

.p-findResult, .p-findFilter, .p-findCount {
  border: 1px solid #e6e6e6;
  background: #ffffff;
}

.p-findCount {
  padding: 13px 19px;
}

.p-findCount__total {
  display: flex;
  align-items: baseline;
  gap: 20px;
  height: 32px;
  line-height: 32px;
}

.p-findCount__total-label {
  color: #007434;
  font-size: 16px;
  font-weight: 500;
}

.p-findCount__total-value {
  display: flex;
  align-items: baseline;
  gap: 9px;
  font-family: "Noto Serif JP", serif;
  font-size: 24px;
  font-weight: 500;
}

.p-findCount__total-unit {
  font-size: 16px;
}

.p-findCount__search {
  display: flex;
  align-items: stretch;
  gap: 7px;
  height: 30px;
  margin-top: 8px;
}

.p-findCount__search-field {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  border: 1px solid #626262;
  border-radius: 3px;
  color: #9a9a9a;
}

.p-findCount__search-icon {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
}

.p-findCount__search-input {
  width: 120px;
  border: none;
  background: transparent;
  color: #000000;
  font-size: 12px;
  font-weight: 700;
}
.p-findCount__search-input::placeholder {
  color: #9a9a9a;
}
.p-findCount__search-input:focus {
  outline: none;
}

.p-findCount__search-btn {
  flex-shrink: 0;
  width: 42px;
  border: none;
  border-radius: 3px;
  background: #1f5da3;
  color: #ffffff;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  transition: opacity 0.2s;
}
.p-findCount__search-btn:hover {
  opacity: 0.8;
}

.p-findCount__note {
  margin-top: 6px;
  font-size: 13px;
  line-height: 1.2;
}

.p-findLead {
  padding-left: 19px;
}

.p-findLead__title {
  font-size: 30px;
  font-weight: 700;
  line-height: 32px;
}
@media screen and (max-width: 767px) {
  .p-findLead__title {
    font-size: 20px;
  }
}

.p-findLead__text {
  margin-top: 18px;
  font-size: 15px;
  line-height: 27px;
}
@media screen and (max-width: 767px) {
  .p-findLead__text {
    font-size: unset;
  }
}
.p-findLead__text + .p-findLead__text {
  margin-top: 0;
}

.p-findFilter {
  margin-top: 23px;
  padding: 13px 20px 37px;
}
@media screen and (max-width: 767px) {
  .p-findFilter {
    margin-top: 20px;
    padding-bottom: 13px;
  }
}

.p-findFilter__title {
  position: relative;
  padding-bottom: 10px;
  border-bottom: 1px solid #cccccc;
  font-size: 15px;
  font-weight: 500;
  line-height: 27px;
}

.p-findFilter__toggle {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-findFilter__toggle {
    display: block;
    position: absolute;
    inset: 0;
    width: 100%;
    border: none;
    background: none;
    cursor: pointer;
  }
  .p-findFilter__toggle::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    translate: 0 -50%;
    width: 0;
    height: 0;
    border-top: 6px solid #000000;
    border-inline: 5px solid transparent;
    transition: rotate 0.3s;
  }
  .p-findFilter__toggle.is-opened::after {
    rotate: 180deg;
  }
}

@media screen and (max-width: 767px) {
  .p-findFilter__collapse {
    height: 0;
    overflow: hidden;
  }
}

.p-findFilter__group {
  padding-bottom: 18px;
  border-bottom: 1px solid #cccccc;
}
.p-findFilter__group:first-of-type {
  padding-top: 10px;
}
.p-findFilter__group + .p-findFilter__group {
  padding-top: 10px;
}

.p-findFilter__subtitle {
  font-size: 15px;
  font-weight: 500;
  line-height: 27px;
}

.p-findFilter__list {
  margin-top: 5px;
}

.p-findFilter__check {
  display: block;
}
.p-findFilter__check input[type=checkbox] {
  position: absolute;
  width: 1px;
  height: 1px;
  clip: rect(0, 0, 0, 0);
}
.p-findFilter__check span {
  position: relative;
  display: block;
  padding-left: 38px;
  font-size: 15px;
  line-height: 32px;
  cursor: pointer;
}
.p-findFilter__check span::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  translate: 0 -50%;
  width: 22px;
  height: 22px;
  border: 1px solid #c0c0c0;
  border-radius: 4px;
  background: #ffffff;
}
.p-findFilter__check span::after {
  content: "";
  position: absolute;
  top: calc(50% - 2px);
  left: 8px;
  translate: 0 -50%;
  width: 7px;
  height: 12px;
  rotate: 45deg;
  border-right: 2px solid #1f5da3;
  border-bottom: 2px solid #1f5da3;
  opacity: 0;
  transition: opacity 0.2s;
}
.p-findFilter__check input[type=checkbox]:checked + span::after {
  opacity: 1;
}
.p-findFilter__check input[type=checkbox]:focus-visible + span::before {
  outline: 2px solid #1f5da3;
  outline-offset: 2px;
}

.p-findFilter__submit {
  display: block;
  width: 216px;
  margin: 25px auto 0;
  padding-block: 13px;
  border: none;
  border-radius: 10px;
  background: #1f5da3;
  color: #ffffff;
  font-size: 14px;
  font-weight: 700;
  line-height: 28px;
  cursor: pointer;
  transition: opacity 0.2s;
}
.p-findFilter__submit:hover {
  opacity: 0.8;
}

.p-findResult {
  margin-top: 12px;
  padding: 13px 15px 66px;
}
@media screen and (max-width: 767px) {
  .p-findResult {
    margin-top: 20px;
  }
}

.p-findResult__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid #cccccc;
}
@media screen and (max-width: 767px) {
  .p-findResult__head {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
}
.p-findResult__head + .p-findResult__scroll {
  margin-top: 14px;
}

.p-findResult__count {
  font-size: 14px;
  line-height: 1.6;
}

.p-findResult__count-label {
  font-weight: 700;
}

.p-findResult__count-value {
  margin-inline: 4px;
  color: #007434;
  font-size: 20px;
  font-weight: 700;
}

.p-findResult__reset {
  color: #1f5da3;
  font-size: 13px;
  text-decoration: underline;
  transition: opacity 0.2s;
}
.p-findResult__reset:hover {
  opacity: 0.6;
}

.p-findResult__empty {
  padding-block: 40px;
  font-size: 15px;
  line-height: 1.8;
  text-align: center;
}

.p-findResult__scroll {
  overflow-x: auto;
  overscroll-behavior-x: contain;
}
.p-findResult__scroll:focus-visible {
  outline: 2px solid #1f5da3;
  outline-offset: 2px;
}

.p-findResult__table {
  width: 100%;
  min-width: 946px;
  table-layout: fixed;
  border-collapse: collapse;
}

.p-findResult__th {
  padding-block: 10px;
  padding-inline: 10px;
  background: #f5f5f5;
  font-size: 15px;
  font-weight: 500;
  line-height: 27px;
  text-align: center;
  vertical-align: middle;
}
.p-findResult__th.--branch {
  width: 68px;
}
.p-findResult__th.--name {
  width: 230px;
}
.p-findResult__th.--tel {
  width: 156px;
}
.p-findResult__th.--zip {
  width: 93px;
}
.p-findResult__th.--address {
  width: 259px;
}
.p-findResult__th.--badge {
  width: 70px;
}
.p-findResult__th.--link {
  width: 70px;
}
.p-findResult__th.--badge, .p-findResult__th.--link {
  line-height: 16px;
}
.p-findResult__th + .p-findResult__th {
  position: relative;
}
.p-findResult__th + .p-findResult__th::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  translate: 0 -50%;
  width: 1px;
  height: 38px;
  background: #cccccc;
}

.p-findResult__td {
  padding-block: 17px;
  padding-inline: 10px;
  border-bottom: 1px solid #cccccc;
  font-size: 14px;
  line-height: 22px;
  text-align: center;
  vertical-align: middle;
}
.p-findResult__td.--name, .p-findResult__td.--address {
  text-align: left;
}
@media screen and (max-width: 767px) {
  .p-findResult__td {
    font-size: 12px;
  }
}

.p-findResult__contact {
  display: inline-grid;
  gap: 2px;
  text-align: left;
}

.p-findResult__contact-row {
  display: flex;
  align-items: baseline;
  gap: 4px;
  white-space: nowrap;
}

.p-findResult__contact-label {
  font-size: 12px;
}
@media screen and (max-width: 767px) {
  .p-findResult__contact-label {
    font-size: 11px;
  }
}

.p-findResult__tel {
  color: #000000;
}

a.p-findResult__tel {
  transition: opacity 0.2s;
}
a.p-findResult__tel:hover {
  opacity: 0.6;
}

.p-findResult__badge {
  display: inline-block;
  width: 46px;
  border-radius: 3px;
  background: #c93510;
  color: #ffffff;
  font-size: 12px;
  font-weight: 700;
  line-height: 27px;
}

.p-findResult__link {
  display: inline-block;
  width: 35px;
  transition: opacity 0.2s;
}
.p-findResult__link:hover {
  opacity: 0.6;
}
.p-findResult__link img {
  width: 100%;
  height: auto;
}

.p-findResult__pager {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  margin-top: 44px;
}

.p-findResult__pager-num {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  color: #1f5da3;
  font-size: 16px;
  line-height: 22px;
  transition: opacity 0.2s;
}
.p-findResult__pager-num:hover {
  opacity: 0.6;
}
.p-findResult__pager-num.--current {
  background: #1f5da3;
  color: #ffffff;
}

.p-findResult__pager-dots {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  color: #1f5da3;
  font-size: 16px;
  line-height: 22px;
}

.p-findResult__pager-arrow {
  display: block;
  position: relative;
  width: 10px;
  height: 24px;
  transition: opacity 0.2s;
}
.p-findResult__pager-arrow.--prev {
  margin-right: 18px;
}
.p-findResult__pager-arrow.--next {
  margin-left: 18px;
}
.p-findResult__pager-arrow:hover {
  opacity: 0.6;
}
.p-findResult__pager-arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 8px;
  border-top: 2px solid #1f5da3;
  border-right: 2px solid #1f5da3;
}
.p-findResult__pager-arrow.--prev::after {
  translate: -30% -50%;
  rotate: -135deg;
}
.p-findResult__pager-arrow.--next::after {
  translate: -70% -50%;
  rotate: 45deg;
}

.p-downloadsCard, .p-downloadsCategory__card, .p-downloadsNotice {
  border-radius: 16px;
  background: #ffffff;
}

.p-downloadsModal__status, .p-downloadsModal__body, .p-downloadsCard__section, .p-downloadsCard__meta, .p-downloadsCard__desc, .p-downloadsCategory__lead, .p-downloadsNotice__text {
  letter-spacing: 0;
}

.p-downloadsLead {
  padding-block: 47px 38px;
}

.p-downloadsLead__text {
  font-size: 17px;
  line-height: 27px;
}

.p-downloadsFinder {
  padding-block: 43px 70px;
  background: #eff1f4;
}
@media screen and (max-width: 767px) {
  .p-downloadsFinder {
    padding-block: 30px 40px;
  }
}

.p-downloadsNotice {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  padding-block: 29px 38px;
  padding-inline: 30px 50px;
  border-left: 8px solid #f59e0b;
}
@media screen and (max-width: 767px) {
  .p-downloadsNotice {
    flex-direction: column;
    align-items: stretch;
    gap: 30px;
    padding-inline: 20px;
    padding-block: 20px;
  }
}

.p-downloadsNotice__title {
  color: #183b5b;
  font-size: 18px;
  font-weight: 700;
  line-height: 22px;
}

.p-downloadsNotice__text {
  margin-top: 17px;
  color: #53657a;
  font-size: 13px;
  line-height: 16px;
}

.p-downloadsNotice__search {
  flex-shrink: 0;
}

.p-downloadsNotice__searchField {
  display: flex;
  align-items: center;
  gap: 7px;
  width: 360px;
  height: 56px;
  padding-inline: 22px;
  border: 1px solid #777171;
  border-radius: 999px;
  cursor: text;
}
@media screen and (max-width: 767px) {
  .p-downloadsNotice__searchField {
    width: 100%;
  }
}

.p-downloadsNotice__searchIcon {
  flex-shrink: 0;
  width: 43px;
}
.p-downloadsNotice__searchIcon img {
  width: 100%;
  height: auto;
}

.p-downloadsNotice__searchInput {
  flex: 1;
  min-width: 0;
  border: none;
  background: transparent;
  color: #000000;
  font-size: 14px;
}
.p-downloadsNotice__searchInput::placeholder {
  color: #7890a6;
}
.p-downloadsNotice__searchInput:focus {
  outline: none;
}

.p-downloadsFinder__title {
  margin-top: 51px;
  color: #183b5b;
  font-size: 20px;
  font-weight: 700;
  line-height: 24px;
}
@media screen and (max-width: 767px) {
  .p-downloadsFinder__title {
    margin-top: 30px;
    font-size: 16px;
  }
}

.p-downloadsCategory {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 24px;
}
@media screen and (max-width: 767px) {
  .p-downloadsCategory {
    grid-template-columns: repeat(1, 1fr);
  }
}

.p-downloadsCategory__card {
  display: flex;
  align-items: center;
  height: 100%;
  padding: 37px 22px 37px 24px;
  transition: opacity 0.2s;
}
@media screen and (max-width: 767px) {
  .p-downloadsCategory__card {
    padding: 20px;
  }
}
.p-downloadsCategory__card:hover {
  opacity: 0.7;
}

.p-downloadsCategory__body {
  flex: 1;
  min-width: 0;
  margin-left: 20px;
}

.p-downloadsCategory__icon {
  flex-shrink: 0;
  width: 50px;
}
.p-downloadsCategory__icon img {
  width: 100%;
  height: auto;
}

.p-downloadsCategory__name {
  display: block;
  color: #183b5b;
  font-size: 20px;
  font-weight: 700;
  line-height: 24px;
}

.p-downloadsCategory__lead {
  display: block;
  margin-top: 10px;
  color: #718096;
  font-size: 13px;
  line-height: 16px;
}

.p-downloadsCategory__arrow {
  width: 35px;
  margin-left: 12px;
  color: #5c5c5c;
  font-size: 36px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}

.p-downloadsSection {
  padding-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .p-downloadsSection {
    padding-bottom: 40px;
  }
}
.p-downloadsSection.--business {
  background: #eef1f6;
}
.p-downloadsSection.--factory {
  background: #faf8f5;
}
.p-downloadsSection.--mechanic {
  background: #f3ffe8;
}

.p-downloadsSection__divider {
  position: relative;
  height: 3px;
  background: #dce7f3;
}
.p-downloadsSection__divider::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 190px;
}
.--business .p-downloadsSection__divider::before {
  background: #1767b1;
}
.--factory .p-downloadsSection__divider::before {
  background: #ff9402;
}
.--mechanic .p-downloadsSection__divider::before {
  background: #12a42d;
}

.p-downloadsSection__title {
  margin-top: 29px;
  color: #113a63;
  font-size: 30px;
  font-weight: 700;
  line-height: 36px;
}
@media screen and (max-width: 767px) {
  .p-downloadsSection__title {
    font-size: 18px;
  }
}

.p-downloadsSection__desc {
  margin-top: 11px;
  color: #5b6b7f;
  font-size: 15px;
  line-height: 18px;
}
@media screen and (max-width: 767px) {
  .p-downloadsSection__desc {
    font-size: unset;
  }
}

.p-downloadsCards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 35px;
}
@media screen and (max-width: 767px) {
  .p-downloadsCards {
    grid-template-columns: repeat(1, 1fr);
  }
}

.p-downloadsCard {
  position: relative;
  height: 100%;
  padding: 14px 20px 12px;
}

.p-downloadsCard__badge {
  position: absolute;
  top: 4px;
  right: 4px;
  display: grid;
  place-items: center;
  width: 72px;
  height: 24px;
  border-radius: 12px;
  background: #eaf4ff;
  color: #1767b1;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
}

.p-downloadsCard__head {
  display: flex;
  align-items: center;
  gap: 18px;
  min-height: 50px;
  padding-right: 60px;
}

.p-downloadsCard__icon {
  flex-shrink: 0;
  width: 50px;
}
@media screen and (max-width: 767px) {
  .p-downloadsCard__icon {
    width: 30px;
  }
}
.p-downloadsCard__icon img {
  width: 100%;
  height: auto;
}

.p-downloadsCard__title {
  color: #183b5b;
  font-size: 18px;
  font-weight: 700;
  line-height: 22px;
}
@media screen and (max-width: 767px) {
  .p-downloadsCard__title {
    font-size: 16px;
  }
}

.p-downloadsCard__body {
  margin-top: 1px;
  padding-left: 68px;
}

.p-downloadsCard__desc {
  color: #5b6b7f;
  font-size: 13px;
  line-height: 16px;
}

.p-downloadsCard__meta {
  margin-top: 6px;
  color: #718096;
  font-size: 12px;
  line-height: 15px;
}

.p-downloadsCard__action {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 28px;
  margin-top: 14px;
}

.p-downloadsCard__btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 27px;
  border-radius: 14px;
  color: #ffffff;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  transition: opacity 0.2s;
}
.p-downloadsCard__btn:hover {
  opacity: 0.8;
}
.p-downloadsCard__btn.--download {
  width: 115px;
  background: #0172b8;
}
.p-downloadsCard__btn.--detail {
  width: 123px;
  height: 28px;
  background: #17a2b1;
}
.p-downloadsCard__btn.--pdf {
  width: 123px;
  background: #ba1114;
}
.p-downloadsCard__btn.--excel {
  width: 128px;
  background: #0e8231;
}
.p-downloadsCard__btn.--external {
  width: 123px;
  gap: 5px;
  background: #113a63;
}

.p-downloadsCard__btnIcon {
  flex-shrink: 0;
  width: 12px;
  height: 12px;
}

.p-downloadsCard__btnCaret {
  position: absolute;
  top: 50%;
  right: 10px;
  translate: 0 -50%;
  width: 0;
  height: 0;
  border-top: 5px solid #ffffff;
  border-inline: 3px solid transparent;
}

.p-downloadsCard__section {
  display: inline-flex;
  align-items: center;
  padding: 2px 10px;
  border-radius: 100vmax;
  color: #ffffff;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.4;
}
.p-downloadsCard__section.--business {
  background: #1767b1;
}
.p-downloadsCard__section.--factory {
  background: #ff9402;
}
.p-downloadsCard__section.--mechanic {
  background: #12a42d;
}
.p-downloadsCard__section + .p-downloadsCard__desc {
  margin-top: 8px;
}

.p-downloads.--searching .p-downloadsFinder__title,
.p-downloads.--searching .p-downloadsCategory,
.p-downloads.--searching .p-downloadsSection {
  display: none;
}
.p-downloads.--searching .p-downloadsResult {
  display: block;
}

.p-downloadsResult {
  display: none;
  padding-block: 43px 80px;
  background: #eff1f4;
}
@media screen and (max-width: 767px) {
  .p-downloadsResult {
    padding-block: 30px 40px;
  }
}

.p-downloadsResult__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid #dce7f3;
}
@media screen and (max-width: 767px) {
  .p-downloadsResult__head {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
}

.p-downloadsResult__count {
  color: #183b5b;
  font-size: 15px;
  line-height: 1.6;
}

.p-downloadsResult__count-keyword {
  font-weight: 700;
}

.p-downloadsResult__count-value {
  margin-inline: 4px;
  color: #007434;
  font-size: 20px;
  font-weight: 700;
}

.p-downloadsResult__reset {
  color: #1767b1;
  font-size: 13px;
  text-decoration: underline;
  transition: opacity 0.2s;
}
.p-downloadsResult__reset:hover {
  opacity: 0.6;
}

.p-downloadsResult__cards {
  margin-top: 24px;
}
.p-downloadsResult__cards[hidden] {
  display: none;
}

.p-downloadsResult__empty {
  padding-block: 60px;
  color: #5b6b7f;
  font-size: 15px;
  line-height: 1.8;
  text-align: center;
}

.p-downloadsModals:has(.p-downloadsModal:target) {
  padding-block: 40px;
}

.p-downloadsModal {
  width: min(760px, 92vw);
  max-height: min(84vh, 800px);
  padding: 0;
  border: none;
  border-radius: 16px;
  background: #ffffff;
  color: #5b6b7f;
  overflow: hidden;
}
.p-downloadsModal::backdrop {
  background: rgba(9, 27, 48, 0.55);
}

.p-downloadsModal__inner {
  display: flex;
  flex-direction: column;
  max-height: inherit;
}

.p-downloadsModal__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-shrink: 0;
  padding: 20px 24px;
  background: #113a63;
}
@media screen and (max-width: 767px) {
  .p-downloadsModal__head {
    padding: 16px 18px;
  }
}

.p-downloadsModal__title {
  color: #ffffff;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-downloadsModal__title {
    font-size: 17px;
  }
}

.p-downloadsModal__close {
  position: relative;
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  appearance: none;
  background: transparent;
  cursor: pointer;
  transition: background-color 0.2s;
}
.p-downloadsModal__close:hover {
  background: rgba(255, 255, 255, 0.15);
}
.p-downloadsModal__close::before, .p-downloadsModal__close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 2px;
  background: #ffffff;
}
.p-downloadsModal__close::before {
  translate: -50% -50%;
  rotate: 45deg;
}
.p-downloadsModal__close::after {
  translate: -50% -50%;
  rotate: -45deg;
}

.p-downloadsModal__body {
  flex: 1 1 auto;
  overflow-y: auto;
  padding: 22px 24px 26px;
}
@media screen and (max-width: 767px) {
  .p-downloadsModal__body {
    padding: 18px 18px 22px;
  }
}

.p-downloadsModal__heading {
  color: #183b5b;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.5;
}

.p-downloadsModal__lead {
  margin-top: 10px;
  font-size: 13px;
  line-height: 1.8;
}

.p-downloadsModal__section + .p-downloadsModal__section {
  margin-top: 22px;
}

.p-downloadsModal__heading + .p-downloadsModal__section,
.p-downloadsModal__lead + .p-downloadsModal__section {
  margin-top: 16px;
}

.p-downloadsModal__sectionTitle {
  margin-bottom: 8px;
  padding-left: 10px;
  border-left: 3px solid #1767b1;
  color: #183b5b;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
}

.p-downloadsModal__list {
  border-top: 1px solid #dce7f3;
}

.p-downloadsModal__note {
  margin-top: 10px;
  padding-left: 1em;
  text-indent: -1em;
  color: #718096;
  font-size: 12px;
  line-height: 1.7;
}
.p-downloadsModal__note::before {
  content: "注）";
}

.p-downloadsDoc {
  display: grid;
  grid-template-columns: 18px 1fr auto;
  align-items: center;
  column-gap: 12px;
  row-gap: 4px;
  padding: 10px 8px;
  border-bottom: 1px solid #dce7f3;
  transition: background-color 0.15s;
}
.p-downloadsDoc:hover {
  background: #f5f9ff;
}
.p-downloadsDoc:has(.p-downloadsDoc__check:checked) {
  background: #eaf4ff;
}
.p-downloadsDoc.--sub {
  padding-left: 34px;
}
@media screen and (max-width: 767px) {
  .p-downloadsDoc.--sub {
    padding-left: 22px;
  }
}
@media screen and (max-width: 767px) {
  .p-downloadsDoc {
    grid-template-columns: 18px 1fr;
    padding-inline: 4px;
  }
}

.p-downloadsDoc__check {
  width: 18px;
  height: 18px;
  accent-color: #1767b1;
  cursor: pointer;
}

.p-downloadsDoc__label {
  display: grid;
  grid-template-columns: 52px 1fr;
  align-items: center;
  column-gap: 12px;
  cursor: pointer;
}

.p-downloadsDoc__type {
  display: grid;
  place-items: center;
  height: 20px;
  border-radius: 4px;
  color: #ffffff;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
}
.p-downloadsDoc__type.--pdf {
  background: #ba1114;
}
.p-downloadsDoc__type.--excel {
  background: #0e8231;
}
.p-downloadsDoc__type.--word {
  background: #0172b8;
}

.p-downloadsDoc__name {
  color: #183b5b;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.6;
}

.p-downloadsDoc__member {
  display: inline-grid;
  place-items: center;
  height: 18px;
  margin-left: 6px;
  padding-inline: 6px;
  border-radius: 9px;
  background: #eaf4ff;
  color: #1767b1;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  vertical-align: 2px;
}

.p-downloadsDoc__open {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  height: 24px;
  padding-inline: 10px 9px;
  border: 1px solid #17a2b1;
  border-radius: 12px;
  color: #17a2b1;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  transition: background-color 0.2s, color 0.2s;
}
.p-downloadsDoc__open:hover {
  background: #17a2b1;
  color: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-downloadsDoc__open {
    grid-column: 2;
    justify-self: start;
    margin-top: 4px;
  }
}

.p-downloadsDoc__openIcon {
  flex-shrink: 0;
  width: 12px;
  height: 12px;
}

.p-downloadsDoc__note {
  grid-column: 2/-1;
  color: #718096;
  font-size: 11px;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .p-downloadsDoc__note {
    grid-column: 1/-1;
  }
}

.p-downloadsModal__contact {
  margin-top: 22px;
  padding: 14px 16px;
  border-radius: 10px;
  background: #eff1f4;
}

.p-downloadsModal__contactTitle {
  color: #183b5b;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
}

.p-downloadsModal__contactName {
  margin-top: 4px;
  font-size: 13px;
  line-height: 1.6;
}

.p-downloadsModal__contactTel {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-top: 4px;
}

.p-downloadsModal__contactLabel {
  color: #718096;
  font-size: 11px;
  font-weight: 700;
}

.p-downloadsModal__tel {
  color: #183b5b;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.3;
}

.p-downloadsModal__foot {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-shrink: 0;
  padding: 14px 24px;
  border-top: 1px solid #dce7f3;
  background: #f4f7fb;
}
@media screen and (max-width: 767px) {
  .p-downloadsModal__foot {
    flex-wrap: wrap;
    padding: 12px 18px;
  }
}

.p-downloadsModal__all {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #183b5b;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}
.p-downloadsModal__all input {
  width: 18px;
  height: 18px;
  accent-color: #1767b1;
  cursor: pointer;
}

.p-downloadsModal__status {
  margin-right: auto;
  color: #718096;
  font-size: 12px;
  line-height: 1.5;
}

.p-downloadsModal__submit {
  appearance: none;
  cursor: pointer;
  height: 42px;
  padding-inline: 22px;
  border-radius: 21px;
  background: #1767b1;
  color: #ffffff;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  transition: opacity 0.2s;
}
.p-downloadsModal__submit:hover:not(:disabled) {
  opacity: 0.8;
}
.p-downloadsModal__submit:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
@media screen and (max-width: 767px) {
  .p-downloadsModal__submit {
    width: 100%;
  }
}

.js-downloadsModalForm.is-busy .p-downloadsModal__submit {
  opacity: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.js-downloadsModalForm.is-busy .p-downloadsModal__submit::before {
  content: "";
  width: 14px;
  height: 14px;
  border: 2px solid rgba(255, 255, 255, 0.4);
  border-top-color: #ffffff;
  border-radius: 50%;
  animation: downloadsSpin 0.7s linear infinite;
}

@keyframes downloadsSpin {
  to {
    transform: rotate(1turn);
  }
}
@media (prefers-reduced-motion: reduce) {
  .js-downloadsModalForm.is-busy .p-downloadsModal__submit::before {
    animation: none;
    border-style: dotted;
    border-top-color: rgba(255, 255, 255, 0.4);
  }
}
.p-diagnosisSheet__desc, .p-diagnosisSheet__title, .p-diagnosisIntro__text {
  letter-spacing: 0;
}

.p-diagnosisIntro {
  padding-top: 84px;
}
@media screen and (max-width: 767px) {
  .p-diagnosisIntro {
    padding-top: 40px;
  }
}

.p-diagnosisIntro__inner {
  display: grid;
  grid-template-columns: 817fr 315fr;
  column-gap: 68px;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-diagnosisIntro__inner {
    display: flex;
    flex-direction: column-reverse;
    row-gap: 30px;
  }
}

.p-diagnosisIntro__text {
  font-size: 16px;
  line-height: 34px;
}

.p-diagnosisIntro__photo img {
  width: 100%;
  height: auto;
}

.p-diagnosisFlow {
  margin-top: 57px;
}
@media screen and (max-width: 767px) {
  .p-diagnosisFlow {
    margin-top: 40px;
  }
}

.p-diagnosisFlow__image {
  display: block;
  width: 935px;
  max-width: 100%;
  height: auto;
  margin-inline: auto;
}

.p-diagnosisSheets {
  margin-top: 92px;
}
@media screen and (max-width: 767px) {
  .p-diagnosisSheets {
    margin-top: 40px;
  }
}

.p-diagnosisSheets__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22.5px;
}
@media (max-width: 1024px) {
  .p-diagnosisSheets__list {
    grid-template-columns: repeat(1, 1fr);
    max-width: 400px;
    margin-inline: auto;
  }
}

.p-diagnosisSheet {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 20px 26px;
  border: 1px solid #dddddd;
  background: #ffffff;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
}
@media screen and (max-width: 767px) {
  .p-diagnosisSheet {
    padding: 20px;
  }
}

.p-diagnosisSheet__title {
  font-size: 18px;
  font-weight: 700;
  line-height: 22px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-diagnosisSheet__title {
    font-size: unset;
  }
}

.p-diagnosisSheet__image {
  margin-top: 16px;
}
.p-diagnosisSheet__image img {
  display: block;
  height: auto;
  margin-inline: auto;
}

.p-diagnosisSheet__desc {
  margin-top: 18px;
  line-height: 27px;
}

.p-diagnosisSheet__actions {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 15px;
  margin-top: auto;
  padding-top: 11px;
}
@media screen and (max-width: 767px) {
  .p-diagnosisSheet__actions {
    margin-top: 20px;
  }
}

.p-diagnosisRelated {
  margin-top: 70px;
  padding-bottom: 202px;
}
@media screen and (max-width: 767px) {
  .p-diagnosisRelated {
    margin-top: 40px;
    padding-bottom: 50px;
  }
}

.p-diagnosisRelated__title {
  padding-bottom: 10px;
  border-bottom: 1px solid #dddddd;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-diagnosisRelated__title {
    font-size: 18px;
  }
}

.p-diagnosisRelated__list {
  margin-top: 20px;
}

.p-diagnosisRelated__link {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px 24px;
  border: 1px solid #dbe4f0;
  background: #f4f8fc;
  color: #000000;
  transition: background-color 0.2s;
}
.p-diagnosisRelated__link:hover {
  background: #eaf2fb;
}
@media screen and (max-width: 767px) {
  .p-diagnosisRelated__link {
    padding: 16px;
    gap: 12px;
  }
}

.p-diagnosisRelated__body {
  flex: 1;
}

.p-diagnosisRelated__label {
  display: block;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  text-decoration: underline;
  text-underline-offset: 3px;
}
@media screen and (max-width: 767px) {
  .p-diagnosisRelated__label {
    font-size: 16px;
  }
}

.p-diagnosisRelated__note {
  display: block;
  margin-top: 6px;
  color: #546e7a;
  font-size: 14px;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-diagnosisRelated__note {
    font-size: 13px;
  }
}

.p-diagnosisRelated__icon {
  width: 18px;
  height: 18px;
  color: #1f5da3;
}

.p-inspectionSheet__desc, .p-inspectionSheet__title, .p-inspectionIntro__text {
  letter-spacing: 0;
}

.p-inspectionIntro {
  padding-top: 94px;
}
@media screen and (max-width: 767px) {
  .p-inspectionIntro {
    padding-top: 40px;
  }
}

.p-inspectionIntro__inner {
  display: grid;
  grid-template-columns: 817fr 315fr;
  column-gap: 68px;
  align-items: start;
}
@media screen and (max-width: 767px) {
  .p-inspectionIntro__inner {
    display: flex;
    flex-direction: column;
    row-gap: 30px;
  }
}

.p-inspectionIntro__text {
  font-size: 16px;
  line-height: 34px;
}

.p-inspectionIntro__photo {
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .p-inspectionIntro__photo {
    margin-top: 0;
  }
}
.p-inspectionIntro__photo img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 767px) {
  .p-inspectionFlow {
    margin-top: 40px;
  }
}

.p-inspectionFlow__image {
  display: block;
  width: 935px;
  max-width: 100%;
  height: auto;
  margin-inline: auto;
}

.p-inspectionSheets {
  margin-top: 45px;
  padding-bottom: 229px;
}
@media screen and (max-width: 767px) {
  .p-inspectionSheets {
    margin-top: 40px;
    padding-bottom: 50px;
  }
}

.p-inspectionSheets__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22.5px;
}
@media (max-width: 1024px) {
  .p-inspectionSheets__list {
    grid-template-columns: repeat(1, 1fr);
    max-width: 400px;
    margin-inline: auto;
  }
}

.p-inspectionSheet {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 35px 20px 13px;
  border: 1px solid #dddddd;
  background: #ffffff;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
}
@media screen and (max-width: 767px) {
  .p-inspectionSheet {
    padding: 20px;
  }
}

.p-inspectionSheet__title {
  font-size: 18px;
  font-weight: 700;
  line-height: 22px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-inspectionSheet__title {
    font-size: unset;
  }
}

.p-inspectionSheet__image {
  margin-top: 16px;
}
.p-inspectionSheet__image img {
  display: block;
  width: 282px;
  max-width: 100%;
  height: auto;
  margin-inline: auto;
}

.p-inspectionSheet__desc {
  max-width: 324px;
  margin: 18px auto 0;
  font-size: 16px;
  line-height: 27px;
}
@media screen and (max-width: 767px) {
  .p-inspectionSheet__desc {
    max-width: none;
    font-size: unset;
  }
}

.p-inspectionSheet__actions {
  display: flex;
  justify-content: center;
  margin-top: auto;
  padding-top: 11px;
}
@media screen and (max-width: 767px) {
  .p-inspectionSheet__actions {
    margin-top: 20px;
  }
}

.p-manualsCard__title {
  letter-spacing: 0;
}

.p-manualsLead {
  padding-top: 59px;
}
@media screen and (max-width: 767px) {
  .p-manualsLead {
    padding-top: 30px;
  }
}

.p-manualsLead__inner {
  padding-bottom: 6px;
  border-bottom: 1px solid #000000;
}

.p-manualsList {
  padding-top: 32px;
  padding-bottom: 234px;
}
@media screen and (max-width: 767px) {
  .p-manualsList {
    padding-bottom: 40px;
  }
}

.p-manualsList__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  column-gap: 49.33px;
  row-gap: 60px;
}
@media screen and (max-width: 767px) {
  .p-manualsList__grid {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 30px;
    column-gap: 20px;
  }
}

.p-manualsCard {
  display: flex;
  flex-direction: column;
}

.p-manualsCard__cover {
  position: relative;
  width: 100%;
  aspect-ratio: 263/378;
  border: 1px solid #c7c7c7;
}
.p-manualsCard__cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-manualsCard__title {
  min-height: 44px;
  margin-top: 15px;
  font-weight: 400;
  line-height: 22px;
  text-align: center;
}

.p-manualsCard__actions {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 5px 15px;
  margin-top: 15px;
}

.p-manualsCard__btn {
  text-align: center;
  border-radius: 999px;
  padding: 5px 10px;
  color: #ffffff;
  font-size: 11px;
  font-weight: 700;
  transition: opacity 0.2s;
  letter-spacing: 0;
}
.p-manualsCard__btn:hover {
  opacity: 0.8;
}
.p-manualsCard__btn.--pdf {
  background: #ba1114;
}
.p-manualsCard__btn.--excel {
  background: #0e8231;
}

.p-certificateApply__text, .p-certificateSchedule__tags, .p-certificateTypes__text, .p-certificateHead__sub {
  letter-spacing: 0;
}

.p-certificateApply__info, .p-certificateApply__item, .p-certificateFee__table, .p-certificateFee__notice, .p-certificateSchedule__table, .p-certificateTypes__card {
  border-radius: 12px;
  background: #ffffff;
}

.p-certificateBody {
  background: #f4f7fb;
}

.p-certificateHero {
  padding-block: 68px 61px;
  background: linear-gradient(135deg, #14375c, #0b2540);
}
@media screen and (max-width: 767px) {
  .p-certificateHero {
    padding-block: 40px;
  }
}

.p-certificateHero__badge {
  display: inline-block;
  padding: 6px 22px;
  border-radius: 999px;
  background: #ffffff;
  color: #153a60;
  font-size: 14px;
  font-weight: 700;
  line-height: 24px;
}

.p-certificateHero__lead {
  margin-top: 27px;
  max-width: 830px;
  color: #ffffff;
  line-height: 26px;
}
@media screen and (max-width: 767px) {
  .p-certificateHero__lead {
    margin-top: 18px;
  }
}

.p-certificateHero__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 19px;
  margin-top: 38px;
}
@media screen and (max-width: 767px) {
  .p-certificateHero__cards {
    grid-template-columns: 1fr;
    gap: 12px;
    margin-top: 24px;
  }
}

.p-certificateHero__card {
  padding: 15px 20px 18px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.1);
}

.p-certificateHero__cardLabel {
  color: #ffffff;
  font-size: 14px;
  font-weight: 700;
  line-height: 20px;
}

.p-certificateHero__cardDate {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 4px;
  color: #ffffff;
  font-size: 30px;
  font-weight: 700;
  line-height: 46px;
}
@media screen and (max-width: 767px) {
  .p-certificateHero__cardDate {
    flex-wrap: wrap;
    gap: 8px;
    font-size: 24px;
    line-height: 36px;
  }
}

.p-certificateHero__chip {
  padding: 2px 14px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
  line-height: 19px;
}
.p-certificateHero__chip.--now {
  background: #2f8a4e;
  color: #ffffff;
}
.p-certificateHero__chip.--soon {
  background: #b8924a;
  color: #ffffff;
}
.p-certificateHero__chip.--before {
  background: #3a4a5c;
  color: #ffffff;
}
.p-certificateHero__chip.--closed {
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.5);
  color: rgba(255, 255, 255, 0.75);
}

.p-certificateHero__actions {
  display: flex;
  gap: 19px;
  margin-top: 26px;
}
@media screen and (max-width: 767px) {
  .p-certificateHero__actions {
    flex-direction: column;
    gap: 12px;
    margin-top: 20px;
  }
}

.p-certificateHero__btn {
  display: grid;
  place-items: center;
  min-width: 216px;
  padding: 16px 36px;
  border: 1px solid #ffffff;
  border-radius: 999px;
  font-size: 16px;
  font-weight: 700;
  line-height: 26px;
  transition: opacity 0.2s;
}
.p-certificateHero__btn:hover {
  opacity: 0.8;
}
.p-certificateHero__btn.--fill {
  background: #ffffff;
  color: #153a60;
}
.p-certificateHero__btn.--outline {
  color: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-certificateHero__btn {
    min-width: 0;
    padding: 13px 20px;
    font-size: 15px;
  }
}

.p-certificateHead {
  text-align: center;
}

.p-certificateHead__en {
  color: #2c6cb0;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 20px;
}

.p-certificateHead__ja {
  margin-top: 0;
  color: #153a60;
  font-family: "Noto Serif JP", serif;
  font-size: 30px;
  font-weight: 700;
  line-height: 52px;
}
.p-certificateHead__ja::after {
  content: "";
  display: block;
  width: 58px;
  height: 4px;
  margin: 6px auto 0;
  background: #b8924a;
}
@media screen and (max-width: 767px) {
  .p-certificateHead__ja {
    font-size: 22px;
    line-height: 38px;
  }
}

.p-certificateHead__sub {
  margin-top: 11px;
  color: #3d5163;
  line-height: 24px;
}
@media screen and (max-width: 767px) {
  .p-certificateHead__sub {
    margin-top: 30px;
    font-size: 14px;
    line-height: 22px;
    text-align: left;
  }
}

.p-certificateTypes {
  padding-top: 72px;
}
@media screen and (max-width: 767px) {
  .p-certificateTypes {
    padding-top: 40px;
  }
}

.p-certificateTypes__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .p-certificateTypes__list {
    grid-template-columns: 1fr;
    gap: 12px;
    margin-top: 24px;
  }
}

.p-certificateTypes__card {
  height: 100%;
  padding: 36px;
}
@media screen and (max-width: 767px) {
  .p-certificateTypes__card {
    padding: 20px;
  }
}

.p-certificateTypes__badge {
  display: inline-block;
  padding: 4px 16px;
  border-radius: 999px;
  color: #ffffff;
  font-size: 14px;
  font-weight: 700;
  line-height: 22px;
}
.p-certificateTypes__badge.--registration {
  background: #2c6cb0;
}
.p-certificateTypes__badge.--qualification {
  background: #153a60;
}

.p-certificateTypes__title {
  margin-top: 17px;
  color: #153a60;
  font-family: "Noto Serif JP", serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 38px;
}
@media screen and (max-width: 767px) {
  .p-certificateTypes__title {
    margin-top: 12px;
    font-size: 20px;
    line-height: 32px;
  }
}

.p-certificateTypes__text {
  margin-top: 8px;
  color: #3d5163;
  font-size: 15px;
  line-height: 23px;
}
@media screen and (max-width: 767px) {
  .p-certificateTypes__text {
    font-size: 14px;
    line-height: 22px;
  }
}

.p-certificateSchedule {
  padding-top: 52px;
}
@media screen and (max-width: 767px) {
  .p-certificateSchedule {
    padding-top: 40px;
  }
}

.p-certificateSchedule__table {
  overflow: hidden;
  margin-top: 40px;
  border: 1px solid #e1e8f0;
}
@media screen and (max-width: 767px) {
  .p-certificateSchedule__table {
    margin-top: 24px;
  }
}

.p-certificateSchedule__head {
  display: flex;
  align-items: center;
  gap: 34px;
  padding: 19px 31px;
  background: linear-gradient(90deg, #274565, #1f3957);
}
@media screen and (max-width: 767px) {
  .p-certificateSchedule__head {
    flex-wrap: wrap;
    gap: 10px;
    padding: 14px 18px;
  }
}

.p-certificateSchedule__headBadge {
  padding: 4px 15px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.16);
  color: #ffffff;
  font-size: 15px;
  font-weight: 700;
  line-height: 23px;
}

.p-certificateSchedule__headRound {
  color: #ffffff;
  font-size: 16px;
  font-weight: 700;
  line-height: 24px;
}

.p-certificateSchedule__body {
  padding: 20px 31px 25px;
}
@media screen and (max-width: 767px) {
  .p-certificateSchedule__body {
    padding: 16px 18px 20px;
  }
}

.p-certificateSchedule__period {
  display: flex;
  align-items: center;
  gap: 30px;
  padding: 13px 20px;
  border-radius: 8px;
  background: #f5edda;
}
@media screen and (max-width: 767px) {
  .p-certificateSchedule__period {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    padding: 12px 16px;
  }
}

.p-certificateSchedule__periodLabel {
  color: #3d5163;
  font-size: 15px;
  font-weight: 700;
  line-height: 23px;
}

.p-certificateSchedule__periodValue {
  color: #153a60;
  font-size: 18px;
  font-weight: 700;
  line-height: 29px;
}
@media screen and (max-width: 767px) {
  .p-certificateSchedule__periodValue {
    font-size: 16px;
    line-height: 26px;
  }
}

.p-certificateSchedule__periodChip {
  margin-left: auto;
  padding: 1px 12px;
  border-radius: 999px;
  color: #ffffff;
  font-size: 14px;
  font-weight: 700;
  line-height: 22px;
}
.p-certificateSchedule__periodChip.--now {
  background: #2f8a4e;
}
.p-certificateSchedule__periodChip.--soon {
  background: #b8924a;
}
.p-certificateSchedule__periodChip.--before {
  background: #3a4a5c;
}
.p-certificateSchedule__periodChip.--closed {
  box-shadow: inset 0 0 0 1px #3a4a5c;
  color: #3a4a5c;
}
@media screen and (max-width: 767px) {
  .p-certificateSchedule__periodChip {
    margin-left: 0;
  }
}

.p-certificateSchedule__cols {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 24px;
  margin-top: 9px;
}
@media screen and (max-width: 767px) {
  .p-certificateSchedule__cols {
    grid-template-columns: 1fr;
    row-gap: 24px;
    margin-top: 16px;
  }
}

.p-certificateSchedule__colTitle {
  padding-bottom: 1px;
  border-bottom: 2px solid #e8dcc0;
  color: #153a60;
  font-size: 15px;
  font-weight: 700;
  line-height: 23px;
}

.p-certificateSchedule__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 15px;
}
.p-certificateSchedule__tags li {
  padding: 3px 13px;
  border: 1px solid #ebf0f6;
  border-radius: 6px;
  background: #f5f9fc;
  color: #3d5163;
  font-size: 15px;
  line-height: 23px;
}
@media screen and (max-width: 767px) {
  .p-certificateSchedule__tags {
    gap: 8px;
    margin-top: 12px;
  }
  .p-certificateSchedule__tags li {
    padding: 3px 10px;
    font-size: 13px;
    line-height: 21px;
  }
}

.p-certificateSchedule__dates {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px 26px;
  margin-top: 12px;
}
.p-certificateSchedule__dates dt {
  color: #3d5163;
  font-size: 15px;
  line-height: 23px;
}
.p-certificateSchedule__dates dd {
  color: #153a60;
  font-size: 15px;
  font-weight: 700;
  line-height: 23px;
}
.p-certificateSchedule__dates dd span {
  display: block;
}
.p-certificateSchedule__dates dd span + span {
  margin-top: 10px;
}

.p-certificateFee {
  padding-top: 57px;
}
@media screen and (max-width: 767px) {
  .p-certificateFee {
    padding-top: 40px;
  }
}

.p-certificateFee__notice {
  margin-top: 52px;
  padding: 32px 20px;
  border: 1px solid #e1e8f0;
  color: #153a60;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-certificateFee__notice {
    margin-top: 24px;
    padding: 22px 16px;
    font-size: 15px;
  }
}

.p-certificateFee__table {
  overflow: hidden;
  margin-top: 52px;
  border: 1px solid #e1e8f0;
}
.p-certificateFee__table table {
  width: 100%;
  border-collapse: collapse;
  text-align: center;
}
.p-certificateFee__table th,
.p-certificateFee__table td {
  padding: 19px 10px;
  line-height: 23px;
}
.p-certificateFee__table thead th {
  background: #153a60;
  color: #ffffff;
  font-size: 15px;
  font-weight: 700;
}
.p-certificateFee__table tbody tr + tr {
  border-top: 1px solid #e1e8f0;
}
.p-certificateFee__table tbody th {
  color: #2c6cb0;
  font-size: 15px;
  font-weight: 700;
}
.p-certificateFee__table tbody td {
  color: #3d5163;
  font-size: 15px;
}
@media screen and (max-width: 767px) {
  .p-certificateFee__table {
    margin-top: 24px;
  }
  .p-certificateFee__table table,
  .p-certificateFee__table tbody,
  .p-certificateFee__table tr,
  .p-certificateFee__table th,
  .p-certificateFee__table td {
    display: block;
  }
  .p-certificateFee__table thead {
    display: none;
  }
  .p-certificateFee__table tbody tr {
    padding: 14px 16px;
  }
  .p-certificateFee__table tbody th,
  .p-certificateFee__table tbody td {
    padding: 0;
    font-size: 14px;
    line-height: 24px;
    text-align: left;
  }
  .p-certificateFee__table tbody td {
    display: flex;
    gap: 10px;
    margin-top: 4px;
  }
  .p-certificateFee__table tbody td::before {
    content: attr(data-label);
    flex: none;
    width: 5em;
    color: #3d5163;
    font-weight: 700;
  }
  .p-certificateFee__table tbody td:empty {
    display: none;
  }
}
.p-certificateFee__table tbody th.p-certificateFee__catRepeat {
  color: transparent;
}
@media screen and (max-width: 767px) {
  .p-certificateFee__table tbody th.p-certificateFee__catRepeat {
    color: #2c6cb0;
  }
}

.p-certificateFee__note {
  padding: 17px 20px;
  border-top: 1px solid #e1e8f0;
  background: #f5edda;
  color: #3d5163;
  font-size: 15px;
  line-height: 23px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-certificateFee__note {
    padding: 14px 16px;
    font-size: 13px;
    line-height: 21px;
    text-align: left;
  }
}

.p-certificateApply {
  padding-top: 55px;
  padding-bottom: 128px;
}
@media screen and (max-width: 767px) {
  .p-certificateApply {
    padding-top: 40px;
    padding-bottom: 50px;
  }
}

.p-certificateApply__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16.8px 16.8px;
  margin-top: 42px;
}
@media screen and (max-width: 767px) {
  .p-certificateApply__list {
    grid-template-columns: 1fr;
    gap: 12px;
    margin-top: 24px;
  }
}

.p-certificateApply__item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  height: 100%;
  padding: 25px 24px;
  border: 1px solid #e1e8f0;
}
@media screen and (max-width: 767px) {
  .p-certificateApply__item {
    gap: 12px;
    padding: 18px;
  }
}

.p-certificateApply__num {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #335274;
  color: #ffffff;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
}

.p-certificateApply__title {
  color: #153a60;
  font-size: 15px;
  font-weight: 700;
  line-height: 23px;
}

.p-certificateApply__text {
  margin-top: 8px;
  color: #3d5163;
  font-size: 15px;
  line-height: 23px;
}

.p-certificateApply__infos {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  margin-top: 29px;
}
@media screen and (max-width: 767px) {
  .p-certificateApply__infos {
    grid-template-columns: 1fr;
    gap: 12px;
    margin-top: 20px;
  }
}

.p-certificateApply__info {
  height: 100%;
  padding: 27px 31px 10px;
  border: 1px solid #e1e8f0;
}
@media screen and (max-width: 767px) {
  .p-certificateApply__info {
    padding: 20px 18px 14px;
  }
}

.p-certificateApply__infoTitle {
  color: #153a60;
  font-family: "Noto Serif JP", serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 29px;
}
@media screen and (max-width: 767px) {
  .p-certificateApply__infoTitle {
    font-size: 16px;
    line-height: 26px;
  }
}

.p-certificateApply__infoList {
  margin-top: 14px;
}
.p-certificateApply__infoList li {
  position: relative;
  padding-left: 1em;
  color: #3d5163;
  font-size: 15px;
  line-height: 31px;
}
.p-certificateApply__infoList li::before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}

.p-certificateApply__places {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 8px 24px;
  margin-top: 14px;
}
.p-certificateApply__places dt {
  color: #153a60;
  font-size: 15px;
  font-weight: 700;
  line-height: 23px;
}
.p-certificateApply__places dd {
  color: #3d5163;
  font-size: 15px;
  line-height: 23px;
}
@media screen and (max-width: 767px) {
  .p-certificateApply__places {
    gap: 6px 16px;
  }
}

.p-certificateApply__infoNote {
  margin-top: 15px;
  color: #9a9a9a;
  font-size: 15px;
  line-height: 23px;
}

.p-certificateNotice {
  margin-top: 24px;
  padding: 25px 31px 18px;
  border-left: 6px solid #c0392b;
  border-radius: 8px;
  background: #fcecea;
}
@media screen and (max-width: 767px) {
  .p-certificateNotice {
    margin-top: 20px;
    padding: 18px 18px 14px;
    border-left-width: 4px;
  }
}

.p-certificateNotice__title {
  color: #c0392b;
  font-size: 15px;
  font-weight: 700;
  line-height: 23px;
}

.p-certificateNotice__lead {
  margin-top: 14px;
  color: #c0392b;
  font-size: 15px;
  font-weight: 700;
  line-height: 23px;
}

.p-certificateNotice__list {
  margin-top: 15px;
}
.p-certificateNotice__list li {
  color: #3d5163;
  font-size: 15px;
  line-height: 23px;
}
.p-certificateNotice__list li + li {
  margin-top: 3px;
}

.p-ninshoDocModal, .p-ninshoDoc {
  letter-spacing: 0;
}

.p-ninshoDoc {
  background: #ffffff;
  color: #1a2a3a;
  font-size: 16px;
  line-height: 1.6;
  padding-bottom: env(safe-area-inset-bottom, 20px);
}

.p-ninshoDocSystem {
  padding-block: 80px 120px;
  background: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-ninshoDocSystem {
    padding-block: 30px 60px;
  }
}

.p-ninshoDocSystem__inner {
  max-width: 1100px;
  margin-inline: auto;
}

.p-ninshoDocSteps,
.p-ninshoDocSteps *,
.p-ninshoDocSteps *::before,
.p-ninshoDocSteps *::after,
.p-ninshoDocBody,
.p-ninshoDocBody *,
.p-ninshoDocBody *::before,
.p-ninshoDocBody *::after,
.p-ninshoDocToast,
.p-ninshoDocToast *,
.p-ninshoDocToast *::before,
.p-ninshoDocToast *::after,
.p-ninshoDocModal,
.p-ninshoDocModal *,
.p-ninshoDocModal *::before,
.p-ninshoDocModal *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  -webkit-tap-highlight-color: transparent;
}
.p-ninshoDocSteps button,
.p-ninshoDocBody button,
.p-ninshoDocToast button,
.p-ninshoDocModal button {
  line-height: normal;
}

@keyframes ndFadeSlide {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes ndToastIn {
  from {
    opacity: 0;
    transform: translateX(-50%) translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
  }
}
@keyframes ndModalFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes ndModalSlideIn {
  from {
    transform: translateY(20px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
.p-ninshoDocSteps {
  background: #ffffff;
  border-bottom: 1px solid #dce3ea;
  border-radius: 15px 15px 0 0;
  display: flex;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.p-ninshoDocSteps::-webkit-scrollbar {
  display: none;
}

.p-ninshoDocSteps__item {
  flex: 1;
  min-width: 72px;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 8px 6px;
  gap: 3px;
  border-bottom: 3px solid transparent;
  transition: all 0.2s;
}
.p-ninshoDocSteps__item.is-active {
  border-bottom-color: #1565c0;
}
.p-ninshoDocSteps__item.is-active .p-ninshoDocSteps__num {
  background: #1565c0;
  color: #ffffff;
}
.p-ninshoDocSteps__item.is-active .p-ninshoDocSteps__label {
  color: #1565c0;
  font-weight: 700;
}
.p-ninshoDocSteps__item.is-done {
  border-bottom-color: #2e7d32;
}
.p-ninshoDocSteps__item.is-done .p-ninshoDocSteps__num {
  background: #2e7d32;
  color: #ffffff;
}
.p-ninshoDocSteps__item.is-done .p-ninshoDocSteps__label {
  color: #2e7d32;
}

.p-ninshoDocSteps__num {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 700;
  background: #e8ecf1;
  color: #546e7a;
  transition: all 0.2s;
}

.p-ninshoDocSteps__label {
  font-size: 14px;
  color: #b0bec5;
  white-space: nowrap;
}

.p-ninshoDocBody {
  display: flex;
  flex-direction: column;
  gap: 48px;
}
@media screen and (max-width: 767px) {
  .p-ninshoDocBody {
    gap: 32px;
  }
}

.p-ninshoDocPanel {
  background: #ffffff;
  border-radius: 10px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
  overflow: hidden;
  animation: ndFadeSlide 0.25s ease;
}

.p-ninshoDocPanel__head {
  padding: 14px 16px;
  display: flex;
  align-items: center;
  gap: 10px;
  border-bottom: 1px solid #dce3ea;
  background: #f5f7fa;
}
.p-ninshoDocPanel__head.is-active .p-ninshoDocPanel__badge {
  background: #1565c0;
  color: #ffffff;
}
.p-ninshoDocPanel__head.is-done .p-ninshoDocPanel__badge {
  background: #2e7d32;
  color: #ffffff;
}

.p-ninshoDocPanel__badge {
  font-size: 14px;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 20px;
  background: #1565c0;
  color: #ffffff;
  white-space: nowrap;
}

.p-ninshoDocPanel__title {
  font-size: 17px;
  font-weight: 700;
}

.p-ninshoDocPanel__body {
  padding: 16px;
}

.p-ninshoDocKubun {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
@media screen and (max-width: 767px) {
  .p-ninshoDocKubun {
    gap: 10px;
  }
}

.p-ninshoDocKubun__btn {
  padding: 24px 16px;
  border: 2px solid #dce3ea;
  border-radius: 10px;
  background: #ffffff;
  cursor: pointer;
  font-family: inherit;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  transition: all 0.18s;
  -webkit-appearance: none;
}
@media screen and (max-width: 767px) {
  .p-ninshoDocKubun__btn {
    padding: 20px 12px;
  }
}
.p-ninshoDocKubun__btn:active {
  transform: scale(0.97);
}
.p-ninshoDocKubun__btn.is-nintei {
  border-color: #e65100;
  background: #fff3e0;
}
.p-ninshoDocKubun__btn.is-nintei .p-ninshoDocKubun__name {
  color: #e65100;
}
.p-ninshoDocKubun__btn.is-shitei {
  border-color: #c62828;
  background: #ffebee;
}
.p-ninshoDocKubun__btn.is-shitei .p-ninshoDocKubun__name {
  color: #c62828;
}

.p-ninshoDocKubun__icon {
  font-size: 36px;
}
@media screen and (max-width: 767px) {
  .p-ninshoDocKubun__icon {
    font-size: 32px;
  }
}

.p-ninshoDocKubun__name {
  font-size: 18px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-ninshoDocKubun__name {
    font-size: 16px;
  }
}

.p-ninshoDocKubun__sub {
  font-size: 14px;
  color: #546e7a;
  text-align: center;
}

.p-ninshoDocKubun__note {
  background: #f0f7ff;
  border: 1px solid #cce0f8;
  border-radius: 7px;
  padding: 10px 12px;
  font-size: 14px;
  color: #546e7a;
  margin-top: 12px;
  line-height: 1.5;
}
.p-ninshoDocKubun__note strong {
  color: #0d47a1;
}

.p-ninshoDocCat {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.p-ninshoDocCat__btn {
  padding: 16px;
  border: 2px solid #dce3ea;
  border-radius: 10px;
  background: #ffffff;
  cursor: pointer;
  font-family: inherit;
  display: flex;
  align-items: center;
  gap: 14px;
  transition: all 0.15s;
  text-align: left;
  -webkit-appearance: none;
  width: 100%;
}
.p-ninshoDocCat__btn:active {
  transform: scale(0.98);
}
.p-ninshoDocCat__btn.is-selected {
  border-color: #1565c0;
  background: #e3f2fd;
}
.p-ninshoDocCat__btn.is-selected .p-ninshoDocCat__arrow {
  color: #1565c0;
}

.p-ninshoDocCat__icon {
  font-size: 24px;
  flex-shrink: 0;
}

.p-ninshoDocCat__texts {
  flex: 1;
  min-width: 0;
}

.p-ninshoDocCat__name {
  font-size: 17px;
  font-weight: 700;
}

.p-ninshoDocCat__sub {
  font-size: 14px;
  color: #546e7a;
}

.p-ninshoDocCat__arrow {
  margin-left: auto;
  font-size: 18px;
  color: #b0bec5;
  flex-shrink: 0;
}

.p-ninshoDocCheck__hint {
  font-size: 14px;
  color: #546e7a;
  background: #f0f7ff;
  border: 1px solid #cce0f8;
  border-radius: 7px;
  padding: 10px 12px;
  margin-bottom: 12px;
  line-height: 1.5;
}

.p-ninshoDocCheck__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
@media screen and (max-width: 767px) {
  .p-ninshoDocCheck__list {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
}

.p-ninshoDocCheck__item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 13px 14px;
  border: 1.5px solid #dce3ea;
  border-radius: 8px;
  cursor: pointer;
  background: #ffffff;
  transition: all 0.15s;
  -webkit-user-select: none;
  user-select: none;
}
.p-ninshoDocCheck__item:active {
  transform: scale(0.99);
}
.p-ninshoDocCheck__item.is-checked {
  border-color: #1565c0;
  background: #e3f2fd;
}
.p-ninshoDocCheck__item.is-checked .p-ninshoDocCheck__box {
  background: #1565c0;
  border-color: #1565c0;
}
.p-ninshoDocCheck__item.is-checked .p-ninshoDocCheck__num {
  color: #1565c0;
}

.p-ninshoDocCheck__box {
  width: 22px;
  height: 22px;
  border: 2px solid #b0bec5;
  border-radius: 6px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  color: #ffffff;
  transition: all 0.15s;
}

.p-ninshoDocCheck__texts {
  flex: 1;
  min-width: 0;
}

.p-ninshoDocCheck__num {
  font-size: 14px;
  color: #b0bec5;
  font-weight: 700;
}

.p-ninshoDocCheck__label {
  font-size: 16px;
  line-height: 1.4;
}

.p-ninshoDocSub {
  margin-top: 12px;
  padding: 12px;
  border: 1.5px solid #e65100;
  background: #fff3e0;
  border-radius: 8px;
  animation: ndFadeSlide 0.2s ease;
}

.p-ninshoDocSub__title {
  font-size: 14px;
  font-weight: 700;
  color: #e65100;
  margin-bottom: 8px;
}

.p-ninshoDocSub__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
}
@media screen and (max-width: 767px) {
  .p-ninshoDocSub__list {
    display: flex;
    flex-direction: column;
    gap: 6px;
  }
}

.p-ninshoDocSub__item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  background: #ffffff;
  border: 1.5px solid #dce3ea;
  border-radius: 6px;
  cursor: pointer;
  font-size: 15px;
  -webkit-user-select: none;
  user-select: none;
}
.p-ninshoDocSub__item.is-selected {
  border-color: #e65100;
  background: #fff8e6;
}
.p-ninshoDocSub__item.is-selected .p-ninshoDocSub__circle {
  border-color: #e65100;
}
.p-ninshoDocSub__item.is-selected .p-ninshoDocSub__circle::after {
  content: "";
  position: absolute;
  inset: 3px;
  background: #e65100;
  border-radius: 50%;
}

.p-ninshoDocSub__circle {
  width: 18px;
  height: 18px;
  border: 2px solid #b0bec5;
  border-radius: 50%;
  flex-shrink: 0;
  position: relative;
}

.p-ninshoDocToggle {
  margin-top: 10px;
  padding: 12px 14px;
  background: #ffffff;
  border: 1.5px dashed #b0bec5;
  border-radius: 8px;
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  font-size: 15px;
  -webkit-user-select: none;
  user-select: none;
}
.p-ninshoDocToggle .p-ninshoDocCheck__box {
  width: 20px;
  height: 20px;
  font-size: 14px;
}
.p-ninshoDocToggle.is-checked {
  border-color: #c62828;
  background: #ffebee;
  border-style: solid;
}
.p-ninshoDocToggle.is-checked .p-ninshoDocCheck__box {
  background: #c62828;
  border-color: #c62828;
}

.p-ninshoDocToggle__text {
  flex: 1;
}

.p-ninshoDocToggle__label {
  font-weight: 700;
  font-size: 15px;
}

.p-ninshoDocToggle__sub {
  font-size: 14px;
  color: #546e7a;
  margin-top: 2px;
}

.p-ninshoDocConfirm {
  margin-top: 14px;
  margin-inline: auto;
  width: fit-content;
  max-width: 100%;
  padding: 14px 40px;
  background: #1565c0;
  color: #ffffff;
  border: none;
  border-radius: 999px;
  font-family: inherit;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: background 0.15s, transform 0.1s;
  -webkit-appearance: none;
}
.p-ninshoDocConfirm:not(:disabled):active {
  transform: scale(0.98);
}
.p-ninshoDocConfirm:disabled {
  background: #e8ecf1;
  color: #b0bec5;
  cursor: not-allowed;
}

.p-ninshoDocResult {
  background: #ffffff;
  border-radius: 10px;
  box-shadow: 0 3px 20px rgba(21, 101, 192, 0.15);
  overflow: hidden;
  animation: ndFadeSlide 0.3s ease;
}

.p-ninshoDocResult__head {
  background: #1565c0;
  color: #ffffff;
  padding: 16px;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 16px;
  font-weight: 700;
}

.p-ninshoDocResult__body {
  padding: 16px;
}

.p-ninshoDocChips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 16px;
}

.p-ninshoDocChip {
  max-width: 100%;
  font-size: 14px;
  padding: 4px 10px;
  border-radius: 20px;
  font-weight: 500;
}
.p-ninshoDocChip.--nintei {
  background: #fff3e0;
  color: #e65100;
  border: 1px solid #ffcc80;
}
.p-ninshoDocChip.--shitei {
  background: #ffebee;
  color: #c62828;
  border: 1px solid #ef9a9a;
}
.p-ninshoDocChip.--cat {
  background: #e3f2fd;
  color: #0d47a1;
  border: 1px solid #90caf9;
}
.p-ninshoDocChip.--item {
  background: #f5f7fa;
  color: #546e7a;
  border: 1px solid #dce3ea;
}
.p-ninshoDocChip.--sub {
  background: #f3e5f5;
  color: #6a1b9a;
  border: 1px solid #ce93d8;
}

.p-ninshoDocPrint {
  background: #eaf3f1;
  border: 1.5px solid #9cc5bc;
  border-radius: 10px;
  padding: 12px 14px;
  margin-bottom: 16px;
  text-align: center;
}

.p-ninshoDocPrint__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: fit-content;
  margin-inline: auto;
  padding: 12px 16px;
  background: #428578;
  color: #ffffff;
  border: none;
  border-radius: 999px;
  font-family: inherit;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.15s, transform 0.1s;
  -webkit-appearance: none;
}
.p-ninshoDocPrint__btn:active {
  transform: scale(0.98);
  background: #33695e;
}

.p-ninshoDocPrint__hint {
  font-size: 14px;
  color: #546e7a;
  margin-top: 8px;
  line-height: 1.4;
}

.p-ninshoDocSection {
  margin-bottom: 20px;
}
.p-ninshoDocSection.--shitei .p-ninshoDocSection__head {
  background: #c62828;
  color: #ffffff;
}
.p-ninshoDocSection.--nintei .p-ninshoDocSection__head {
  background: #e65100;
  color: #ffffff;
}
.p-ninshoDocSection.--addtl .p-ninshoDocSection__head {
  background: #546e7a;
  color: #ffffff;
}
.p-ninshoDocSection.--related .p-ninshoDocSection__head {
  background: #6a1b9a;
  color: #ffffff;
}

.p-ninshoDocSection__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 12px;
  border-radius: 8px 8px 0 0;
  margin-bottom: 0;
  flex-wrap: wrap;
}

.p-ninshoDocSection__title {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.04em;
  display: flex;
  align-items: center;
  gap: 6px;
}

.p-ninshoDocSection__bulk {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 11px;
  background: #ffffff;
  color: #1a2a3a;
  border: none;
  border-radius: 16px;
  font-family: inherit;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.15s, transform 0.1s;
  -webkit-appearance: none;
  flex-shrink: 0;
}
.p-ninshoDocSection__bulk:active {
  transform: scale(0.96);
}

.p-ninshoDocToast {
  display: none;
  position: fixed;
  bottom: calc(env(safe-area-inset-bottom, 0px) + 24px);
  left: 50%;
  transform: translateX(-50%);
  background: #1b5e20;
  color: #ffffff;
  padding: 10px 20px;
  border-radius: 24px;
  font-size: 14px;
  font-weight: 700;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
  z-index: 200;
  white-space: nowrap;
  animation: ndToastIn 0.2s ease;
  max-width: 90%;
  text-align: center;
}

.p-ninshoDocDocs {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 10px;
  border: 1px solid #dce3ea;
  border-top: none;
  border-radius: 0 0 8px 8px;
  background: #ffffff;
}

.p-ninshoDocDocs__group {
  margin: 4px 0 2px;
  padding: 4px 4px 2px;
  font-size: 14px;
  font-weight: 700;
  color: #546e7a;
}

.p-ninshoDocDoc {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 12px;
  background: #f5f7fa;
  border-radius: 6px;
  border: 1px solid #dce3ea;
  font-size: 14px;
  line-height: 1.4;
}
.p-ninshoDocDoc.--dl {
  background: #f0f7ff;
  border-color: #b3d4f5;
}

.p-ninshoDocDoc__badge {
  flex-shrink: 0;
  background: #1565c0;
  color: #ffffff;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  padding: 5px 12px;
  border-radius: 6px;
  white-space: nowrap;
}
.p-ninshoDocDoc__badge.--link {
  display: inline-block;
  text-decoration: none;
  box-shadow: 0 2px 0 #0d47a1;
  transition: background 0.15s, box-shadow 0.1s, transform 0.1s;
}
.p-ninshoDocDoc__badge.--link:hover {
  background: #0d47a1;
}
.p-ninshoDocDoc__badge.--link:active {
  box-shadow: none;
  transform: translateY(2px);
}

.p-ninshoDocDoc__icon {
  flex-shrink: 0;
  font-size: 14px;
  margin-top: 2px;
}

.p-ninshoDocDoc__texts {
  flex: 1;
  min-width: 0;
}

.p-ninshoDocDoc__name {
  font-size: 16px;
}

.p-ninshoDocDoc__copies {
  display: inline-block;
  font-size: 14px;
  font-weight: 700;
  color: #c62828;
  margin-left: 6px;
  padding: 1px 6px;
  background: #ffffff;
  border: 1px solid #c62828;
  border-radius: 10px;
}

.p-ninshoDocDoc__note {
  font-size: 14px;
  color: #546e7a;
  margin-top: 3px;
  line-height: 1.4;
}

.p-ninshoDocDoc__cond {
  display: inline-block;
  flex-shrink: 0;
  font-size: 14px;
  padding: 2px 6px;
  border-radius: 4px;
  background: #fff3e0;
  color: #e65100;
  border: 1px solid #ffcc80;
  white-space: nowrap;
  margin-left: 6px;
  vertical-align: middle;
}

.p-ninshoDocSampleBtn {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  margin-left: 6px;
  padding: 2px 8px;
  background: #f0f7ff;
  color: #0d47a1;
  border: 1px solid #1565c0;
  border-radius: 12px;
  font-family: inherit;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.15s;
  -webkit-appearance: none;
  vertical-align: middle;
}
.p-ninshoDocSampleBtn:active {
  transform: scale(0.95);
  background: #e3f2fd;
}
.p-ninshoDocSampleBtn:hover {
  background: #e3f2fd;
  border-color: #0d47a1;
}

.p-ninshoDocModal {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.78);
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  animation: ndModalFadeIn 0.15s ease;
  -webkit-overflow-scrolling: touch;
}

.p-ninshoDocModal__inner {
  background: #ffffff;
  border-radius: 12px;
  max-width: min(90vw, 800px);
  max-height: 92vh;
  width: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.4);
  animation: ndModalSlideIn 0.2s ease;
}
.p-ninshoDocModal__inner.--pdf {
  height: 92vh;
}

.p-ninshoDocModal__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  background: #0d47a1;
  color: #ffffff;
  flex-shrink: 0;
}

.p-ninshoDocModal__title {
  font-size: 16px;
  font-weight: 700;
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.p-ninshoDocModal__close {
  background: none;
  border: none;
  color: #ffffff;
  font-size: 24px;
  cursor: pointer;
  padding: 0 0 0 12px;
  line-height: 1;
  font-family: inherit;
  flex-shrink: 0;
  -webkit-appearance: none;
}

.p-ninshoDocModal__tabs {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  padding: 8px 12px;
  background: #ffffff;
  border-bottom: 1px solid #dce3ea;
  flex-shrink: 0;
}

.p-ninshoDocModal__tab {
  padding: 5px 12px;
  background: #ffffff;
  border: 1px solid #dce3ea;
  border-radius: 14px;
  font-family: inherit;
  font-size: 14px;
  color: #546e7a;
  cursor: pointer;
  -webkit-appearance: none;
}
.p-ninshoDocModal__tab.is-active {
  background: #f0f7ff;
  border-color: #1565c0;
  color: #0d47a1;
  font-weight: 700;
}

.p-ninshoDocModal__body {
  flex: 1;
  overflow: auto;
  padding: 12px;
  background: #f5f7fa;
  min-height: 200px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
}
.p-ninshoDocModal__body img {
  max-width: 100%;
  height: auto;
  display: block;
  background: #ffffff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  margin: auto;
}
.p-ninshoDocModal__body.--pdf {
  padding: 0;
  overflow: hidden;
  min-height: 0;
  display: block;
}

.p-ninshoDocModal__pdf {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
  background: #f5f7fa;
}

.p-ninshoDocModal__openLink {
  color: #0d47a1;
  font-weight: 700;
  text-decoration: underline;
}

.p-ninshoDocModal__loading {
  margin: auto;
  color: #546e7a;
  font-size: 14px;
}

.p-ninshoDocModal__error {
  margin: auto;
  color: #c62828;
  font-size: 14px;
  text-align: center;
  padding: 20px;
}

.p-ninshoDocModal__foot {
  padding: 8px 16px;
  background: #f5f7fa;
  border-top: 1px solid #dce3ea;
  font-size: 14px;
  color: #546e7a;
  text-align: center;
  flex-shrink: 0;
}

.p-ninshoDocNotice {
  background: #fff3e0;
  border: 1px solid #ffcc80;
  border-radius: 8px;
  padding: 12px 14px;
  font-size: 14px;
  color: #e65100;
  line-height: 1.6;
  margin-top: 14px;
}

.p-ninshoDocReset {
  margin-inline: auto;
  width: fit-content;
  max-width: 100%;
  padding: 12px 32px;
  background: #ffffff;
  border: 1.5px solid #dce3ea;
  border-radius: 999px;
  font-family: inherit;
  font-size: 15px;
  color: #546e7a;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  -webkit-appearance: none;
}
.p-ninshoDocReset:active {
  background: #f5f7fa;
}

.p-ninshoDoc .is-hidden {
  display: none !important;
}

.p-trainingFv {
  position: relative;
  color: #ffffff;
}

.p-trainingFv__img {
  position: absolute;
  inset: 0;
}
.p-trainingFv__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left center;
}

.p-trainingFv__inner {
  position: relative;
  padding-block: 102px 124px;
}
@media screen and (max-width: 767px) {
  .p-trainingFv__inner {
    padding-block: 48px 52px;
  }
}

.p-trainingFv__catch {
  font-family: "Noto Serif JP", serif;
  font-size: 65px;
  font-weight: 700;
  line-height: 1.34;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .p-trainingFv__catch {
    font-size: 28px;
  }
}

.p-trainingFv__en {
  margin-top: 16px;
  font-family: "Inter", sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.02em;
  color: rgba(255, 255, 255, 0.65);
}
@media screen and (max-width: 767px) {
  .p-trainingFv__en {
    margin-top: 12px;
    font-size: 13px;
  }
}

.p-trainingFv__lead {
  position: relative;
  margin-top: 30px;
  padding-top: 26px;
  font-size: 23px;
  line-height: 1.54;
}
@media screen and (max-width: 767px) {
  .p-trainingFv__lead {
    margin-top: 16px;
    padding-top: 20px;
    font-size: 14px;
  }
}
.p-trainingFv__lead::before {
  content: "";
  position: absolute;
  top: 0;
  left: 5px;
  width: 59px;
  height: 1px;
  background-color: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-trainingFv__lead::before {
    left: 2px;
    width: 40px;
  }
}

.p-trainingNews {
  padding-block: 65px 0;
}
@media screen and (max-width: 767px) {
  .p-trainingNews {
    padding-block: 40px 0;
  }
}

.p-trainingNews__title {
  position: relative;
  padding-bottom: 9px;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-trainingNews__title {
    font-size: 20px;
  }
}
.p-trainingNews__title::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  translate: -50% 0;
  width: 43px;
  height: 2px;
  background: #0a7e71;
}

.p-trainingNews__lists {
  display: grid;
  grid-template-columns: max-content max-content minmax(0, 1fr);
  max-width: 1022px;
  margin-top: 36px;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-trainingNews__lists {
    display: block;
    margin-top: 24px;
  }
}

.p-trainingNews__item {
  display: contents;
}
@media screen and (max-width: 767px) {
  .p-trainingNews__item {
    display: block;
  }
}

.trainingNewsItem__article {
  display: contents;
}
@media screen and (max-width: 767px) {
  .trainingNewsItem__article {
    display: block;
    border-bottom: 1px solid #c0c0c0;
  }
}

.trainingNewsItem__link {
  display: contents;
}
@media screen and (max-width: 767px) {
  .trainingNewsItem__link {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    column-gap: 10px;
    row-gap: 5px;
    padding-block: 15px;
  }
}

.trainingNewsItem__link > * {
  display: flex;
  align-items: center;
  padding-block: 24px;
  border-bottom: 1px solid #c0c0c0;
}
@media screen and (max-width: 767px) {
  .trainingNewsItem__link > * {
    display: block;
    padding-block: 0;
    border-bottom: none;
  }
}
.trainingNewsItem__link > *:not(:last-child) {
  padding-right: 26px;
}
@media screen and (max-width: 767px) {
  .trainingNewsItem__link > *:not(:last-child) {
    padding-right: 0;
  }
}

.trainingNewsItem__date {
  font-size: 15px;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .trainingNewsItem__date {
    font-size: 12px;
  }
}

.trainingNewsItem__categories {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.trainingNewsItem__category {
  padding-inline: 12px;
  border: 1px solid #0081d2;
  border-radius: 999px;
  color: #0081d2;
  font-size: 13px;
  font-weight: 700;
  line-height: 20px;
  text-align: center;
}
.trainingNewsItem__category.--training {
  border-color: #007434;
  color: #007434;
}
.trainingNewsItem__category.--news {
  border-color: #ff9402;
  color: #ff9402;
}
.trainingNewsItem__category.--subsidy {
  border-color: #025bff;
  color: #025bff;
}
.trainingNewsItem__category.--product {
  border-color: #ff4502;
  color: #ff4502;
}

.trainingNewsItem__title {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .trainingNewsItem__title {
    width: 100%;
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
}

.trainingNewsItem__link > * {
  transition: opacity 0.2s;
}

.trainingNewsItem__link:hover > * {
  opacity: 0.6;
}

.p-trainingNews__empty {
  margin-top: 36px;
  font-size: 15px;
  text-align: center;
}

.p-trainingFlow {
  padding-top: 108px;
}
@media screen and (max-width: 767px) {
  .p-trainingFlow {
    padding-top: 56px;
  }
}

.p-trainingFlow__lead {
  font-size: 20px;
  line-height: 1.85;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-trainingFlow__lead {
    font-size: 15px;
    line-height: 1.8;
  }
}

.p-trainingFlow__lead-strong {
  color: #0a7e71;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-trainingFlow__lead-strong {
    font-size: 17px;
    margin-inline: -0.25em;
  }
}

.p-trainingFlow__bracket {
  position: relative;
  width: calc((300% + 168px) / 4 + 4px);
  height: 37px;
  margin-top: 36px;
  margin-inline: auto;
  border: 4px solid #0a7e71;
  border-bottom: none;
}
@media screen and (max-width: 767px) {
  .p-trainingFlow__bracket {
    display: none;
  }
}
.p-trainingFlow__bracket::after {
  content: "";
  position: absolute;
  left: -2px;
  bottom: 0;
  translate: -50% 0;
  width: 24px;
  height: 16px;
  background: #0a7e71;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.p-trainingFlow__steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 56px;
}
@media screen and (max-width: 767px) {
  .p-trainingFlow__steps {
    grid-template-columns: minmax(0, 1fr);
    gap: 40px;
    margin-top: 40px;
  }
}

.p-trainingFlow__step {
  position: relative;
}
.p-trainingFlow__step:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 31px;
  right: -42px;
  translate: 0 -50%;
  width: 28px;
  height: 16px;
  background: #0a7e71;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}
@media screen and (max-width: 767px) {
  .p-trainingFlow__step:not(:last-child)::after {
    top: auto;
    right: auto;
    bottom: -28px;
    left: 50%;
    translate: -50% 0;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
  }
}

.trainingStep__title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1em;
  padding-block: 13px;
  background: #0a7e71;
  color: #ffffff;
  font-size: 17px;
  font-weight: 700;
  line-height: 37px;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .trainingStep__title {
    padding-block: 6px;
    font-size: 16px;
  }
}

.trainingStep__text {
  margin-top: 21px;
  font-size: 15px;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .trainingStep__text {
    margin-top: 14px;
  }
}

.p-trainingRoles {
  padding-top: 64px;
}
@media screen and (max-width: 767px) {
  .p-trainingRoles {
    padding-top: 40px;
  }
}

.p-trainingRoles__inner {
  padding-top: 80px;
  border-top: 1px solid #9a9a9a;
}
@media screen and (max-width: 767px) {
  .p-trainingRoles__inner {
    padding-top: 40px;
  }
}

.p-trainingRoles__list {
  display: grid;
  row-gap: 19px;
}
@media screen and (max-width: 767px) {
  .p-trainingRoles__list {
    row-gap: 56px;
  }
}

.p-trainingRoles__item {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 31.3333333333%;
  grid-template-rows: auto 1fr;
  grid-template-areas: "head  image" "text  image";
  column-gap: 12.3333333333%;
  align-items: start;
}
@media screen and (max-width: 767px) {
  .p-trainingRoles__item {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto;
    grid-template-areas: "head" "text" "image";
    column-gap: 0;
  }
}
.p-trainingRoles__item:not(:last-child)::before {
  content: "";
  position: absolute;
  left: 34px;
  top: 31px;
  bottom: -19px;
  width: 1px;
  background: #c8c8c8;
}
@media screen and (max-width: 767px) {
  .p-trainingRoles__item:not(:last-child)::before {
    content: none;
  }
}

.trainingRole__head {
  grid-area: head;
  display: flex;
  align-items: center;
  gap: 27px;
}
@media screen and (max-width: 767px) {
  .trainingRole__head {
    align-items: start;
    gap: 14px;
  }
}

.trainingRole__num {
  width: 69px;
  border-radius: 999px;
  background: #000000;
  color: #ffffff;
  font-size: 15px;
  font-weight: 700;
  line-height: 31px;
  text-align: center;
}

.trainingRole__title {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.33;
}
@media screen and (max-width: 767px) {
  .trainingRole__title {
    font-size: 20px;
    line-height: 1.6;
  }
}

.trainingRole__text {
  grid-area: text;
  margin-top: 27px;
  margin-left: 96px;
  max-width: 580px;
  font-size: 15px;
  line-height: 2.13;
}
@media screen and (max-width: 767px) {
  .trainingRole__text {
    margin-top: 14px;
    margin-left: 0;
    max-width: none;
    line-height: 1.8;
  }
}

.trainingRole__image {
  grid-area: image;
}
@media screen and (max-width: 767px) {
  .trainingRole__image {
    margin-top: 14px;
  }
}
.trainingRole__image img {
  width: 100%;
  height: auto;
  aspect-ratio: 376/259;
  object-fit: cover;
}

.p-trainingLinks {
  margin-top: 56px;
  padding-block: 82px 70px;
  background: url(../img/training/cards-bg.webp) no-repeat center/cover;
}
@media screen and (max-width: 767px) {
  .p-trainingLinks {
    margin-top: 40px;
    padding-block: 40px;
  }
}

.p-trainingLinks__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px 24px;
}
@media screen and (max-width: 767px) {
  .p-trainingLinks__cards {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }
}

.p-trainingLinks__card {
  display: grid;
}
@media screen and (max-width: 767px) {
  .p-trainingLinks__card {
    border-bottom: 1px solid #000000;
  }
}

.trainingCard {
  display: flex;
  flex-direction: column;
  padding: 28px 28px 10px;
  border: 1px solid #e0e0e0;
  border-radius: 10px;
  background: #ffffff;
  box-shadow: 0 0 0 0 rgba(114, 192, 184, 0), 0 1px 3px 0 #72c0b8;
  transition: box-shadow 0.3s ease, border-color 0.3s ease;
}
@media screen and (max-width: 767px) {
  .trainingCard {
    display: grid;
    grid-template-columns: 71px minmax(0, 1fr) auto;
    grid-template-areas: "icon title arrow" "icon text  arrow";
    align-items: center;
    column-gap: 10px;
    margin-inline: -8px;
    padding: 16px 8px;
    border: none;
    border-radius: 6px;
    background: transparent;
    box-shadow: none;
    transition: background-color 0.2s;
  }
}
.trainingCard:hover {
  border-color: transparent;
  box-shadow: 0 0 0 1px rgba(114, 192, 184, 0.45), 0 6px 18px rgba(114, 192, 184, 0.35);
}
@media screen and (max-width: 767px) {
  .trainingCard:hover {
    box-shadow: none;
  }
}
@media screen and (max-width: 767px) {
  .trainingCard:active {
    background: rgba(10, 126, 113, 0.08);
  }
}

.trainingCard__icon {
  width: 36px;
  height: 36px;
}
@media screen and (max-width: 767px) {
  .trainingCard__icon {
    grid-area: icon;
    width: 71px;
    height: 71px;
    padding: 12px;
    border-radius: 8px;
    background: #ffffff;
  }
}

.trainingCard__title {
  margin-top: 9px;
  font-size: 16px;
  font-weight: 700;
  line-height: 2.31;
}
@media screen and (max-width: 767px) {
  .trainingCard__title {
    grid-area: title;
    margin-top: 0;
    line-height: 1.6;
  }
}

.trainingCard__text {
  font-size: 15px;
  line-height: 1.53;
}
@media screen and (max-width: 767px) {
  .trainingCard__text {
    grid-area: text;
    font-size: 14px;
    line-height: 1.6;
  }
}

.trainingCard__link {
  margin-top: auto;
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 1em;
  padding-top: 15px;
  color: #0a7e71;
  font-size: 15px;
  font-weight: 700;
  line-height: 2.13;
}
@media screen and (max-width: 767px) {
  .trainingCard__link {
    grid-area: arrow;
    align-self: center;
    margin-top: 0;
    padding-top: 0;
    padding-left: 4px;
    font-size: 18px;
  }
}

@media screen and (max-width: 767px) {
  .trainingCard__link-label {
    display: none;
  }
}

.trainingCard__link-arrow {
  transition: transform 0.2s;
}
.trainingCard:hover .trainingCard__link-arrow {
  transform: translateX(4px);
}

.p-trainingAccess {
  padding-block: 61px 104px;
}
@media screen and (max-width: 767px) {
  .p-trainingAccess {
    padding-block: 40px 56px;
  }
}

.p-trainingAccess__gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 15px;
}
@media screen and (max-width: 767px) {
  .p-trainingAccess__gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
}
.p-trainingAccess__gallery img {
  width: 100%;
  height: 256px;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-trainingAccess__gallery img {
    height: auto;
    aspect-ratio: 390/256;
  }
}
@media screen and (max-width: 767px) {
  .p-trainingAccess__gallery img:last-child {
    grid-column: 1/-1;
  }
}

.p-trainingAccess__map {
  margin-top: 37px;
  aspect-ratio: 1200/296;
}
@media screen and (max-width: 767px) {
  .p-trainingAccess__map {
    margin-top: 24px;
    aspect-ratio: 4/3;
  }
}
.p-trainingAccess__map iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.p-trainingAccess__name {
  margin-top: 25px;
  font-size: 16px;
  font-weight: 700;
  line-height: 3;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  .p-trainingAccess__name {
    margin-top: 20px;
    line-height: 2;
  }
}

.p-trainingAccess__address {
  font-size: 15px;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-trainingAccess__address {
    line-height: 1.8;
  }
}

.p-trainingPlanLead {
  padding-top: 72px;
}
@media screen and (max-width: 767px) {
  .p-trainingPlanLead {
    padding-top: 36px;
  }
}

.p-trainingPlanLead__title {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-trainingPlanLead__title {
    font-size: 22px;
  }
}

.p-trainingPlanLead__text {
  margin-top: 28px;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-trainingPlanLead__text {
    margin-top: 20px;
    line-height: 1.8;
  }
}

.p-trainingPlanIndex {
  margin-top: 48px;
}
@media screen and (max-width: 767px) {
  .p-trainingPlanIndex {
    margin-top: 30px;
    border: 1px solid #c0c0c0;
    border-radius: 6px;
    overflow: hidden;
  }
}

.p-trainingPlanIndex__toggle {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-trainingPlanIndex__toggle {
    position: relative;
    display: block;
    width: 100%;
    padding-block: 12px;
    background: #f2f9ff;
    color: #000000;
    font-size: 15px;
    font-weight: 700;
    text-align: center;
    cursor: pointer;
  }
}
@media screen and (max-width: 767px) {
  .p-trainingPlanIndex__toggle::before, .p-trainingPlanIndex__toggle::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 18px;
    width: 12px;
    height: 2px;
    background: #0081d2;
    translate: 0 -50%;
    transition: rotate 0.3s, opacity 0.3s;
  }
}
.p-trainingPlanIndex__toggle::after {
  rotate: 90deg;
}

.p-trainingPlanIndex.is-opened .p-trainingPlanIndex__toggle::after {
  rotate: 0deg;
  opacity: 0;
}

@media screen and (max-width: 767px) {
  .p-trainingPlanIndex__body {
    display: grid;
    grid-template-rows: minmax(0, 0fr);
    overflow: hidden;
    visibility: hidden;
    transition: grid-template-rows 0.3s ease, visibility 0.3s;
  }
}

@media screen and (max-width: 767px) {
  .p-trainingPlanIndex.is-opened .p-trainingPlanIndex__body {
    grid-template-rows: minmax(0, 1fr);
    visibility: visible;
  }
}

.p-trainingPlanIndex__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 40px;
  border-top: 1px solid #c0c0c0;
}
@media screen and (max-width: 767px) {
  .p-trainingPlanIndex__list {
    grid-template-columns: 1fr;
    padding: 4px 18px 6px;
    border-top: 0;
  }
}

.p-trainingPlanIndex__item {
  border-bottom: 1px solid #c0c0c0;
}
@media screen and (max-width: 767px) {
  .p-trainingPlanIndex__item {
    border-bottom: 0;
  }
}

@media screen and (max-width: 767px) {
  .p-trainingPlanIndex__item + .p-trainingPlanIndex__item {
    border-top: 1px solid #c0c0c0;
  }
}

.p-trainingPlanIndex__link {
  display: flex;
  align-items: baseline;
  gap: 16px;
  padding-block: 16px;
  font-size: 15px;
  line-height: 1.6;
  transition: color 0.2s;
}
@media screen and (max-width: 767px) {
  .p-trainingPlanIndex__link {
    gap: 10px;
    padding-block: 12px;
    font-size: 13px;
  }
}
.p-trainingPlanIndex__link::after {
  content: "↓";
  margin-left: auto;
  color: #0081d2;
}
.p-trainingPlanIndex__link:hover {
  color: #0081d2;
}

.p-trainingPlanIndex__name {
  min-width: 0;
}

.p-trainingPlanBody {
  padding-top: 72px;
  padding-bottom: 120px;
}
@media screen and (max-width: 767px) {
  .p-trainingPlanBody {
    padding-top: 36px;
    padding-bottom: 60px;
  }
}

.p-trainingPlanSec + .p-trainingPlanSec {
  margin-top: 112px;
}
@media screen and (max-width: 767px) {
  .p-trainingPlanSec + .p-trainingPlanSec {
    margin-top: 60px;
  }
}

.p-trainingPlanSec__title {
  color: #0081d2;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-trainingPlanSec__title {
    font-size: 20px;
  }
}

.p-trainingPlanSec__text {
  margin-top: 28px;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-trainingPlanSec__text {
    margin-top: 20px;
    line-height: 1.8;
  }
}

.p-trainingPlanSec__list {
  margin-top: 28px;
  border-top: 1px solid #c0c0c0;
}
@media screen and (max-width: 767px) {
  .p-trainingPlanSec__list {
    margin-top: 20px;
  }
}

.p-trainingPlanSec__row {
  display: grid;
  grid-template-columns: 180px 1fr;
  column-gap: 20px;
  padding-block: 16px;
  border-bottom: 1px solid #c0c0c0;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-trainingPlanSec__row {
    grid-template-columns: 1fr;
    row-gap: 4px;
    padding-block: 12px;
  }
}
.p-trainingPlanSec__row dt {
  font-weight: 500;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 767px) {
  .p-trainingPlanSec__row dt {
    color: #333333;
    font-size: 13px;
    font-weight: 700;
  }
}
.p-trainingPlanSec__row dd {
  min-width: 0;
}

.p-trainingPlanSec__tel {
  color: inherit;
}
@media screen and (max-width: 767px) {
  .p-trainingPlanSec__tel {
    color: #0081d2;
    text-decoration: underline;
    text-underline-offset: 3px;
  }
}

.p-trainingPlanSec__link {
  color: #0081d2;
  text-decoration: underline;
  text-underline-offset: 3px;
  overflow-wrap: anywhere;
  transition: opacity 0.2s;
}
@media (any-hover: hover) {
  .p-trainingPlanSec__link:hover {
    opacity: 0.6;
  }
}

.p-subsidy {
  letter-spacing: 0;
}

.p-subsidy__title {
  color: #000000;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .p-subsidy__title {
    font-size: 23px;
    line-height: 1.4;
  }
}

.p-subsidy__desc {
  margin-top: 16px;
  color: #474747;
  font-size: 16px;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .p-subsidy__desc {
    margin-top: 12px;
    font-size: 14px;
  }
}

.p-subsidy__arrow {
  margin-left: 0.5em;
}

.p-subsidyTop {
  padding-top: 56px;
}
@media screen and (max-width: 767px) {
  .p-subsidyTop {
    padding-top: 40px;
  }
}

.p-subsidyTop__text {
  color: #1a1a1a;
  font-size: 15px;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .p-subsidyTop__text {
    font-size: 14px;
  }
}

.p-subsidyNews {
  padding-top: 120px;
}
@media screen and (max-width: 767px) {
  .p-subsidyNews {
    padding-top: 80px;
  }
}

.p-subsidyNews__lists {
  margin-top: 40px;
  padding: 8px 32px;
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 4px 16px rgba(13, 38, 89, 0.1);
}
@media screen and (max-width: 767px) {
  .p-subsidyNews__lists {
    margin-top: 24px;
    padding: 4px 16px;
  }
}

.p-subsidyNews__item:not(:last-child) {
  border-bottom: 1px solid #c1c1c1;
}

.p-subsidyNews__link {
  display: flex;
  align-items: center;
  gap: 20px;
  padding-block: 22px;
  font-size: 16px;
  line-height: 1.2;
  transition: opacity 0.2s;
}
@media screen and (max-width: 767px) {
  .p-subsidyNews__link {
    flex-wrap: wrap;
    gap: 8px 12px;
    padding-block: 16px;
    font-size: 14px;
    line-height: 1.5;
  }
}
.p-subsidyNews__link:hover {
  opacity: 0.6;
}

.p-subsidyNews__item:not(:last-child) .p-subsidyNews__link {
  padding-bottom: 21px;
}
@media screen and (max-width: 767px) {
  .p-subsidyNews__item:not(:last-child) .p-subsidyNews__link {
    padding-bottom: 15px;
  }
}

.p-subsidyNews__date {
  color: #666666;
}

.p-subsidyNews__category {
  padding: 2px 14px;
  border: 1px solid #0081d2;
  border-radius: 10px;
  color: #0081d2;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-subsidyNews__category {
    font-size: 14px;
  }
}
.p-subsidyNews__category.--news {
  border-color: #ff9402;
  color: #ff9402;
}
.p-subsidyNews__category.--training {
  border-color: #007434;
  color: #007434;
}
.p-subsidyNews__category.--subsidy {
  border-color: #025bff;
  color: #025bff;
}
.p-subsidyNews__category.--product {
  border-color: #ff4502;
  color: #ff4502;
}

.p-subsidyNews__text {
  flex: 1;
  min-width: 0;
  color: #000000;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .p-subsidyNews__text {
    flex-basis: 100%;
  }
}

.p-subsidyNews__empty {
  margin-top: 40px;
  padding-block: 40px;
  font-size: 16px;
  text-align: center;
}

.p-subsidyPoints {
  padding-top: 120px;
}
@media screen and (max-width: 767px) {
  .p-subsidyPoints {
    padding-top: 80px;
  }
}

.p-subsidyPoints__head {
  display: flex;
  align-items: center;
  gap: 12px;
}
@media screen and (max-width: 767px) {
  .p-subsidyPoints__head {
    flex-direction: column;
    align-items: start;
    gap: 4px;
  }
}

.p-subsidyPoints__note {
  color: #737373;
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  .p-subsidyPoints__note {
    font-size: 14px;
  }
}

.p-subsidyPoints__lists {
  margin-top: 40px;
  padding: 8px 32px;
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 4px 16px rgba(13, 38, 89, 0.1);
}
@media screen and (max-width: 767px) {
  .p-subsidyPoints__lists {
    margin-top: 24px;
    padding: 4px 16px;
  }
}

.p-subsidyPoints__item {
  display: flex;
  align-items: center;
  gap: 20px;
  padding-block: 24px;
}
@media screen and (max-width: 767px) {
  .p-subsidyPoints__item {
    align-items: start;
    gap: 14px;
    padding-block: 18px;
  }
}
.p-subsidyPoints__item:not(:last-child) {
  padding-bottom: 23px;
  border-bottom: 1px solid #e0e5ed;
}

.p-subsidyPoints__num {
  display: grid;
  place-items: center;
  width: 36px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #1f5da3;
  color: #ffffff;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-subsidyPoints__num {
    width: 30px;
    font-size: 14px;
  }
}

.p-subsidyPoints__body {
  flex: 1;
  min-width: 0;
}

.p-subsidyPoints__title {
  color: #0b2b4f;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-subsidyPoints__title {
    font-size: 16px;
    line-height: 1.4;
  }
}

.p-subsidyPoints__text {
  margin-top: 4px;
  color: #474747;
  font-size: 16px;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .p-subsidyPoints__text {
    font-size: 14px;
    overflow-wrap: anywhere;
  }
}
.p-subsidyPoints__text a {
  transition: opacity 0.2s;
}
.p-subsidyPoints__text a:hover {
  opacity: 0.6;
}

.p-subsidyPortals {
  padding-top: 120px;
}
@media screen and (max-width: 767px) {
  .p-subsidyPortals {
    padding-top: 80px;
  }
}

.p-subsidyPortals__cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .p-subsidyPortals__cards {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-top: 24px;
  }
}

.p-subsidyPortals__card {
  display: flex;
  flex-direction: column;
  align-items: start;
  gap: 14px;
  min-width: 0;
  padding: 28px;
  border-radius: 12px;
  background: #f6f8fb;
}
@media screen and (max-width: 767px) {
  .p-subsidyPortals__card {
    align-items: stretch;
    gap: 10px;
    padding: 20px;
  }
}

.p-subsidyPortals__org {
  color: #025bff;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
}

.p-subsidyPortals__name {
  color: #0b2b4f;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .p-subsidyPortals__name {
    font-size: 19px;
  }
}

.p-subsidyPortals__text {
  color: #474747;
  font-size: 16px;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .p-subsidyPortals__text {
    font-size: 14px;
  }
}

.p-subsidyPortals__btn {
  padding: 10px 20px;
  border-radius: 20px;
  background: #0b2b4f;
  color: #ffffff;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  transition: opacity 0.2s;
}
@media screen and (max-width: 767px) {
  .p-subsidyPortals__btn {
    text-align: center;
  }
}
.p-subsidyPortals__btn:hover {
  opacity: 0.7;
}

.p-subsidyList {
  padding-block: 120px 80px;
}
@media screen and (max-width: 767px) {
  .p-subsidyList {
    padding-block: 80px 60px;
  }
}

.p-subsidyList__desc {
  margin-top: 16px;
  color: #474747;
  font-size: 16px;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .p-subsidyList__desc {
    margin-top: 12px;
    font-size: 14px;
  }
}

.p-subsidyList__notice {
  margin-top: 40px;
  padding: 14px 18px;
  border-radius: 8px;
  background: #fff2e0;
  color: #e55200;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-subsidyList__notice {
    margin-top: 24px;
    padding: 12px 14px;
    font-size: 14px;
  }
}

.p-subsidyList__cards {
  display: grid;
  gap: 40px;
  margin-top: 24px;
  padding: 32px;
  border-radius: 20px;
  background: #eef3f9;
}
@media screen and (max-width: 767px) {
  .p-subsidyList__cards {
    gap: 16px;
    margin-top: 16px;
    padding: 12px;
    border-radius: 14px;
  }
}

.subsidyCard {
  display: flex;
  flex-direction: column;
  align-items: start;
  gap: 20px;
  padding: 31px;
  border: 1px solid rgba(11, 43, 79, 0.1);
  border-radius: 14px;
  background: #ffffff;
  box-shadow: 0 4px 18px rgba(10, 31, 71, 0.1);
}
@media screen and (max-width: 767px) {
  .subsidyCard {
    gap: 16px;
    padding: 19px 15px;
    border-radius: 12px;
  }
}

.subsidyCard__head {
  display: flex;
  align-items: center;
  gap: 16px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .subsidyCard__head {
    align-items: start;
    gap: 12px;
  }
}

.subsidyCard__num {
  display: grid;
  place-items: center;
  width: 44px;
  aspect-ratio: 1;
  border-radius: 10px;
  background: #0b2b4f;
  color: #ffffff;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .subsidyCard__num {
    width: 36px;
    border-radius: 8px;
    font-size: 14px;
  }
}

.subsidyCard__heading {
  flex: 1;
  min-width: 0;
}

.subsidyCard__name {
  color: #0b2b4f;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .subsidyCard__name {
    font-size: 18px;
    line-height: 1.4;
  }
}

.subsidyCard__org {
  margin-top: 4px;
  color: #808080;
  font-size: 14px;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .subsidyCard__org {
    line-height: 1.5;
  }
}

.subsidyCard__lead {
  color: #474747;
  font-size: 16px;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .subsidyCard__lead {
    font-size: 14px;
  }
}

.subsidyCard__cols {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  align-items: start;
  gap: 20px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .subsidyCard__cols {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}

.subsidyCard__col {
  --subsidy-col-color: #0a7e71;
  min-width: 0;
  border-radius: 10px;
  overflow: hidden;
}
.subsidyCard__col.--note {
  --subsidy-col-color: #a3241f;
}

.subsidyCard__label {
  padding: 10px 16px;
  background: var(--subsidy-col-color);
  color: #ffffff;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .subsidyCard__label {
    padding: 8px 14px;
    font-size: 14px;
  }
}

.subsidyCard__list {
  display: grid;
  gap: 8px;
  padding: 16px;
  color: #474747;
  font-size: 16px;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .subsidyCard__list {
    gap: 6px;
    padding: 12px 14px;
    font-size: 14px;
  }
}
.subsidyCard__list > li {
  position: relative;
  padding-left: calc(1em + 8px);
}
.subsidyCard__list > li::before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
  color: var(--subsidy-col-color);
  font-weight: 700;
}

.subsidyCard__contact {
  color: #474747;
  font-size: 14px;
  line-height: 1.6;
}

.subsidyCard__btn {
  padding: 10px 22px;
  border-radius: 18px;
  background: #17a2b1;
  color: #ffffff;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  transition: opacity 0.2s;
}
@media screen and (max-width: 767px) {
  .subsidyCard__btn {
    align-self: stretch;
    border-radius: 20px;
    text-align: center;
  }
}
.subsidyCard__btn:hover {
  opacity: 0.7;
}

.subsidyFlow {
  width: 100%;
  padding: 24px;
  border-radius: 12px;
  background: #f8fbff;
}
@media screen and (max-width: 767px) {
  .subsidyFlow {
    padding: 16px 12px;
  }
}

.subsidyFlow__title {
  color: #0b2b4f;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .subsidyFlow__title {
    font-size: 16px;
    line-height: 1.4;
  }
}

.subsidyFlow__chart {
  display: grid;
  grid-template-columns: 1fr 84px 1fr;
  column-gap: 16px;
  row-gap: 18px;
  margin-top: 18px;
}
@media screen and (max-width: 767px) {
  .subsidyFlow__chart {
    grid-template-columns: 1fr 15px 1fr;
    column-gap: 4px;
    row-gap: 10px;
    margin-top: 14px;
  }
}

.subsidyFlow__label {
  padding-block: 6px;
  background: #ffffff;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .subsidyFlow__label {
    padding: 6px 4px;
    font-size: 14px;
  }
}
.subsidyFlow__label.--applicant {
  grid-column: 1;
  color: #c5050e;
}
.subsidyFlow__label.--office {
  grid-column: 3;
  color: #0b2b4f;
}

.subsidyFlow__panel {
  display: grid;
  row-gap: 34px;
  min-width: 0;
  padding: 18px;
  border-radius: 12px;
  background: #eef3f9;
}
@media screen and (max-width: 767px) {
  .subsidyFlow__panel {
    padding: 10px 6px;
    border-radius: 8px;
  }
}

.subsidyFlow__step {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 44px;
  padding-inline: 10px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .subsidyFlow__step {
    padding-inline: 4px;
    border-radius: 6px;
    font-size: 14px;
    line-height: 1.3;
  }
}
.subsidyFlow__step.--down::after {
  content: "▼";
  position: absolute;
  top: calc(100% + 8px);
  left: 50%;
  translate: -50% 0;
  color: #0b2b4f;
  font-size: 12px;
  line-height: 18px;
}

.subsidyFlow__panel.--applicant .subsidyFlow__step {
  background: #0b2b4f;
  color: #ffffff;
}

.subsidyFlow__panel.--office .subsidyFlow__step {
  border: 1.5px solid #0b2b4f;
  background: #ffffff;
  color: #0b2b4f;
}

.subsidyFlow__panel.--office .subsidyFlow__step.--blank {
  border: none;
  background: none;
}

.subsidyFlow__arrows {
  display: grid;
  row-gap: 34px;
  padding-block: 18px;
}
@media screen and (max-width: 767px) {
  .subsidyFlow__arrows {
    padding-block: 10px;
  }
}

.subsidyFlow__arrow {
  display: grid;
  place-items: center;
  min-height: 44px;
  color: #0b2b4f;
  font-size: 36px;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .subsidyFlow__arrow {
    font-size: 15px;
  }
}

.subsidyFlow__note {
  margin-top: 18px;
  color: #8c8c8c;
  font-size: 14px;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .subsidyFlow__note {
    margin-top: 14px;
    font-size: 14px;
  }
}

.p-insurance {
  letter-spacing: 0;
}

.p-insurance__title {
  display: flex;
  align-items: center;
  gap: 14px;
  color: #0b2b4f;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .p-insurance__title {
    align-items: start;
    font-size: 23px;
    line-height: 1.4;
  }
}
.p-insurance__title::before {
  content: "";
  flex-shrink: 0;
  width: 7px;
  height: 34px;
  border-radius: 3px;
  background: #0a7e71;
}

.p-insurance__desc {
  margin-top: 16px;
  color: #474747;
  font-size: 16px;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .p-insurance__desc {
    margin-top: 12px;
    font-size: 14px;
  }
}

.p-insurance__arrow {
  margin-left: 0.3em;
}

.p-insurance__links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
@media screen and (max-width: 767px) {
  .p-insurance__links {
    gap: 8px;
  }
}

.p-insurance__link {
  padding: 6px 14px;
  border: 1px solid rgba(23, 162, 177, 0.4);
  border-radius: 8px;
  background: rgba(23, 162, 177, 0.12);
  color: #17a2b1;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  transition: opacity 0.2s;
}
@media screen and (max-width: 767px) {
  .p-insurance__link {
    font-size: 14px;
  }
}
.p-insurance__link:hover {
  opacity: 0.7;
}

.p-insuranceBody {
  padding-block: 56px 80px;
}
@media screen and (max-width: 767px) {
  .p-insuranceBody {
    padding-block: 40px 56px;
  }
}

.p-insuranceBody__lead {
  color: #474747;
  font-size: 16px;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .p-insuranceBody__lead {
    font-size: 14px;
  }
}

.p-insuranceIntro {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: 64px;
  padding: 18px 29px;
  border: 1px solid #e0e5ed;
  border-radius: 12px;
  background: #f6f8fb;
}
@media screen and (max-width: 767px) {
  .p-insuranceIntro {
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
    margin-top: 40px;
    padding: 19px;
  }
}

.p-insuranceIntro__org {
  color: #0a7e71;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
}

.p-insuranceIntro__title {
  margin-top: 6px;
  color: #0b2b4f;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .p-insuranceIntro__title {
    font-size: 17px;
    line-height: 1.4;
  }
}

.p-insuranceIntro__text {
  margin-top: 6px;
  color: #474747;
  font-size: 16px;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .p-insuranceIntro__text {
    font-size: 14px;
  }
}

.p-insuranceIntro__btn {
  flex-shrink: 0;
  padding: 12px 22px;
  border-radius: 8px;
  background: #0b2b4f;
  color: #ffffff;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
  transition: opacity 0.2s;
}
@media screen and (max-width: 767px) {
  .p-insuranceIntro__btn {
    font-size: 14px;
    text-align: center;
  }
}
.p-insuranceIntro__btn:hover {
  opacity: 0.7;
}

.p-insuranceGroup {
  margin-top: 120px;
}
@media screen and (max-width: 767px) {
  .p-insuranceGroup {
    margin-top: 80px;
  }
}

.p-insuranceGroup__lists {
  margin-top: 40px;
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 4px 14px rgba(11, 43, 79, 0.08);
}
@media screen and (max-width: 767px) {
  .p-insuranceGroup__lists {
    margin-top: 24px;
  }
}

.p-insuranceGroup__item {
  display: flex;
  align-items: center;
  gap: 24px;
  min-height: 100px;
  padding: 20px 28px;
}
@media screen and (max-width: 767px) {
  .p-insuranceGroup__item {
    flex-direction: column;
    align-items: start;
    gap: 12px;
    min-height: 0;
    padding: 18px 16px;
  }
}

.p-insuranceGroup__item + .p-insuranceGroup__item {
  border-top: 1px solid #e0e5ed;
}

.p-insuranceGroup__name {
  flex-shrink: 0;
  width: 420px;
  max-width: 100%;
  color: #0b2b4f;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-insuranceGroup__name {
    width: auto;
    font-size: 15px;
  }
}

.p-insuranceGroup__note {
  display: block;
  color: #808080;
  font-size: 14px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-insuranceGroup__note {
    font-size: 14px;
  }
}

.p-insuranceTenken {
  margin-top: 40px;
  padding: 26.5px 28.5px;
  border: 1.5px solid #0b2b4f;
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 4px 16px rgba(11, 43, 79, 0.1);
}
@media screen and (max-width: 767px) {
  .p-insuranceTenken {
    margin-top: 24px;
    padding: 18.5px 14.5px;
  }
}

.p-insuranceTenken__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 100px;
}
@media screen and (max-width: 767px) {
  .p-insuranceTenken__head {
    flex-direction: column;
    align-items: start;
    gap: 12px;
    min-height: 0;
  }
}

.p-insuranceTenken__title {
  color: #0b2b4f;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .p-insuranceTenken__title {
    font-size: 17px;
    line-height: 1.4;
  }
}

.p-insuranceTenken__btn {
  flex-shrink: 0;
  padding: 10px 18px;
  border-radius: 8px;
  background: #0b2b4f;
  color: #ffffff;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  transition: opacity 0.2s;
}
.p-insuranceTenken__btn:hover {
  opacity: 0.7;
}

.p-insuranceTenken__text {
  margin-top: 18px;
  color: #474747;
  font-size: 16px;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .p-insuranceTenken__text {
    margin-top: 14px;
    font-size: 14px;
  }
}

.p-insuranceTenken__links {
  margin-top: 18px;
}
@media screen and (max-width: 767px) {
  .p-insuranceTenken__links {
    margin-top: 14px;
  }
}

.p-insuranceContact {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: 120px;
  padding: 18px 36px;
  border-radius: 16px;
  background: #0b2b4f;
  color: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-insuranceContact {
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
    margin-top: 80px;
    padding: 24px 20px;
  }
}

.p-insuranceContact__title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .p-insuranceContact__title {
    font-size: 18px;
  }
}

.p-insuranceContact__text {
  margin-top: 6px;
  color: #cbd8e8;
  font-size: 16px;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .p-insuranceContact__text {
    font-size: 14px;
  }
}

.p-insuranceContact__tels {
  display: flex;
  flex-shrink: 0;
  gap: 16px;
}
@media screen and (max-width: 767px) {
  .p-insuranceContact__tels {
    flex-direction: column;
    gap: 10px;
  }
}

.p-insuranceContact__tel {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 11px 19px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.08);
}
@media screen and (max-width: 767px) {
  .p-insuranceContact__tel {
    flex: 1;
    min-width: 0;
    padding: 9px 13px;
  }
}

.p-insuranceContact__label {
  color: #cbd8e8;
  font-size: 14px;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .p-insuranceContact__label {
    font-size: 14px;
  }
}

.p-insuranceContact__num {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .p-insuranceContact__num {
    font-size: 20px;
  }
}

.p-etc {
  letter-spacing: 0;
}

.p-etc__title {
  display: flex;
  align-items: center;
  gap: 14px;
  color: #0b2b4f;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .p-etc__title {
    align-items: start;
    font-size: 23px;
    line-height: 1.4;
  }
}
.p-etc__title::before {
  content: "";
  flex-shrink: 0;
  width: 7px;
  height: 34px;
  border-radius: 3px;
  background: #0a7e71;
}

.p-etc__desc {
  margin-top: 16px;
  color: #474747;
  font-size: 16px;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .p-etc__desc {
    margin-top: 12px;
    font-size: 14px;
  }
}

.p-etc__lists {
  margin-top: 40px;
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 4px 14px rgba(11, 43, 79, 0.08);
}
@media screen and (max-width: 767px) {
  .p-etc__lists {
    margin-top: 24px;
  }
}

.p-etc__item {
  display: flex;
  align-items: center;
  gap: 16px;
  min-height: 100px;
  padding: 18px 28px;
}
@media screen and (max-width: 767px) {
  .p-etc__item {
    align-items: start;
    gap: 12px;
    min-height: 0;
    padding: 16px;
  }
}

.p-etc__item + .p-etc__item {
  border-top: 1px solid #e0e5ed;
}

.p-etc__num {
  display: grid;
  flex-shrink: 0;
  place-items: center;
  width: 32px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #1f5da3;
  color: #ffffff;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-etc__num {
    width: 28px;
    font-size: 14px;
  }
}

.p-etc__itemBody {
  flex: 1;
}

.p-etc__itemText {
  margin-top: 4px;
  color: #474747;
  font-size: 16px;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .p-etc__itemText {
    font-size: 14px;
  }
}

.p-etcBody {
  padding-block: 56px 80px;
}
@media screen and (max-width: 767px) {
  .p-etcBody {
    padding-block: 40px 56px;
  }
}

.p-etcBody__lead {
  color: #474747;
  font-size: 16px;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .p-etcBody__lead {
    font-size: 14px;
  }
}

.p-etcSection {
  margin-top: 120px;
}
@media screen and (max-width: 767px) {
  .p-etcSection {
    margin-top: 80px;
  }
}

.p-etcExplain {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .p-etcExplain {
    grid-template-columns: 1fr;
    gap: 14px;
    margin-top: 24px;
  }
}

.p-etcExplain__card {
  padding: 23px;
  border: 1px solid #e0e5ed;
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 4px 14px rgba(11, 43, 79, 0.08);
}
@media screen and (max-width: 767px) {
  .p-etcExplain__card {
    padding: 19px 17px;
  }
}

.p-etcExplain__label {
  width: fit-content;
  padding: 4px 12px;
  border-radius: 6px;
  background: #0b2b4f;
  color: #ffffff;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
}

.p-etcExplain__title {
  margin-top: 10px;
  color: #0b2b4f;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .p-etcExplain__title {
    font-size: 17px;
    line-height: 1.4;
  }
}

.p-etcExplain__text {
  margin-top: 10px;
  color: #474747;
  font-size: 16px;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .p-etcExplain__text {
    font-size: 14px;
  }
}

.p-etcMerits {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .p-etcMerits {
    grid-template-columns: 1fr;
    gap: 14px;
    margin-top: 24px;
  }
}

.p-etcMerits__card {
  padding: 22px 20px;
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 4px 14px rgba(11, 43, 79, 0.1);
}
@media screen and (max-width: 767px) {
  .p-etcMerits__card {
    padding: 18px 17px;
  }
}
.p-etcMerits__card::before {
  content: "";
  display: block;
  height: 4px;
  background: #b8860b;
}

.p-etcMerits__num {
  margin-top: 10px;
  color: #b8860b;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
}

.p-etcMerits__title {
  margin-top: 10px;
  color: #0b2b4f;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-etcMerits__title {
    font-size: 16px;
  }
}

.p-etcMerits__text {
  margin-top: 10px;
  color: #474747;
  font-size: 16px;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .p-etcMerits__text {
    font-size: 14px;
  }
}

.p-etcRequirements__title {
  color: #0b2b4f;
  font-size: 17px;
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-etcRequirements__title {
    font-size: 15px;
    line-height: 1.6;
  }
}

.p-etcFees__item {
  gap: 20px;
}
@media screen and (max-width: 767px) {
  .p-etcFees__item {
    align-items: center;
    gap: 12px;
  }
}

.p-etcFees__name {
  flex: 1;
  color: #0b2b4f;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .p-etcFees__name {
    font-size: 15px;
  }
}

.p-etcFees__note {
  display: block;
  margin-top: 3px;
  color: #8c8c8c;
  font-size: 14px;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .p-etcFees__note {
    font-size: 14px;
    line-height: 1.5;
  }
}

.p-etcFees__price {
  color: #0b2b4f;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.2;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .p-etcFees__price {
    font-size: 18px;
    white-space: nowrap;
  }
}

.p-etcFees__caution {
  margin-top: 16px;
  color: #8c8c8c;
  font-size: 14px;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .p-etcFees__caution {
    margin-top: 12px;
    font-size: 14px;
    line-height: 1.6;
  }
}

.p-etcDocuments__item {
  gap: 24px;
}
@media screen and (max-width: 767px) {
  .p-etcDocuments__item {
    flex-direction: column;
    gap: 10px;
  }
}

.p-etcDocuments__name {
  flex-shrink: 0;
  width: 320px;
  max-width: 100%;
  color: #0b2b4f;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .p-etcDocuments__name {
    width: auto;
    font-size: 15px;
  }
}

.p-etcDocuments__links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
@media screen and (max-width: 767px) {
  .p-etcDocuments__links {
    gap: 8px;
  }
}

.p-etcDocuments__link {
  padding: 6px 14px;
  border: 1px solid rgba(23, 162, 177, 0.4);
  border-radius: 8px;
  background: rgba(23, 162, 177, 0.12);
  color: #17a2b1;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  transition: opacity 0.2s;
}
@media screen and (max-width: 767px) {
  .p-etcDocuments__link {
    font-size: 14px;
  }
}
.p-etcDocuments__link:hover {
  opacity: 0.7;
}

.p-etcDocuments__link.--example {
  border-color: rgba(163, 36, 31, 0.4);
  background: rgba(163, 36, 31, 0.12);
  color: #a3241f;
}

.p-etcDocuments__text {
  flex: 1;
  color: #474747;
  font-size: 16px;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .p-etcDocuments__text {
    font-size: 14px;
    line-height: 1.6;
  }
}

.p-etcDocuments__caution {
  margin-top: 16px;
  padding: 16px 20px;
  border-radius: 8px;
  background: #fff2e0;
  color: #e55200;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .p-etcDocuments__caution {
    min-height: 0;
    margin-top: 14px;
    padding: 14px 16px;
    font-size: 14px;
    line-height: 1.6;
  }
}

.p-etcApply {
  display: flex;
  gap: 36px;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .p-etcApply {
    flex-direction: column;
    gap: 32px;
    margin-top: 24px;
  }
}

.p-etcApply__step {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  flex: 0 1 200px;
  min-width: 0;
  min-height: 96px;
  padding: 18px 14px;
  border-radius: 10px;
  background: #0b2b4f;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-etcApply__step {
    flex-basis: auto;
    min-height: 0;
    padding: 14px;
  }
}
.p-etcApply__step:not(:last-child)::after {
  content: "→";
  position: absolute;
  top: 50%;
  left: calc(100% + 8px);
  width: 20px;
  color: #0b2b4f;
  font-size: 20px;
  text-align: center;
  translate: 0 -50%;
}
@media screen and (max-width: 767px) {
  .p-etcApply__step:not(:last-child)::after {
    top: calc(100% + 4px);
    left: 50%;
    line-height: 24px;
    translate: -50% 0;
    rotate: 90deg;
  }
}
.p-etcApply__step:last-child {
  background: #0a7e71;
}

.p-etcApply__num {
  color: #f5ebd2;
  font-size: 14px;
}

.p-etcApply__text {
  color: #ffffff;
  font-size: 16px;
}

.p-etcSetup__title {
  color: #0b2b4f;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-etcSetup__title {
    font-size: 15px;
    line-height: 1.6;
  }
}

.p-etcFaq {
  display: grid;
  gap: 14px;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .p-etcFaq {
    gap: 12px;
    margin-top: 24px;
  }
}

.p-etcFaq__item {
  padding: 17px 21px;
  border: 1px solid #e0e5ed;
  border-radius: 10px;
  background: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-etcFaq__item {
    padding: 15px;
  }
}

.p-etcFaq__question {
  display: flex;
  gap: 8px;
  color: #0b2b4f;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-etcFaq__question {
    font-size: 15px;
    line-height: 1.5;
  }
}

.p-etcFaq__answer {
  display: flex;
  gap: 8px;
  min-height: 100px;
  margin-top: 8px;
  font-size: 16px;
}
@media screen and (max-width: 767px) {
  .p-etcFaq__answer {
    min-height: 0;
    font-size: 14px;
  }
}

.p-etcFaq__mark {
  color: #0a7e71;
}

.p-etcFaq__mark.--answer {
  color: #a3241f;
  font-weight: 700;
  line-height: 1.2;
}

.p-etcFaq__answerBody {
  flex: 1;
  color: #474747;
  line-height: 1.7;
}

.p-etcContact {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: 120px;
  padding: 18px 36px;
  border-radius: 16px;
  background: #0b2b4f;
  color: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-etcContact {
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
    margin-top: 80px;
    padding: 24px 20px;
  }
}

.p-etcContact__title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .p-etcContact__title {
    font-size: 18px;
  }
}

.p-etcContact__text {
  margin-top: 6px;
  color: #cbd8e8;
  font-size: 16px;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .p-etcContact__text {
    font-size: 14px;
    line-height: 1.6;
  }
}

.p-etcContact__tels {
  display: flex;
  flex-shrink: 0;
  gap: 16px;
}
@media screen and (max-width: 767px) {
  .p-etcContact__tels {
    flex-direction: column;
    gap: 10px;
  }
}

.p-etcContact__tel {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 11px 19px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.08);
}
@media screen and (max-width: 767px) {
  .p-etcContact__tel {
    flex: 1;
    min-width: 0;
    padding: 9px 13px;
  }
}

.p-etcContact__label {
  color: #cbd8e8;
  font-size: 14px;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .p-etcContact__label {
    font-size: 14px;
  }
}

.p-etcContact__num {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .p-etcContact__num {
    font-size: 20px;
  }
}

.p-ecoLoan {
  letter-spacing: 0;
}

.p-ecoLoan__title {
  display: flex;
  align-items: center;
  gap: 14px;
  color: #0b2b4f;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .p-ecoLoan__title {
    align-items: start;
    font-size: 23px;
    line-height: 1.4;
  }
}
.p-ecoLoan__title::before {
  content: "";
  flex-shrink: 0;
  width: 7px;
  height: 34px;
  border-radius: 3px;
  background: #0a7e71;
}

.p-ecoLoan__desc {
  margin-top: 16px;
  color: #474747;
  font-size: 16px;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .p-ecoLoan__desc {
    margin-top: 12px;
    font-size: 14px;
  }
}

.p-ecoLoan__lists {
  margin-top: 40px;
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 4px 14px rgba(11, 43, 79, 0.08);
}
@media screen and (max-width: 767px) {
  .p-ecoLoan__lists {
    margin-top: 24px;
  }
}

.p-ecoLoan__caution {
  margin-top: 64px;
  padding: 18px 24px;
  border: 1px solid rgba(163, 36, 31, 0.3);
  border-radius: 10px;
  background: #fdf3f2;
  color: #a3241f;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-ecoLoan__caution {
    margin-top: 40px;
    padding: 16px;
    font-size: 14px;
  }
}

.p-ecoLoanBody {
  padding-block: 56px 80px;
}
@media screen and (max-width: 767px) {
  .p-ecoLoanBody {
    padding-block: 40px 56px;
  }
}

.p-ecoLoanBody__lead {
  color: #474747;
  font-size: 16px;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .p-ecoLoanBody__lead {
    font-size: 14px;
  }
}

.p-ecoLoanSection {
  margin-top: 120px;
}
@media screen and (max-width: 767px) {
  .p-ecoLoanSection {
    margin-top: 80px;
  }
}

.p-ecoLoanOverview {
  margin-top: 64px;
  padding: 26px 30px;
  border: 1px solid #e0e5ed;
  border-radius: 12px;
  background: #f6f8fb;
}
@media screen and (max-width: 767px) {
  .p-ecoLoanOverview {
    margin-top: 40px;
    padding: 20px 16px;
  }
}

.p-ecoLoanOverview__label {
  color: #0a7e71;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
}

.p-ecoLoanOverview__title {
  margin-top: 6px;
  color: #0b2b4f;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .p-ecoLoanOverview__title {
    font-size: 17px;
    line-height: 1.4;
  }
}

.p-ecoLoanOverview__text {
  margin-top: 12px;
  color: #474747;
  font-size: 16px;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .p-ecoLoanOverview__text {
    font-size: 14px;
  }
}

.p-ecoLoanMerits {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .p-ecoLoanMerits {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-top: 24px;
  }
}

.p-ecoLoanMerits__card {
  min-width: 0;
  padding: 24px 22px;
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 4px 14px rgba(11, 43, 79, 0.08);
}
@media screen and (max-width: 767px) {
  .p-ecoLoanMerits__card {
    padding: 20px 16px;
  }
}

.p-ecoLoanMerits__title {
  color: #0b2b4f;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-ecoLoanMerits__title {
    font-size: 15px;
  }
}

.p-ecoLoanMerits__text {
  margin-top: 10px;
  color: #474747;
  font-size: 16px;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .p-ecoLoanMerits__text {
    font-size: 14px;
  }
}

.p-ecoLoanSpec__item {
  display: flex;
  gap: 24px;
  padding: 20px 28px;
}
@media screen and (max-width: 767px) {
  .p-ecoLoanSpec__item {
    flex-direction: column;
    gap: 8px;
    padding: 18px 16px;
  }
}

.p-ecoLoanSpec__item + .p-ecoLoanSpec__item {
  border-top: 1px solid #e0e5ed;
}

.p-ecoLoanSpec__name {
  flex-shrink: 0;
  width: 200px;
  max-width: 100%;
  color: #0b2b4f;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-ecoLoanSpec__name {
    width: auto;
    font-size: 15px;
  }
}

.p-ecoLoanSpec__body {
  flex: 1;
  min-width: 0;
}

.p-ecoLoanSpec__text {
  color: #474747;
  font-size: 16px;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .p-ecoLoanSpec__text {
    font-size: 14px;
  }
}

.p-ecoLoanSpec__text + .p-ecoLoanSpec__text {
  margin-top: 8px;
}

.p-ecoLoanStep__item {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 22px 28px;
}
@media screen and (max-width: 767px) {
  .p-ecoLoanStep__item {
    align-items: start;
    gap: 12px;
    padding: 18px 16px;
  }
}

.p-ecoLoanStep__item + .p-ecoLoanStep__item {
  border-top: 1px solid #e0e5ed;
}

.p-ecoLoanStep__num {
  display: grid;
  flex-shrink: 0;
  place-items: center;
  width: 32px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #0b2b4f;
  color: #ffffff;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-ecoLoanStep__num {
    width: 28px;
    font-size: 14px;
  }
}

.p-ecoLoanStep__body {
  flex: 1;
  min-width: 0;
}

.p-ecoLoanStep__title {
  color: #0b2b4f;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-ecoLoanStep__title {
    font-size: 15px;
  }
}

.p-ecoLoanStep__text {
  margin-top: 4px;
  color: #474747;
  font-size: 16px;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .p-ecoLoanStep__text {
    font-size: 14px;
  }
}

.p-ecoLoanContact {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: 120px;
  padding: 18px 36px;
  border-radius: 16px;
  background: #0b2b4f;
  color: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-ecoLoanContact {
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
    margin-top: 80px;
    padding: 24px 20px;
  }
}

.p-ecoLoanContact__title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .p-ecoLoanContact__title {
    font-size: 18px;
  }
}

.p-ecoLoanContact__text {
  margin-top: 6px;
  color: #cbd8e8;
  font-size: 16px;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .p-ecoLoanContact__text {
    font-size: 14px;
  }
}

.p-ecoLoanContact__tels {
  display: flex;
  flex-shrink: 0;
  gap: 16px;
}
@media screen and (max-width: 767px) {
  .p-ecoLoanContact__tels {
    flex-direction: column;
    gap: 10px;
  }
}

.p-ecoLoanContact__tel {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 11px 19px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.08);
}
@media screen and (max-width: 767px) {
  .p-ecoLoanContact__tel {
    flex: 1;
    min-width: 0;
    padding: 9px 13px;
  }
}

.p-ecoLoanContact__label {
  color: #cbd8e8;
  font-size: 14px;
  line-height: 1.2;
}

.p-ecoLoanContact__num {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .p-ecoLoanContact__num {
    font-size: 20px;
  }
}

.p-debtCollection {
  letter-spacing: 0;
}

.p-debtCollection__title {
  display: flex;
  align-items: center;
  gap: 14px;
  color: #0b2b4f;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .p-debtCollection__title {
    align-items: start;
    font-size: 23px;
    line-height: 1.4;
  }
}
.p-debtCollection__title::before {
  content: "";
  flex-shrink: 0;
  width: 7px;
  height: 34px;
  border-radius: 3px;
  background: #0a7e71;
}

.p-debtCollection__desc {
  margin-top: 16px;
  color: #474747;
  font-size: 16px;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .p-debtCollection__desc {
    margin-top: 12px;
    font-size: 14px;
  }
}

.p-debtCollection__lists {
  margin-top: 40px;
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 4px 14px rgba(11, 43, 79, 0.08);
}
@media screen and (max-width: 767px) {
  .p-debtCollection__lists {
    margin-top: 24px;
  }
}

.p-debtCollection__caution {
  margin-top: 64px;
  padding: 18px 24px;
  border: 1px solid rgba(163, 36, 31, 0.3);
  border-radius: 10px;
  background: #fdf3f2;
  color: #a3241f;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-debtCollection__caution {
    margin-top: 40px;
    padding: 16px;
    font-size: 14px;
  }
}

.p-debtCollectionBody {
  padding-block: 56px 80px;
}
@media screen and (max-width: 767px) {
  .p-debtCollectionBody {
    padding-block: 40px 56px;
  }
}

.p-debtCollectionBody__lead {
  color: #474747;
  font-size: 16px;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .p-debtCollectionBody__lead {
    font-size: 14px;
  }
}

.p-debtCollectionSection {
  margin-top: 120px;
}
@media screen and (max-width: 767px) {
  .p-debtCollectionSection {
    margin-top: 80px;
  }
}

.p-debtCollectionProblem {
  margin-top: 64px;
  padding: 26px 30px;
  border: 1px solid #e0e5ed;
  border-radius: 12px;
  background: #f6f8fb;
}
@media screen and (max-width: 767px) {
  .p-debtCollectionProblem {
    margin-top: 40px;
    padding: 20px 16px;
  }
}

.p-debtCollectionProblem__title {
  color: #0b2b4f;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .p-debtCollectionProblem__title {
    font-size: 17px;
    line-height: 1.4;
  }
}

.p-debtCollectionProblem__lists {
  margin-top: 12px;
  display: grid;
  gap: 8px;
}

.p-debtCollectionProblem__item {
  position: relative;
  padding-left: 17px;
  color: #0b2b4f;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-debtCollectionProblem__item {
    font-size: 14px;
  }
}
.p-debtCollectionProblem__item::before {
  content: "";
  position: absolute;
  top: 0.75em;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #0a7e71;
  translate: 0 -50%;
}

.p-debtCollectionProblem__text {
  margin-top: 12px;
  color: #474747;
  font-size: 16px;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .p-debtCollectionProblem__text {
    font-size: 14px;
  }
}

.p-debtCollectionMerits {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .p-debtCollectionMerits {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-top: 24px;
  }
}

.p-debtCollectionMerits__card {
  min-width: 0;
  padding: 24px 22px;
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 4px 14px rgba(11, 43, 79, 0.08);
}
@media screen and (max-width: 767px) {
  .p-debtCollectionMerits__card {
    padding: 20px 16px;
  }
}

.p-debtCollectionMerits__title {
  color: #0b2b4f;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-debtCollectionMerits__title {
    font-size: 15px;
  }
}

.p-debtCollectionMerits__text {
  margin-top: 10px;
  color: #474747;
  font-size: 16px;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .p-debtCollectionMerits__text {
    font-size: 14px;
  }
}

.p-debtCollectionStep__item {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 22px 28px;
}
@media screen and (max-width: 767px) {
  .p-debtCollectionStep__item {
    align-items: start;
    gap: 12px;
    padding: 18px 16px;
  }
}

.p-debtCollectionStep__item + .p-debtCollectionStep__item {
  border-top: 1px solid #e0e5ed;
}

.p-debtCollectionStep__num {
  display: grid;
  flex-shrink: 0;
  place-items: center;
  width: 32px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #0b2b4f;
  color: #ffffff;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-debtCollectionStep__num {
    width: 28px;
    font-size: 14px;
  }
}

.p-debtCollectionStep__body {
  flex: 1;
  min-width: 0;
}

.p-debtCollectionStep__title {
  color: #0b2b4f;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-debtCollectionStep__title {
    font-size: 15px;
  }
}

.p-debtCollectionStep__text {
  margin-top: 4px;
  color: #474747;
  font-size: 16px;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .p-debtCollectionStep__text {
    font-size: 14px;
  }
}

.p-debtCollectionInfo {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  margin-top: 120px;
}
@media screen and (max-width: 767px) {
  .p-debtCollectionInfo {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-top: 80px;
  }
}

.p-debtCollectionContact {
  min-width: 0;
  padding: 30px 32px;
  border-radius: 16px;
  background: #0b2b4f;
  color: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-debtCollectionContact {
    padding: 24px 20px;
  }
}

.p-debtCollectionContact__title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .p-debtCollectionContact__title {
    font-size: 18px;
  }
}

.p-debtCollectionContact__org {
  margin-top: 16px;
  color: #cbd8e8;
  font-size: 16px;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .p-debtCollectionContact__org {
    margin-top: 12px;
    font-size: 14px;
  }
}

.p-debtCollectionContact__tels {
  display: flex;
  gap: 16px;
  margin-top: 16px;
}
@media screen and (max-width: 767px) {
  .p-debtCollectionContact__tels {
    gap: 10px;
    margin-top: 12px;
  }
}

.p-debtCollectionContact__tel {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 11px 19px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.08);
}
@media screen and (max-width: 767px) {
  .p-debtCollectionContact__tel {
    flex: 1;
    min-width: 0;
    padding: 9px 13px;
  }
}

.p-debtCollectionContact__label {
  color: #cbd8e8;
  font-size: 14px;
  line-height: 1.2;
}

.p-debtCollectionContact__num {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .p-debtCollectionContact__num {
    font-size: 20px;
  }
}

.p-debtCollectionOutsource {
  min-width: 0;
  padding: 30px 32px;
  border: 1px solid #e0e5ed;
  border-radius: 16px;
  background: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-debtCollectionOutsource {
    padding: 24px 20px;
  }
}

.p-debtCollectionOutsource__label {
  color: #0a7e71;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .p-debtCollectionOutsource__label {
    font-size: 14px;
  }
}

.p-debtCollectionOutsource__lists {
  display: grid;
  gap: 10px;
  margin-top: 16px;
}
@media screen and (max-width: 767px) {
  .p-debtCollectionOutsource__lists {
    margin-top: 12px;
  }
}

.p-debtCollectionOutsource__item {
  display: flex;
  gap: 14px;
}
@media screen and (max-width: 767px) {
  .p-debtCollectionOutsource__item {
    flex-direction: column;
    gap: 2px;
  }
}

.p-debtCollectionOutsource__name {
  flex-shrink: 0;
  width: 90px;
  max-width: 100%;
  color: #0b2b4f;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-debtCollectionOutsource__name {
    width: auto;
    font-size: 14px;
  }
}

.p-debtCollectionOutsource__value {
  flex: 1;
  min-width: 0;
  color: #474747;
  font-size: 16px;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-debtCollectionOutsource__value {
    font-size: 14px;
  }
}

.p-newsBody {
  padding-block: 53px 100px;
}
@media screen and (max-width: 767px) {
  .p-newsBody {
    padding-block: 30px 60px;
  }
}
.p-newsBody.--single {
  padding-top: 100px;
  background: #f9f9f9;
}
@media screen and (max-width: 767px) {
  .p-newsBody.--single {
    padding-top: 40px;
    background: #ffffff;
  }
}

.p-newsBody__inner {
  display: grid;
  grid-template-columns: 301fr 879fr;
  column-gap: 40px;
  align-items: start;
  padding-top: 60px;
}
@media screen and (max-width: 767px) {
  .p-newsBody__inner {
    grid-template-columns: 1fr;
    row-gap: 30px;
    padding-top: 30px;
  }
}

.p-newsSide {
  top: calc(var(--header-height, 120px) + 24px);
  border: 1px solid #9a9a9a;
  border-radius: 6px;
  background: #ffffff;
  overflow: hidden;
}

.p-newsSide__title {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-newsSide__title {
    display: block;
    position: relative;
    padding: 10px 16px;
    border-bottom: 1px solid #9a9a9a;
    background: #f2f9ff;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.4;
  }
}

.p-newsSide__toggle {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-newsSide__toggle {
    display: block;
    position: absolute;
    inset: 0;
    width: 100%;
    border: none;
    background: none;
    cursor: pointer;
  }
  .p-newsSide__toggle::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 16px;
    translate: 0 -50%;
    width: 0;
    height: 0;
    border-top: 6px solid #000000;
    border-inline: 5px solid transparent;
    transition: rotate 0.3s;
  }
  .p-newsSide__toggle.is-opened::after {
    rotate: 180deg;
  }
}

@media screen and (max-width: 767px) {
  .p-newsSide__collapse {
    height: 0;
    overflow: hidden;
  }
}

.p-newsSideBlock {
  padding: 20px;
}
@media screen and (max-width: 767px) {
  .p-newsSideBlock {
    padding: 16px;
  }
}

.p-newsSideBlock__title {
  position: relative;
  padding-bottom: 10px;
  border-bottom: 1px solid #dddddd;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
}
.p-newsSideBlock__title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 40px;
  height: 2px;
  background: #1f5da3;
}

.p-newsSearch__form {
  display: flex;
  align-items: stretch;
  gap: 8px;
  margin-top: 14px;
}

.p-newsSearch__field {
  display: flex;
  flex: 1;
  align-items: center;
  gap: 6px;
  min-width: 0;
  padding-inline: 10px;
  border: 1px solid #626262;
  border-radius: 4px;
  background: #ffffff;
}

.p-newsSearch__icon {
  width: 16px;
  height: 16px;
  color: #9a9a9a;
}

.p-newsSearch__input {
  width: 100%;
  padding-block: 8px;
  border: none;
  background: transparent;
  font-size: 14px;
}
.p-newsSearch__input::placeholder {
  color: #9a9a9a;
}
.p-newsSearch__input:focus {
  outline: none;
}

.p-newsSearch__btn {
  padding-inline: 14px;
  border: none;
  border-radius: 4px;
  background: #1f5da3;
  color: #ffffff;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: opacity 0.2s;
}
.p-newsSearch__btn:hover {
  opacity: 0.8;
}

.p-newsCats__list {
  margin-top: 6px;
}

.p-newsCats__link {
  display: block;
  padding-block: 10px;
  border-bottom: 1px dashed #dddddd;
  color: #000000;
  font-size: 14px;
  line-height: 1.5;
  transition: opacity 0.2s;
}
.p-newsCats__link:hover {
  opacity: 0.6;
}
.p-newsCats__link.--current {
  font-weight: 700;
}

.p-newsCats__link--important {
  color: #d20003;
}

.p-newsCats__link--training {
  color: #007434;
}

.p-newsCats__link--news,
.p-newsCats__link--info {
  color: #ff9402;
}

.p-newsCats__link--subsidy {
  color: #025bff;
}

.p-newsCats__link--product {
  color: #ff4502;
}

.p-newsCats__link--oss {
  color: #0081d2;
}

.p-newsCats__link--obd {
  color: #0048b8;
}

.p-newsYears__list {
  margin-top: 6px;
}

.p-newsYears__link {
  display: block;
  padding-block: 10px;
  border-bottom: 1px dashed #dddddd;
  color: #000000;
  font-size: 14px;
  line-height: 1.5;
  transition: opacity 0.2s;
}
.p-newsYears__link:hover {
  opacity: 0.6;
}
.p-newsYears__link.--current {
  color: #1f5da3;
  font-weight: 700;
}

.p-newsMain {
  min-width: 0;
}

.p-newsMain__head {
  padding-bottom: 12px;
  border-bottom: 1px solid #dddddd;
}

.p-newsMain__count {
  font-size: 14px;
}

.p-newsMain__count-value {
  margin-inline: 4px;
  color: #007434;
  font-size: 20px;
  font-weight: 700;
}

.p-newsMain__empty {
  padding-block: 40px;
  font-size: 15px;
  text-align: center;
}

.p-newsList__item {
  border-bottom: 1px dashed #9a9a9a;
}

.p-newsList__link {
  display: block;
  padding-block: 18px;
  color: #000000;
  transition: opacity 0.2s;
}
.p-newsList__link:hover {
  opacity: 0.6;
}

.p-newsList__meta {
  display: flex;
  align-items: center;
  gap: 16px;
}

.p-newsList__date {
  font-size: 15px;
}

.p-newsList__title {
  display: block;
  margin-top: 8px;
  font-size: 15px;
  line-height: 1.5;
}

.p-newsBadge {
  display: inline-flex;
  align-items: center;
  padding: 2px 12px;
  border-radius: 100vmax;
  color: #ffffff;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
}

.p-newsBadge--news,
.p-newsBadge--info {
  background: #ff9402;
}

.p-newsBadge--training {
  background: #007434;
}

.p-newsBadge--subsidy {
  background: #025bff;
}

.p-newsBadge--product {
  background: #ff4502;
}

.p-newsBadge--oss-news {
  background: #0081d2;
}

.p-newsBadge--obd {
  background: #0048b8;
}

.p-newsBadge--important {
  background: #d20003;
}

.p-newsMore {
  margin-top: 44px;
  text-align: center;
}

.p-newsMore__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-width: 240px;
  padding: 14px 40px;
  border: 1px solid #1f5da3;
  border-radius: 100vmax;
  background: #ffffff;
  color: #1f5da3;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;
  cursor: pointer;
  transition: background-color 0.2s, color 0.2s, opacity 0.2s;
}
.p-newsMore__btn::after {
  content: "";
  width: 8px;
  height: 8px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
}
.p-newsMore__btn:hover {
  background: #1f5da3;
  color: #ffffff;
}
.p-newsMore__btn.js-loading {
  opacity: 0.5;
  cursor: progress;
}
@media screen and (max-width: 767px) {
  .p-newsMore__btn {
    min-width: 200px;
    padding: 12px 30px;
    font-size: 14px;
  }
}

.p-newsArticle {
  padding: 40px;
  border-radius: 6px;
  background: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-newsArticle {
    padding: 0;
  }
}

.p-newsArticle__head {
  padding-bottom: 20px;
  border-bottom: 1px solid #dddddd;
}

.p-newsArticle__meta {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.p-newsArticle__date {
  font-size: 15px;
}

.p-newsArticle__title {
  margin-top: 14px;
  font-size: 26px;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-newsArticle__title {
    font-size: 16px;
  }
}

.p-newsArticle__thumb {
  margin-top: 30px;
}
.p-newsArticle__thumb img {
  width: 100%;
  height: auto;
}

.p-newsArticle__body {
  margin-top: 30px;
  line-height: 2;
}
.p-newsArticle__body > * + * {
  margin-top: 1.5em;
}
.p-newsArticle__body h2 {
  padding-bottom: 8px;
  border-bottom: 2px solid #1f5da3;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
}
.p-newsArticle__body h3 {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
}
.p-newsArticle__body a {
  color: #1f5da3;
  text-decoration: underline;
}
.p-newsArticle__body ul {
  padding-left: 1.2em;
  list-style: disc;
}
.p-newsArticle__body ol {
  padding-left: 1.4em;
  list-style: decimal;
}
.p-newsArticle__body table {
  width: 100%;
  border-collapse: collapse;
}
.p-newsArticle__body table th,
.p-newsArticle__body table td {
  padding: 10px;
  border: 1px solid #dddddd;
}

.p-newsNav {
  display: grid;
  width: fit-content;
  align-items: center;
  margin-top: 40px;
  margin-inline: auto;
  gap: 20px;
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
}
@media screen and (max-width: 767px) {
  .p-newsNav {
    width: 100%;
    gap: 20px 10px;
    grid-auto-flow: row;
    grid-template-columns: 1fr 1fr;
  }
}

.p-newsNav__side {
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-newsNav__side:first-child {
    grid-area: 1/1;
    text-align: left;
  }
}

@media screen and (max-width: 767px) {
  .p-newsNav__side:last-child {
    grid-area: 1/2;
    text-align: right;
  }
}

@media screen and (max-width: 767px) {
  .p-newsNav .p-newsNav__back {
    grid-area: 2/1/3/3;
    justify-self: center;
  }
}

.p-newsNav__link {
  color: #1f5da3;
  font-size: 14px;
  transition: opacity 0.2s;
}
.p-newsNav__link:hover {
  opacity: 0.6;
}

.p-newsNav__back {
  display: inline-flex;
  align-items: center;
  padding: 10px 30px;
  border-radius: 100vmax;
  background: #0b2b4f;
  color: #ffffff;
  font-size: 15px;
  font-weight: 700;
  transition: opacity 0.2s;
}
.p-newsNav__back:hover {
  opacity: 0.8;
}
@media screen and (max-width: 767px) {
  .p-newsNav__back {
    padding: 8px 20px;
    font-size: 14px;
  }
}

.p-newsPdf {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
}

.p-newsPdf__doc {
  width: min(480px, 100%, 600px * var(--pdf-cover-ratio, 1));
  margin: 0;
}

.p-newsPdf__meta {
  display: flex;
  width: 100%;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-top: 8px;
}
@media screen and (max-width: 767px) {
  .p-newsPdf__meta {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }
}

.p-newsPdf__hint {
  color: #666666;
  font-size: 13px;
  line-height: 1.6;
  letter-spacing: 0.04em;
  text-align: right;
  color: #1f5da3;
  text-align: left;
  text-decoration: underline;
}
@media (any-hover: hover) {
  .p-newsPdf__hint:hover {
    text-decoration: none;
  }
}

.p-newsPdf__caption {
  color: #666666;
  font-size: 13px;
  line-height: 1.6;
  letter-spacing: 0.04em;
  text-align: right;
}

.p-newsPdf__cover {
  position: relative;
  display: block;
  width: 100%;
}

.p-newsPdf__cover-overlay {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  background: rgba(0, 0, 0, 0.6);
  color: #ffffff;
  opacity: 0;
  transition: opacity 0.2s;
  pointer-events: none;
}

@media (any-hover: hover) {
  .p-newsPdf__cover:hover .p-newsPdf__cover-overlay {
    opacity: 1;
  }
}
.p-newsPdf__cover:focus-visible .p-newsPdf__cover-overlay {
  opacity: 1;
}

.p-newsPdf__cover-icon {
  width: 48px;
  height: 48px;
}
@media screen and (max-width: 767px) {
  .p-newsPdf__cover-icon {
    width: 36px;
    height: 36px;
  }
}

.p-newsPdf .c-dlBtn {
  width: auto;
  min-width: min(219px, 100%);
  max-width: 100%;
  color: #ffffff;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .p-newsPdf .c-dlBtn {
    width: 100%;
  }
}

.p-newsPdf__cover-img {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid #dddddd;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.p-searchHead {
  padding-block: 87px 69px;
  background: #f8fbff;
}
@media screen and (max-width: 767px) {
  .p-searchHead {
    padding-block: 10px 30px;
  }
}

.p-searchHead__title {
  color: #000000;
  font-size: 36px;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-searchHead__title {
    font-size: 20px;
  }
}

.p-searchBody {
  padding-block: 53px 100px;
  background: #f9f9f9;
}
@media screen and (max-width: 767px) {
  .p-searchBody {
    padding-block: 30px 60px;
  }
}

.p-searchForm {
  padding: 24px 30px 28px;
  border: 1px solid #e6e6e6;
  border-radius: 6px;
  background: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-searchForm {
    padding: 20px;
  }
}

.p-searchForm__title {
  color: #153a60;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-searchForm__title {
    font-size: 16px;
  }
}

.p-searchForm__form {
  display: flex;
  align-items: stretch;
  gap: 10px;
  margin-top: 14px;
}
@media screen and (max-width: 767px) {
  .p-searchForm__form {
    flex-direction: column;
  }
}

.p-searchForm__field {
  display: flex;
  flex: 1;
  min-width: 0;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border: 1px solid #626262;
  border-radius: 3px;
  color: #9a9a9a;
}

.p-searchForm__icon {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
}

.p-searchForm__input {
  flex: 1;
  min-width: 0;
  border: none;
  background: transparent;
  color: #000000;
  font-size: 15px;
}
.p-searchForm__input::placeholder {
  color: #9a9a9a;
}
.p-searchForm__input:focus {
  outline: none;
}

.p-searchForm__btn {
  padding-inline: 30px;
  border: none;
  border-radius: 3px;
  background: #a3241f;
  color: #ffffff;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  transition: opacity 0.2s;
}
@media screen and (max-width: 767px) {
  .p-searchForm__btn {
    padding-block: 12px;
  }
}
.p-searchForm__btn:hover {
  opacity: 0.8;
}

.p-searchResult {
  margin-top: 30px;
  padding: 24px 30px 40px;
  border: 1px solid #e6e6e6;
  border-radius: 6px;
  background: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-searchResult {
    margin-top: 20px;
    padding: 20px;
  }
}

.p-searchResult__head {
  padding-bottom: 12px;
  border-bottom: 1px solid #dddddd;
}

.p-searchResult__count {
  font-size: 14px;
}

.p-searchResult__count-keyword {
  font-weight: 700;
}

.p-searchResult__count-value {
  margin-inline: 4px;
  color: #007434;
  font-size: 20px;
  font-weight: 700;
}

.p-searchResult__empty {
  padding-block: 40px;
  font-size: 15px;
  line-height: 1.8;
  text-align: center;
}

.p-searchList__item {
  border-bottom: 1px dashed #9a9a9a;
}

.p-searchList__link {
  display: block;
  padding-block: 18px;
  color: #000000;
  transition: opacity 0.2s;
}
.p-searchList__link:hover {
  opacity: 0.6;
}

.p-searchList__meta {
  display: flex;
  align-items: center;
  gap: 16px;
}

.p-searchList__date {
  font-size: 15px;
}

.p-searchList__title {
  display: block;
  margin-top: 8px;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-searchList__title {
    font-size: 15px;
  }
}

.p-searchList__excerpt {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  margin-top: 6px;
  color: #333333;
  font-size: 14px;
  line-height: 1.7;
}

.p-searchList__type {
  display: inline-flex;
  align-items: center;
  padding: 2px 12px;
  border-radius: 100vmax;
  color: #ffffff;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
}
.p-searchList__type.--news {
  background: #ff9402;
}
.p-searchList__type.--oss {
  background: #0081d2;
}
.p-searchList__type.--obd {
  background: #0048b8;
}
.p-searchList__type.--page {
  background: #9a9a9a;
}
.p-searchList__type.--case {
  background: #0d3b66;
}
.p-searchList__type.--faq {
  background: #007434;
}

.p-searchPager {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  margin-top: 44px;
}

.p-searchPager__dots {
  color: #9a9a9a;
  font-size: 16px;
  line-height: 24px;
}

.p-searchPager__num {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  color: #1f5da3;
  font-size: 16px;
  line-height: 22px;
  transition: opacity 0.2s;
}
.p-searchPager__num:hover {
  opacity: 0.6;
}
.p-searchPager__num.--current {
  background: #1f5da3;
  color: #ffffff;
}

.p-searchPager__arrow {
  display: block;
  position: relative;
  width: 10px;
  height: 24px;
  transition: opacity 0.2s;
}
.p-searchPager__arrow.--prev {
  margin-right: 18px;
}
.p-searchPager__arrow.--next {
  margin-left: 18px;
}
.p-searchPager__arrow:hover {
  opacity: 0.6;
}
.p-searchPager__arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 8px;
  border-top: 2px solid #1f5da3;
  border-right: 2px solid #1f5da3;
}
.p-searchPager__arrow.--prev::after {
  translate: -30% -50%;
  rotate: -135deg;
}
.p-searchPager__arrow.--next::after {
  translate: -70% -50%;
  rotate: 45deg;
}

.p-fainesTrialScope__title, .p-fainesTrialFlow__title {
  padding-left: 14px;
  border-left: 5px solid #1f5da3;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-fainesTrialScope__title, .p-fainesTrialFlow__title {
    padding-left: 10px;
    border-left-width: 4px;
    font-size: 18px;
  }
}

.p-fainesTrialScope__link {
  color: #1f5da3;
}

.p-fainesTrialScope__link-icon {
  display: inline-block;
  width: 14px;
  height: 14px;
  margin-left: 5px;
  vertical-align: -0.12em;
}

.p-fainesTrialIntro {
  padding-top: 60px;
}
@media screen and (max-width: 767px) {
  .p-fainesTrialIntro {
    padding-top: 30px;
  }
}

.p-fainesTrialIntro__text {
  font-size: 16px;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-fainesTrialIntro__text {
    font-size: unset;
    line-height: 1.8;
  }
}
.p-fainesTrialIntro__text + .p-fainesTrialIntro__text {
  margin-top: 6px;
}

.p-fainesTrialFlow {
  margin-top: 56px;
}
@media screen and (max-width: 767px) {
  .p-fainesTrialFlow {
    margin-top: 36px;
  }
}

.p-fainesTrialFlow__inner {
  display: grid;
  grid-template-columns: minmax(0, 643fr) minmax(0, 509fr);
  column-gap: 48px;
  align-items: start;
  margin-top: 24px;
}
@media screen and (max-width: 767px) {
  .p-fainesTrialFlow__inner {
    grid-template-columns: 1fr;
    row-gap: 20px;
    margin-top: 18px;
  }
}

.p-fainesTrialSteps {
  padding: 32px 36px;
  border: 1px solid #dbe4f0;
  border-radius: 8px;
  background: #f4f8fc;
}
@media screen and (max-width: 767px) {
  .p-fainesTrialSteps {
    padding: 20px;
  }
}

.p-fainesTrialStep {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  column-gap: 16px;
  align-items: start;
}
@media screen and (max-width: 767px) {
  .p-fainesTrialStep {
    grid-template-columns: 30px minmax(0, 1fr);
    column-gap: 12px;
  }
}
.p-fainesTrialStep + .p-fainesTrialStep {
  margin-top: 22px;
}
@media screen and (max-width: 767px) {
  .p-fainesTrialStep + .p-fainesTrialStep {
    margin-top: 16px;
  }
}

.p-fainesTrialStep__num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 100vmax;
  background: #1f5da3;
  color: #ffffff;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-fainesTrialStep__num {
    width: 30px;
    height: 30px;
    font-size: 15px;
  }
}

.p-fainesTrialStep__body {
  padding-top: 6px;
}
@media screen and (max-width: 767px) {
  .p-fainesTrialStep__body {
    padding-top: 3px;
  }
}

.p-fainesTrialStep__text {
  font-size: 16px;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .p-fainesTrialStep__text {
    font-size: unset;
  }
}

.p-fainesTrialStep__hint {
  display: block;
  font-size: 13px;
}
@media screen and (max-width: 767px) {
  .p-fainesTrialStep__hint {
    font-size: 12px;
  }
}

.p-fainesTrialStep__btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 12px;
  padding: 10px 22px;
  border: 1px solid #1f5da3;
  border-radius: 8px;
  background: #1f5da3;
  color: #ffffff;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;
  transition: background-color 0.2s, color 0.2s;
}
@media screen and (max-width: 767px) {
  .p-fainesTrialStep__btn {
    font-size: 14px;
  }
}
.p-fainesTrialStep__btn:hover {
  background: #ffffff;
  color: #1f5da3;
}

.p-fainesTrialStep__btn-icon {
  width: 16px;
  height: 16px;
}

.p-fainesTrialCred {
  margin-top: 12px;
  padding: 16px 22px;
  border: 1px solid #dbe4f0;
  border-radius: 6px;
  background: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-fainesTrialCred {
    padding: 14px 16px;
  }
}

.p-fainesTrialCred__row {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  column-gap: 16px;
  align-items: baseline;
}
@media screen and (max-width: 767px) {
  .p-fainesTrialCred__row {
    grid-template-columns: 1fr;
    row-gap: 2px;
  }
}
.p-fainesTrialCred__row + .p-fainesTrialCred__row {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px dashed #dbe4f0;
}

.p-fainesTrialCred__label {
  font-size: 14px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-fainesTrialCred__label {
    font-size: 12px;
  }
}

.p-fainesTrialCred__data {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 14px;
}

.p-fainesTrialCred__copyWrap {
  position: relative;
  display: inline-block;
}

.p-fainesTrialCred__copy {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 4px 12px;
  border: 1px solid #dbe4f0;
  border-radius: 6px;
  background: #ffffff;
  cursor: pointer;
  transition: border-color 0.2s, background-color 0.2s;
}
.p-fainesTrialCred__copy:hover {
  border-color: #1f5da3;
  background: #f4f8fc;
}

.p-fainesTrialCred__copy-icon {
  width: 15px;
  height: 15px;
  color: #1f5da3;
}

.p-fainesTrialCred__value {
  color: #a3241f;
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.4;
  user-select: text;
}
@media screen and (max-width: 767px) {
  .p-fainesTrialCred__value {
    font-size: 17px;
  }
}

.p-fainesTrialCred__done {
  position: absolute;
  bottom: calc(100% + 6px);
  left: 50%;
  translate: -50% 0;
  padding: 3px 10px;
  border-radius: 4px;
  background: #0b2b4f;
  color: #ffffff;
  font-size: 12px;
  letter-spacing: 0.02em;
  line-height: 1.6;
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s, visibility 0.2s;
}
.p-fainesTrialCred__done.js-show {
  opacity: 1;
  visibility: visible;
}
.p-fainesTrialCred__done.is-error {
  background: #c0392b;
}

.p-fainesTrialCred__note {
  font-size: 13px;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-fainesTrialCred__note {
    font-size: 12px;
  }
}

.p-fainesTrialFlow__figure {
  text-align: center;
}
.p-fainesTrialFlow__figure img {
  display: block;
  width: 509px;
  max-width: 100%;
  height: auto;
  margin-inline: auto;
  border: 1px solid #dbe4f0;
}

.p-fainesTrialFlow__caption {
  margin-top: 10px;
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  .p-fainesTrialFlow__caption {
    font-size: 12px;
  }
}

.p-fainesTrialScope {
  margin-top: 56px;
}
@media screen and (max-width: 767px) {
  .p-fainesTrialScope {
    margin-top: 36px;
  }
}

.p-fainesTrialScope__cols {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin-top: 24px;
}
@media screen and (max-width: 767px) {
  .p-fainesTrialScope__cols {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-top: 16px;
  }
}

.p-fainesTrialScope__box {
  padding: 24px 28px;
  border: 1px solid;
  border-radius: 8px;
}
@media screen and (max-width: 767px) {
  .p-fainesTrialScope__box {
    padding: 18px;
  }
}

.p-fainesTrialScope__box--can {
  border-color: #dbe4f0;
  background: #f4f8fc;
}
.p-fainesTrialScope__box--can .p-fainesTrialScope__boxTitle {
  color: #1f5da3;
}

.p-fainesTrialScope__box--note {
  border-color: #c0392b;
  background: #fdf6f5;
}
.p-fainesTrialScope__box--note .p-fainesTrialScope__boxTitle {
  color: #c0392b;
}

.p-fainesTrialScope__boxTitle {
  font-size: 17px;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-fainesTrialScope__boxTitle {
    font-size: 15px;
  }
}

.p-fainesTrialScope__list {
  margin-top: 12px;
  font-size: 16px;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-fainesTrialScope__list {
    font-size: unset;
  }
}
.p-fainesTrialScope__list > li + li {
  margin-top: 6px;
}

.p-fainesTrialScope__link:hover .p-fainesTrialScope__link-text {
  text-decoration: none;
}

.p-fainesTrialScope__link-text {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.p-fainesTrialContact {
  margin-top: 56px;
  padding-bottom: 120px;
}
@media screen and (max-width: 767px) {
  .p-fainesTrialContact {
    margin-top: 36px;
    padding-bottom: 50px;
  }
}

.p-fainesTrialContact__box {
  padding: 28px 36px;
  border: 1px solid #dbe4f0;
  border-radius: 8px;
  background: #f4f8fc;
}
@media screen and (max-width: 767px) {
  .p-fainesTrialContact__box {
    padding: 20px;
  }
}

.p-fainesTrialContact__title {
  color: #1f5da3;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-fainesTrialContact__title {
    font-size: 16px;
  }
}

.p-fainesTrialContact__dept {
  margin-top: 10px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-fainesTrialContact__dept {
    font-size: unset;
  }
}

.p-fainesTrialContact__tels {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 40px;
  margin-top: 12px;
}
@media screen and (max-width: 767px) {
  .p-fainesTrialContact__tels {
    gap: 6px;
  }
}

.p-fainesTrialContact__row {
  display: flex;
  align-items: baseline;
  gap: 10px;
}

.p-fainesTrialContact__label {
  font-size: 14px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-fainesTrialContact__label {
    font-size: 12px;
  }
}

.p-fainesTrialContact__value {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .p-fainesTrialContact__value {
    font-size: 17px;
  }
}

.p-fainesTrialContact__tel {
  color: inherit;
}
.p-fainesTrialContact__tel:hover {
  opacity: 0.6;
}

.p-privacyNotice__title, .p-privacyItem__title, .p-privacyIntro__lead {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-privacyNotice__title, .p-privacyItem__title, .p-privacyIntro__lead {
    font-size: 17px;
  }
}

.p-privacyIntro {
  padding-top: 60px;
}
@media screen and (max-width: 767px) {
  .p-privacyIntro {
    padding-top: 30px;
  }
}

.p-privacyIntro__lead {
  padding-left: 14px;
  border-left: 5px solid #1f5da3;
}
@media screen and (max-width: 767px) {
  .p-privacyIntro__lead {
    padding-left: 10px;
    border-left-width: 4px;
  }
}

.p-privacyIntro__text {
  margin-top: 20px;
  font-size: 16px;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-privacyIntro__text {
    margin-top: 14px;
    font-size: unset;
    line-height: 1.8;
  }
}

.p-privacyPolicy {
  padding-block: 48px 120px;
}
@media screen and (max-width: 767px) {
  .p-privacyPolicy {
    padding-block: 28px 60px;
  }
}

.p-privacyList {
  counter-reset: privacy-item;
  list-style: none;
}

.p-privacyItem + .p-privacyItem {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .p-privacyItem + .p-privacyItem {
    margin-top: 28px;
  }
}

.p-privacyItem__title {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 8px;
  padding-bottom: 10px;
  border-bottom: 1px solid #dbe4f0;
}
.p-privacyItem__title::before {
  counter-increment: privacy-item;
  content: counter(privacy-item) ".";
  color: #1f5da3;
}

.p-privacyItem__body {
  margin-top: 16px;
  padding-left: 28px;
}
@media screen and (max-width: 767px) {
  .p-privacyItem__body {
    margin-top: 12px;
    padding-left: 16px;
  }
}

.p-privacyItem__text {
  font-size: 16px;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-privacyItem__text {
    font-size: unset;
    line-height: 1.8;
  }
}

.p-privacySubList {
  counter-reset: privacy-sub;
  list-style: none;
}

.p-privacySubItem {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 4px;
  font-size: 16px;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-privacySubItem {
    font-size: unset;
    line-height: 1.8;
  }
}
.p-privacySubItem::before {
  counter-increment: privacy-sub;
  content: "（" counter(privacy-sub) "）";
}
.p-privacySubItem + .p-privacySubItem {
  margin-top: 8px;
}

.p-privacySign {
  margin-top: 64px;
  padding: 32px 40px;
  background: #f4f8fc;
  border: 1px solid #dbe4f0;
}
@media screen and (max-width: 767px) {
  .p-privacySign {
    margin-top: 40px;
    padding: 20px;
  }
}

.p-privacySign__dates {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 32px;
  font-size: 15px;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-privacySign__dates {
    gap: 4px 20px;
    font-size: 14px;
  }
}

.p-privacySign__date {
  display: flex;
  gap: 10px;
}

.p-privacySign__date-label {
  font-weight: 700;
}

.p-privacySign__orgs {
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid #dbe4f0;
  list-style: none;
}
@media screen and (max-width: 767px) {
  .p-privacySign__orgs {
    margin-top: 16px;
    padding-top: 16px;
  }
}

.p-privacySign__org + .p-privacySign__org {
  margin-top: 16px;
}
@media screen and (max-width: 767px) {
  .p-privacySign__org + .p-privacySign__org {
    margin-top: 12px;
  }
}

.p-privacySign__org-name {
  font-size: 16px;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-privacySign__org-name {
    font-size: unset;
  }
}

.p-privacySign__org-person {
  margin-top: 4px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-privacySign__org-person {
    font-size: unset;
  }
}

.p-privacySign__org-title {
  display: inline-block;
  min-width: 4em;
  font-weight: 400;
}

.p-privacyNotice {
  margin-top: 64px;
}
@media screen and (max-width: 767px) {
  .p-privacyNotice {
    margin-top: 40px;
  }
}

.p-privacyNotice__title {
  padding-left: 14px;
  border-left: 5px solid #1f5da3;
}
@media screen and (max-width: 767px) {
  .p-privacyNotice__title {
    padding-left: 10px;
    border-left-width: 4px;
  }
}

.p-privacyNotice__text {
  margin-top: 20px;
  font-size: 16px;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-privacyNotice__text {
    margin-top: 14px;
    font-size: unset;
    line-height: 1.8;
  }
}
.p-privacyNotice__text a {
  color: #1f5da3;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: opacity 0.2s;
}
.p-privacyNotice__text a:hover {
  opacity: 0.6;
}

.p-customerHarassmentItem__title, .p-customerHarassmentIntro__lead {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-customerHarassmentItem__title, .p-customerHarassmentIntro__lead {
    font-size: 17px;
  }
}

.p-customerHarassmentIntro {
  padding-top: 60px;
}
@media screen and (max-width: 767px) {
  .p-customerHarassmentIntro {
    padding-top: 30px;
  }
}

.p-customerHarassmentIntro__lead {
  padding-left: 14px;
  border-left: 5px solid #1f5da3;
}
@media screen and (max-width: 767px) {
  .p-customerHarassmentIntro__lead {
    padding-left: 10px;
    border-left-width: 4px;
  }
}

.p-customerHarassmentIntro__text {
  margin-top: 20px;
  font-size: 16px;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-customerHarassmentIntro__text {
    margin-top: 14px;
    font-size: unset;
    line-height: 1.8;
  }
}

.p-customerHarassmentPolicy {
  padding-block: 48px 120px;
}
@media screen and (max-width: 767px) {
  .p-customerHarassmentPolicy {
    padding-block: 28px 60px;
  }
}

.p-customerHarassmentList {
  counter-reset: customer-harassment-item;
  list-style: none;
}

.p-customerHarassmentItem + .p-customerHarassmentItem {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .p-customerHarassmentItem + .p-customerHarassmentItem {
    margin-top: 28px;
  }
}

.p-customerHarassmentItem__title {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 8px;
  padding-bottom: 10px;
  border-bottom: 1px solid #dbe4f0;
}
.p-customerHarassmentItem__title::before {
  counter-increment: customer-harassment-item;
  content: counter(customer-harassment-item) ".";
  color: #1f5da3;
}

.p-customerHarassmentItem__body {
  margin-top: 16px;
  padding-left: 28px;
}
@media screen and (max-width: 767px) {
  .p-customerHarassmentItem__body {
    margin-top: 12px;
    padding-left: 16px;
  }
}

.p-customerHarassmentItem__text {
  font-size: 16px;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-customerHarassmentItem__text {
    font-size: unset;
    line-height: 1.8;
  }
}
.p-customerHarassmentItem__text + .p-customerHarassmentItem__text {
  margin-top: 12px;
}

.p-customerHarassmentSubList {
  margin-top: 16px;
  list-style: none;
}
@media screen and (max-width: 767px) {
  .p-customerHarassmentSubList {
    margin-top: 12px;
  }
}

.p-customerHarassmentSubItem {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 8px;
  font-size: 16px;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-customerHarassmentSubItem {
    font-size: unset;
    line-height: 1.8;
  }
}
.p-customerHarassmentSubItem::before {
  content: "〇";
  color: #1f5da3;
}
.p-customerHarassmentSubItem + .p-customerHarassmentSubItem {
  margin-top: 8px;
}

.p-houmonMaterials__title, .p-houmonAbout__title {
  padding-left: 14px;
  border-left: 5px solid #1f5da3;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-houmonMaterials__title, .p-houmonAbout__title {
    padding-left: 10px;
    border-left-width: 4px;
    font-size: 18px;
  }
}

.p-houmonIntro {
  padding-top: 60px;
}
@media screen and (max-width: 767px) {
  .p-houmonIntro {
    padding-top: 30px;
  }
}

.p-houmonIntro__text {
  font-size: 16px;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-houmonIntro__text {
    font-size: unset;
    line-height: 1.8;
  }
}
.p-houmonIntro__text + .p-houmonIntro__text {
  margin-top: 6px;
}

.p-houmonAbout {
  margin-top: 56px;
}
@media screen and (max-width: 767px) {
  .p-houmonAbout {
    margin-top: 36px;
  }
}

.p-houmonMaterials {
  margin-top: 56px;
  padding-bottom: 120px;
}
@media screen and (max-width: 767px) {
  .p-houmonMaterials {
    margin-top: 36px;
    padding-bottom: 50px;
  }
}

.p-houmonDocs {
  margin-top: 24px;
}
@media screen and (max-width: 767px) {
  .p-houmonDocs {
    margin-top: 16px;
  }
}
.p-houmonDocs > li + li {
  margin-top: 12px;
}
@media screen and (max-width: 767px) {
  .p-houmonDocs > li + li {
    margin-top: 10px;
  }
}

.p-houmonDoc__link {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  column-gap: 20px;
  align-items: start;
  padding: 20px 24px;
  border: 1px solid #dbe4f0;
  border-radius: 8px;
  background: #f4f8fc;
  color: #000000;
  transition: border-color 0.2s, background-color 0.2s;
}
@media screen and (max-width: 767px) {
  .p-houmonDoc__link {
    grid-template-columns: 1fr;
    row-gap: 8px;
    padding: 14px 16px;
  }
}
.p-houmonDoc__link:hover {
  border-color: #1f5da3;
  background: #eaf2fb;
}
.p-houmonDoc__link:hover .p-houmonDoc__title {
  text-decoration: none;
}

.p-houmonDoc__type {
  display: block;
  margin-top: 3px;
  padding: 3px 0;
  border-radius: 999px;
  color: #ffffff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.4;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-houmonDoc__type {
    width: 62px;
    margin-top: 0;
    font-size: 10px;
  }
}
.p-houmonDoc__type.--pdf {
  background: #ba1114;
}
.p-houmonDoc__type.--excel {
  background: #0e8231;
}
.p-houmonDoc__type.--external {
  background: #1f5da3;
}

.p-houmonDoc__body {
  display: block;
}

.p-houmonDoc__title {
  display: inline;
  margin-right: 24px;
  color: #1f5da3;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  text-decoration: underline;
  text-underline-offset: 3px;
}
@media screen and (max-width: 767px) {
  .p-houmonDoc__title {
    margin-right: 20px;
    font-size: 15px;
  }
}

.p-houmonDoc__desc {
  display: block;
  margin-top: 4px;
  font-size: 14px;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .p-houmonDoc__desc {
    font-size: 13px;
  }
}

.p-houmonDoc__meta {
  color: #546e7a;
  font-size: 13px;
}
@media screen and (max-width: 767px) {
  .p-houmonDoc__meta {
    font-size: 12px;
  }
}
.p-houmonDoc__meta::before {
  content: "（";
}
.p-houmonDoc__meta::after {
  content: "）";
}

.p-houmonDoc__icon {
  display: inline-block;
  width: 18px;
  height: 18px;
  margin-left: -18px;
  vertical-align: -3px;
  color: #1f5da3;
}
@media screen and (max-width: 767px) {
  .p-houmonDoc__icon {
    width: 15px;
    height: 15px;
    margin-left: -15px;
    vertical-align: -2px;
  }
}

.p-jukenIntro {
  padding-top: 60px;
}
@media screen and (max-width: 767px) {
  .p-jukenIntro {
    padding-top: 30px;
  }
}

.p-jukenIntro__text {
  font-size: 16px;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-jukenIntro__text {
    font-size: unset;
    line-height: 1.8;
  }
}

.p-jukenForms {
  margin-top: 56px;
}
@media screen and (max-width: 767px) {
  .p-jukenForms {
    margin-top: 36px;
  }
}

.p-jukenForms__title {
  padding-left: 14px;
  border-left: 5px solid #1f5da3;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-jukenForms__title {
    padding-left: 10px;
    border-left-width: 4px;
    font-size: 18px;
  }
}

.p-jukenDocs {
  margin-top: 24px;
}
@media screen and (max-width: 767px) {
  .p-jukenDocs {
    margin-top: 16px;
  }
}
.p-jukenDocs > li + li {
  margin-top: 12px;
}
@media screen and (max-width: 767px) {
  .p-jukenDocs > li + li {
    margin-top: 10px;
  }
}

.p-jukenDoc__link {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  column-gap: 20px;
  align-items: start;
  padding: 20px 24px;
  border: 1px solid #dbe4f0;
  border-radius: 8px;
  background: #f4f8fc;
  color: #000000;
  transition: border-color 0.2s, background-color 0.2s;
}
@media screen and (max-width: 767px) {
  .p-jukenDoc__link {
    grid-template-columns: 1fr;
    row-gap: 8px;
    padding: 14px 16px;
  }
}
.p-jukenDoc__link:hover {
  border-color: #1f5da3;
  background: #eaf2fb;
}
.p-jukenDoc__link:hover .p-jukenDoc__title {
  text-decoration: none;
}

.p-jukenDoc__type {
  display: block;
  margin-top: 3px;
  padding: 3px 0;
  border-radius: 999px;
  color: #ffffff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.4;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-jukenDoc__type {
    width: 62px;
    margin-top: 0;
    font-size: 10px;
  }
}
.p-jukenDoc__type.--pdf {
  background: #ba1114;
}
.p-jukenDoc__type.--excel {
  background: #0e8231;
}
.p-jukenDoc__type.--word {
  background: #0172b8;
}

.p-jukenDoc__body {
  display: block;
}

.p-jukenDoc__title {
  display: inline;
  margin-right: 24px;
  color: #1f5da3;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  text-decoration: underline;
  text-underline-offset: 3px;
}
@media screen and (max-width: 767px) {
  .p-jukenDoc__title {
    margin-right: 20px;
    font-size: 15px;
  }
}

.p-jukenDoc__desc {
  display: block;
  margin-top: 4px;
  font-size: 14px;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .p-jukenDoc__desc {
    font-size: 13px;
  }
}

.p-jukenDoc__meta {
  color: #546e7a;
  font-size: 13px;
}
@media screen and (max-width: 767px) {
  .p-jukenDoc__meta {
    font-size: 12px;
  }
}
.p-jukenDoc__meta::before {
  content: "（";
}
.p-jukenDoc__meta::after {
  content: "）";
}

.p-jukenDoc__icon {
  display: inline-block;
  width: 18px;
  height: 18px;
  margin-left: -18px;
  vertical-align: -3px;
  color: #1f5da3;
}
@media screen and (max-width: 767px) {
  .p-jukenDoc__icon {
    width: 15px;
    height: 15px;
    margin-left: -15px;
    vertical-align: -2px;
  }
}

.p-jukenContact {
  margin-top: 56px;
  padding-bottom: 120px;
}
@media screen and (max-width: 767px) {
  .p-jukenContact {
    margin-top: 36px;
    padding-bottom: 50px;
  }
}

.p-jukenContact__box {
  padding: 28px 36px;
  border: 1px solid #dbe4f0;
  border-radius: 8px;
  background: #f4f8fc;
}
@media screen and (max-width: 767px) {
  .p-jukenContact__box {
    padding: 20px;
  }
}

.p-jukenContact__title {
  color: #1f5da3;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-jukenContact__title {
    font-size: 16px;
  }
}

.p-jukenContact__tels {
  margin-top: 12px;
}

.p-jukenContact__row {
  display: flex;
  align-items: baseline;
  gap: 10px;
}

.p-jukenContact__label {
  font-size: 14px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-jukenContact__label {
    font-size: 13px;
  }
}

.p-jukenContact__tel {
  color: #000000;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-jukenContact__tel {
    font-size: 18px;
  }
}

.p-kodomoReport__title, .p-kodomoGuideline__title {
  padding-left: 14px;
  border-left: 5px solid #1f5da3;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-kodomoReport__title, .p-kodomoGuideline__title {
    padding-left: 10px;
    border-left-width: 4px;
    font-size: 18px;
  }
}

.p-kodomoIntro {
  padding-top: 60px;
}
@media screen and (max-width: 767px) {
  .p-kodomoIntro {
    padding-top: 30px;
  }
}

.p-kodomoIntro__body {
  display: flex;
  align-items: center;
  gap: 40px;
}
@media screen and (max-width: 767px) {
  .p-kodomoIntro__body {
    flex-direction: column;
    align-items: center;
    gap: 24px;
  }
}

.p-kodomoIntro__main {
  flex: 1;
  min-width: 0;
}

.p-kodomoIntro__logo {
  max-width: 601px;
}
.p-kodomoIntro__logo img {
  width: 100%;
  height: auto;
}

.p-kodomoIntro__catch {
  margin-top: 24px;
  color: #1f5da3;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-kodomoIntro__catch {
    margin-top: 20px;
    font-size: 17px;
  }
}

.p-kodomoIntro__text {
  margin-top: 16px;
  font-size: 16px;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-kodomoIntro__text {
    font-size: unset;
    line-height: 1.8;
  }
}

.p-kodomoIntro__flag {
  flex-shrink: 0;
  width: 216px;
  padding: 18px;
  border: 1px solid #dbe4f0;
  border-radius: 8px;
  background: #f4f8fc;
  text-align: center;
}
.p-kodomoIntro__flag img {
  width: 108px;
  height: auto;
  margin: 0 auto;
}

.p-kodomoIntro__flagCaption {
  margin-top: 12px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0;
}

.p-kodomoGuideline {
  margin-top: 56px;
}
@media screen and (max-width: 767px) {
  .p-kodomoGuideline {
    margin-top: 36px;
  }
}

.p-kodomoGuideline__lead {
  font-size: 16px;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-kodomoGuideline__lead {
    font-size: unset;
    line-height: 1.8;
  }
}

.p-kodomoGuideline__title {
  margin-top: 28px;
}
@media screen and (max-width: 767px) {
  .p-kodomoGuideline__title {
    margin-top: 20px;
  }
}

.p-kodomoGuideline__enacted {
  margin-top: 16px;
  font-size: 13px;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .p-kodomoGuideline__enacted {
    font-size: 12px;
  }
}

.p-kodomoRules {
  counter-reset: kodomo-rule;
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .p-kodomoRules {
    margin-top: 16px;
  }
}

.p-kodomoRule {
  counter-increment: kodomo-rule;
  position: relative;
  padding-left: 40px;
}
@media screen and (max-width: 767px) {
  .p-kodomoRule {
    padding-left: 32px;
  }
}
.p-kodomoRule + .p-kodomoRule {
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .p-kodomoRule + .p-kodomoRule {
    margin-top: 16px;
  }
}
.p-kodomoRule::before {
  content: counter(kodomo-rule);
  position: absolute;
  top: 3px;
  left: 0;
  display: flex;
  width: 26px;
  height: 26px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #1f5da3;
  color: #ffffff;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .p-kodomoRule::before {
    top: 2px;
    width: 22px;
    height: 22px;
    font-size: 12px;
  }
}

.p-kodomoRule__head {
  display: block;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-kodomoRule__head {
    font-size: 15px;
  }
}

.p-kodomoRule__text {
  font-size: 16px;
  line-height: 1.9;
}
@media screen and (max-width: 767px) {
  .p-kodomoRule__text {
    font-size: unset;
    line-height: 1.8;
  }
}
.p-kodomoRule__head + .p-kodomoRule__text {
  margin-top: 4px;
}

.p-kodomoNotes {
  margin-top: 10px;
  padding: 14px 18px;
  border-radius: 8px;
  background: #f4f8fc;
}
@media screen and (max-width: 767px) {
  .p-kodomoNotes {
    padding: 12px 14px;
  }
}

.p-kodomoNotes__row {
  display: flex;
  gap: 14px;
  font-size: 14px;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-kodomoNotes__row {
    flex-direction: column;
    gap: 2px;
    font-size: 13px;
  }
}
.p-kodomoNotes__row + .p-kodomoNotes__row {
  margin-top: 8px;
}

.p-kodomoNotes__label {
  flex-shrink: 0;
  font-weight: 700;
}

.p-kodomoReport {
  margin-top: 56px;
}
@media screen and (max-width: 767px) {
  .p-kodomoReport {
    margin-top: 36px;
  }
}

.p-kodomoReport__text {
  margin-top: 16px;
  font-size: 16px;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-kodomoReport__text {
    margin-top: 12px;
    font-size: unset;
    line-height: 1.8;
  }
}
.p-kodomoReport__text + .p-kodomoReport__text {
  margin-top: 6px;
}

.p-kodomoReport__items {
  counter-reset: kodomo-item;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 12px;
  margin-top: 16px;
}

.p-kodomoReport__item {
  counter-increment: kodomo-item;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 18px;
  border: 1px solid #dbe4f0;
  border-radius: 999px;
  background: #f4f8fc;
  font-size: 15px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-kodomoReport__item {
    padding: 6px 14px;
    font-size: 13px;
  }
}
.p-kodomoReport__item::before {
  content: counter(kodomo-item);
  color: #1f5da3;
  font-size: 13px;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .p-kodomoReport__item::before {
    font-size: 12px;
  }
}

.p-kodomoReport__actions {
  margin-top: 24px;
}
@media screen and (max-width: 767px) {
  .p-kodomoReport__actions {
    margin-top: 18px;
  }
}
.p-kodomoReport__actions .c-dlBtn {
  width: auto;
  max-width: 100%;
  padding-right: 24px;
}

.p-kodomoExample {
  margin-top: 24px;
  padding: 20px 24px;
  border: 1px solid #efe1c4;
  border-radius: 8px;
  background: #fffbf2;
}
@media screen and (max-width: 767px) {
  .p-kodomoExample {
    margin-top: 18px;
    padding: 14px 16px;
  }
}

.p-kodomoExample__label {
  font-size: 14px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-kodomoExample__label {
    font-size: 13px;
  }
}

.p-kodomoExample__text {
  margin-top: 6px;
  font-size: 15px;
  line-height: 1.9;
}
@media screen and (max-width: 767px) {
  .p-kodomoExample__text {
    font-size: 13px;
    line-height: 1.8;
  }
}

.p-kodomoContact {
  margin-top: 56px;
  padding-bottom: 120px;
}
@media screen and (max-width: 767px) {
  .p-kodomoContact {
    margin-top: 36px;
    padding-bottom: 50px;
  }
}

.p-kodomoContact__box {
  padding: 28px 36px;
  border: 1px solid #dbe4f0;
  border-radius: 8px;
  background: #f4f8fc;
}
@media screen and (max-width: 767px) {
  .p-kodomoContact__box {
    padding: 20px;
  }
}

.p-kodomoContact__title {
  color: #1f5da3;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-kodomoContact__title {
    font-size: 16px;
  }
}

.p-kodomoContact__dept {
  margin-top: 10px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-kodomoContact__dept {
    font-size: unset;
  }
}

.p-kodomoContact__tels {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 40px;
  margin-top: 12px;
}
@media screen and (max-width: 767px) {
  .p-kodomoContact__tels {
    gap: 6px;
  }
}

.p-kodomoContact__row {
  display: flex;
  align-items: baseline;
  gap: 10px;
}

.p-kodomoContact__label {
  font-size: 14px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-kodomoContact__label {
    font-size: 13px;
  }
}

.p-kodomoContact__value {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-kodomoContact__value {
    font-size: 18px;
  }
}

.p-login {
  background: #edf4fa;
}

.p-loginForm {
  padding-block: 73px 100px;
}
@media screen and (max-width: 767px) {
  .p-loginForm {
    padding-block: 0 40px;
  }
}

.p-loginForm__card {
  max-width: 560px;
  margin-inline: auto;
  padding: 50px 50px 45px;
  background: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-loginForm__card {
    padding: 30px 20px;
    width: 100vw;
    max-width: none;
    margin-inline: calc(50% - 50vw);
  }
}

.p-loginForm__lead {
  font-size: 15px;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .p-loginForm__lead {
    font-size: unset;
  }
}

.p-loginForm__field {
  margin-top: 28px;
}
@media screen and (max-width: 767px) {
  .p-loginForm__field {
    margin-top: 20px;
  }
}

.p-loginForm__label {
  display: block;
  font-size: 15px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-loginForm__label {
    font-size: unset;
  }
}

.p-loginForm__required {
  margin-left: 6px;
  padding: 2px 6px;
  background: #ae2417;
  color: #ffffff;
  font-size: 11px;
  font-weight: 700;
  vertical-align: 2px;
}

.p-loginForm__input {
  display: block;
  width: 100%;
  margin-top: 5px;
  padding: 12px;
  border: 1px solid #c0c0c0;
  background: #ffffff;
  font-size: 15px;
}
@media screen and (max-width: 767px) {
  .p-loginForm__input {
    font-size: unset;
  }
}
.p-loginForm__input:focus-visible {
  outline: 2px solid #0081d2;
  outline-offset: -1px;
}
.p-loginForm__input:-webkit-autofill, .p-loginForm__input:-webkit-autofill:hover, .p-loginForm__input:-webkit-autofill:focus {
  -webkit-text-fill-color: #000000;
  -webkit-box-shadow: 0 0 0 1000px #ffffff inset;
  box-shadow: 0 0 0 1000px #ffffff inset;
  transition: background-color 9999s ease-in-out 0s;
}

.p-loginForm__note {
  margin-top: 6px;
  color: #9a9a9a;
  font-size: 12px;
  line-height: 1.5;
}

.p-loginForm__option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .p-loginForm__option {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
}

.p-loginForm__keep {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  cursor: pointer;
}

.p-loginForm__checkbox {
  width: 16px;
  height: 16px;
  accent-color: #0081d2;
}

.p-loginForm__forgot {
  color: #1f69cd;
  font-size: 14px;
  text-decoration: underline;
  transition: opacity 0.2s;
}
.p-loginForm__forgot:hover {
  opacity: 0.6;
}

.p-loginForm__errors {
  margin-top: 18px;
  padding: 10px 12px;
  border-left: 3px solid #c62828;
  background: #fffafa;
  color: #c62828;
  font-size: 14px;
  line-height: 1.6;
}

.p-loginForm__submit {
  margin-top: 26px;
  text-align: center;
}

.p-loginForm__button {
  display: block;
  width: min(353px, 100%);
  margin-inline: auto;
  padding-block: 14px;
  background: #0081d2;
  color: #ffffff;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  transition: opacity 0.2s;
}
.p-loginForm__button:hover {
  opacity: 0.6;
}
.p-loginForm__button:disabled {
  background: #9a9a9a;
  cursor: default;
}
.p-loginForm__button:disabled:hover {
  opacity: 1;
}

.p-loginForm__foot {
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid #c0c0c0;
  text-align: center;
}

.p-loginForm__footText {
  font-size: 14px;
  line-height: 1.7;
  text-align: left;
}

.p-loginForm__footLink {
  display: inline-block;
  margin-top: 12px;
  color: #1f69cd;
  font-size: 14px;
  font-weight: 700;
  text-decoration: underline;
  transition: opacity 0.2s;
}
.p-loginForm__footLink:hover {
  opacity: 0.6;
}

.c-memberModal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
  overflow-y: auto;
  background: rgba(0, 0, 0, 0.45);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
@media screen and (max-width: 767px) {
  .c-memberModal {
    padding: 20px 15px;
  }
}

.c-memberModal__panel {
  position: relative;
  width: 100%;
  max-width: 480px;
  margin-block: auto;
  padding: 40px 40px 32px;
  background: #ffffff;
}
@media screen and (max-width: 767px) {
  .c-memberModal__panel {
    padding: 30px 20px 24px;
  }
}

.c-memberModal__close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 32px;
  height: 32px;
  cursor: pointer;
  transition: opacity 0.2s;
}
.c-memberModal__close:hover {
  opacity: 0.6;
}
.c-memberModal__close::before, .c-memberModal__close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 1px;
  background: #000000;
}
.c-memberModal__close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.c-memberModal__close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.c-memberModal__en {
  color: #0081d2;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1;
}

.c-memberModal__title {
  margin-top: 8px;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .c-memberModal__title {
    font-size: 20px;
  }
}

.c-memberModal__lead {
  margin-top: 14px;
  font-size: 14px;
  line-height: 1.7;
}

.c-memberModal__field {
  margin-top: 20px;
}

.c-memberModal__label {
  display: block;
  font-size: 14px;
  font-weight: 700;
}

.c-memberModal__required {
  margin-left: 6px;
  padding: 2px 6px;
  background: #ae2417;
  color: #ffffff;
  font-size: 11px;
  font-weight: 700;
  vertical-align: 2px;
}

.c-memberModal__input {
  display: block;
  width: 100%;
  margin-top: 5px;
  padding: 12px;
  border: 1px solid #c0c0c0;
  background: #ffffff;
  font-size: 15px;
}
@media screen and (max-width: 767px) {
  .c-memberModal__input {
    font-size: unset;
  }
}
.c-memberModal__input:focus-visible {
  outline: 2px solid #0081d2;
  outline-offset: -1px;
}
.c-memberModal__input:-webkit-autofill, .c-memberModal__input:-webkit-autofill:hover, .c-memberModal__input:-webkit-autofill:focus {
  -webkit-text-fill-color: #000000;
  -webkit-box-shadow: 0 0 0 1000px #ffffff inset;
  box-shadow: 0 0 0 1000px #ffffff inset;
  transition: background-color 9999s ease-in-out 0s;
}

.c-memberModal__option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 16px;
}
@media screen and (max-width: 767px) {
  .c-memberModal__option {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
}

.c-memberModal__keep {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  cursor: pointer;
}

.c-memberModal__checkbox {
  width: 16px;
  height: 16px;
  accent-color: #0081d2;
}

.c-memberModal__forgot {
  color: #1f69cd;
  font-size: 14px;
  text-decoration: underline;
  transition: opacity 0.2s;
}
.c-memberModal__forgot:hover {
  opacity: 0.6;
}

.c-memberModal__errors {
  margin-top: 16px;
  padding: 10px 12px;
  border-left: 3px solid #c62828;
  background: #fffafa;
  color: #c62828;
  font-size: 14px;
  line-height: 1.6;
}

.c-memberModal__submit {
  margin-top: 22px;
}

.c-memberModal__button {
  display: block;
  width: 100%;
  padding-block: 14px;
  text-align: center;
  background: #0081d2;
  color: #ffffff;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  transition: opacity 0.2s;
}
.c-memberModal__button:hover {
  opacity: 0.6;
}
.c-memberModal__button:disabled {
  background: #9a9a9a;
  cursor: default;
}
.c-memberModal__button:disabled:hover {
  opacity: 1;
}

.c-memberDone {
  margin-top: 20px;
  padding: 16px 18px;
  border-left: 3px solid #0081d2;
  background: #edf4fa;
}
.c-memberDone:focus {
  outline: none;
}

.c-memberDone__title {
  color: #0081d2;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
}

.c-memberDone__text {
  margin-top: 4px;
  font-size: 14px;
  line-height: 1.6;
}

.c-memberModal__foot {
  margin-top: 24px;
  padding-top: 18px;
  border-top: 1px solid #c0c0c0;
}

.c-memberModal__footText {
  font-size: 13px;
  line-height: 1.7;
}

.c-memberModal__footLink {
  display: inline-block;
  margin-top: 8px;
  color: #1f69cd;
  font-size: 13px;
  font-weight: 700;
  text-decoration: underline;
  transition: opacity 0.2s;
}
.c-memberModal__footLink:hover {
  opacity: 0.6;
}

.c-memberModal__back {
  display: block;
  margin-top: 14px;
  color: #9a9a9a;
  font-size: 13px;
  text-decoration: underline;
  transition: opacity 0.2s;
}
.c-memberModal__back:hover {
  opacity: 0.6;
}

.p-memberGate__skeleton {
  padding-block: 60px 100px;
}
@media screen and (max-width: 767px) {
  .p-memberGate__skeleton {
    padding-block: 30px 50px;
  }
}

.p-memberGate__block {
  padding: 30px;
  background: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-memberGate__block {
    padding: 20px;
  }
}

.p-memberGate__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .p-memberGate__cards {
    grid-template-columns: 1fr;
    gap: 15px;
    margin-top: 15px;
  }
}

.p-memberGate__card {
  padding: 24px;
  background: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-memberGate__card {
    padding: 20px;
  }
}

.p-memberGate__bar {
  display: block;
  height: 12px;
  border-radius: 6px;
  background: #c0c0c0;
}
.p-memberGate__bar + .p-memberGate__bar {
  margin-top: 12px;
}
.p-memberGate__bar.--title {
  height: 18px;
  width: 60%;
}
.p-memberGate__bar.--short {
  width: 40%;
}

.p-sitemapList {
  padding-block: 60px 120px;
}
@media screen and (max-width: 767px) {
  .p-sitemapList {
    padding-block: 30px 60px;
  }
}

.p-sitemapGrid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 24px;
}
@media screen and (max-width: 767px) {
  .p-sitemapGrid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

.p-sitemapGroup {
  padding: 28px 28px 24px;
  border: 1px solid #dbe4f0;
  border-radius: 10px;
  background: #f4f8fc;
}
@media screen and (max-width: 767px) {
  .p-sitemapGroup {
    padding: 20px 20px 16px;
  }
}

.p-sitemapGroup__title {
  padding-bottom: 12px;
  border-bottom: 2px solid #1f5da3;
  color: #1f5da3;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-sitemapGroup__title {
    padding-bottom: 10px;
    font-size: 15px;
  }
}

.p-sitemapGroup__list {
  margin-top: 4px;
}

.p-sitemapGroup__list > li + li {
  margin-top: 2px;
}

.p-sitemapGroup__link {
  position: relative;
  display: block;
  padding: 10px 28px 10px 4px;
  border-radius: 6px;
  color: #000000;
  font-size: 15px;
  line-height: 1.6;
  transition: background-color 0.2s, color 0.2s;
}
@media screen and (max-width: 767px) {
  .p-sitemapGroup__link {
    font-size: 14px;
  }
}
.p-sitemapGroup__link::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 6px;
  width: 14px;
  height: 14px;
  translate: 0 -50%;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h13'/%3E%3Cpath d='m13 6 6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h13'/%3E%3Cpath d='m13 6 6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;
  opacity: 0.45;
}
.p-sitemapGroup__link:hover {
  background: #eaf2fb;
  color: #1f5da3;
}
.p-sitemapGroup__link.--external::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4h6v6'/%3E%3Cpath d='M20 4 10 14'/%3E%3Cpath d='M18 13v6a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h6'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4h6v6'/%3E%3Cpath d='M20 4 10 14'/%3E%3Cpath d='M18 13v6a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h6'/%3E%3C/svg%3E");
  width: 12px;
  height: 12px;
}

.p-pageBody {
  padding-block: 60px 100px;
}
@media screen and (max-width: 767px) {
  .p-pageBody {
    padding-block: 30px 60px;
  }
}

.p-notFoundBody {
  padding-block: 80px 120px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-notFoundBody {
    padding-block: 40px 60px;
  }
}

.p-notFoundBody__code {
  color: #1f5da3;
  font-size: 80px;
  font-weight: 700;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .p-notFoundBody__code {
    font-size: 50px;
  }
}

.p-notFoundBody__title {
  margin-top: 10px;
  color: #000000;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-notFoundBody__title {
    font-size: 20px;
  }
}

.p-notFoundBody__text {
  margin-top: 20px;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-notFoundBody__text {
    font-size: 14px;
  }
}

.p-notFoundBody__link {
  display: inline-flex;
  align-items: center;
  margin-top: 40px;
  padding: 14px 40px;
  border-radius: 100vmax;
  background: #0b2b4f;
  color: #ffffff;
  font-size: 15px;
  font-weight: 700;
  transition: opacity 0.2s;
}
.p-notFoundBody__link:hover {
  opacity: 0.8;
}
@media screen and (max-width: 767px) {
  .p-notFoundBody__link {
    margin-top: 30px;
    padding: 10px 30px;
    font-size: 14px;
  }
}