@charset "UTF-8";
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  height: 100%;
  font-size: 100%;
}

body {
  min-height: 100%;
  font-size: 1rem;
  line-height: 1;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}

:where(img, svg, video, canvas, audio, iframe) {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

:where(ul[class], ol[class]) {
  list-style: none;
}

:where(input, button, textarea, select),
:where(input[type=file])::-webkit-file-upload-button {
  font: inherit;
  color: inherit;
}

:where(input[type=file]) {
  cursor: auto;
}

:where(input[type=file])::-webkit-file-upload-button,
:where(input[type=file])::file-selector-button {
  cursor: pointer;
}

:where(button, [role=button]) {
  touch-action: manipulation;
}

:where(textarea) {
  resize: vertical;
  min-block-size: 3lh;
}

:where(a, button, label, summary, [tabindex]:not([tabindex*="-"])) {
  color: inherit;
  text-decoration: none;
}

:where(a, button, label:has(input), summary, [tabindex]:not([tabindex*="-"]):not([role=tabpanel])) {
  cursor: pointer;
}

:where(button, input, select, textarea)[disabled] {
  cursor: not-allowed;
}

:where(a:not([class])) {
  text-decoration: underline;
  text-decoration-skip-ink: auto;
}

:where(sub, sup) {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

:where(sub) {
  bottom: -0.25em;
}

:where(sup) {
  top: -0.5em;
}

:where(em, b, strong) {
  font-weight: bold;
}

:where(p, h1, h2, h3, h4, h5, h6) {
  overflow-wrap: break-word;
}

:where(p) {
  text-wrap: pretty;
}

:where(table) {
  width: 100%;
  border-collapse: collapse;
}

:focus:not(:focus-visible) {
  outline: none;
}

:focus-visible {
  outline-width: 2px;
  outline-offset: 2px;
}
@media (prefers-reduced-motion: no-preference) {
  :focus-visible {
    transition: outline-offset 145ms cubic-bezier(0.25, 0, 0.4, 1);
  }
}

@media (prefers-reduced-motion: reduce) {
  *, ::before, ::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
:where([hidden]) {
  display: none;
}

summary::marker, summary::-webkit-details-marker {
  display: none;
}

:root {
  interpolate-size: allow-keywords;
}

body {
  color: #2e363b;
  font-family: "Noto Sans JP", "Yu Gothic", "YuGothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  font-optical-sizing: auto;
  font-style: normal;
  line-height: 1.5;
}

:where(a, button, input[type=submit], input[type=reset], input[type=button]) {
  transition: 0.3s ease;
}
@media (hover: hover) {
  :where(a, button, input[type=submit], input[type=reset], input[type=button]):hover {
    opacity: 0.7;
  }
}

:where(p) {
  line-height: 1.75;
}
:where(p) + :where(p) {
  margin-top: 1.5em;
}

::placeholder {
  color: #e0e1e1;
}

:is(input[type=text], input[type=email], input[type=tel], textarea) {
  width: 100%;
  padding: 8px 12px;
  border: 1px solid #bbbcbc;
  background: #f4f4f4;
}

.u-text-main {
  color: #1072af;
}
.u-text-blue {
  color: #2D76C4;
}
.u-text-turquoise {
  color: #3DB8CA;
}
.u-text-purple {
  color: #8B8DC4;
}
.u-text-yellow {
  color: #FFF100;
}
.u-text-caution {
  color: #E60012;
}
.u-text-justify4 {
  display: inline-block;
  min-width: min(4em, 100%);
  text-align: justify;
  text-align-last: justify;
}
.u-text-center {
  text-align: center;
}
.u-bg-sky {
  position: relative;
}
.u-bg-sky:before {
  position: absolute;
  display: block;
  content: "";
  inset: 0;
  z-index: -2;
  background-color: #E7F5FC;
}
.u-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
  pointer-events: none;
}

.is-navOpen {
  overflow: hidden;
}
.is-hidden {
  display: none !important;
}

.c-title {
  font-weight: 700;
  line-height: 1.45;
}
.c-title--skin01 {
  display: grid;
  gap: 8px;
  margin-bottom: 20px;
  font-size: 1.4375rem;
}
.c-title--skin01 .c-title__ja {
  font-size: 1.4375rem;
}
.c-title--skin02 {
  margin-bottom: 36px;
  color: #3c77cb;
  font-size: 1.875rem;
  text-align: center;
}
.c-title--skin03 {
  display: grid;
  gap: 12px;
  margin-bottom: 56px;
  font-weight: 700;
}
.c-title--skin03 + .c-lead {
  margin-top: -36px;
  margin-bottom: 60px;
}
.c-title__en {
  font-family: "Roboto", "Noto Sans JP", "Yu Gothic", "YuGothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
  color: #2D76C4;
  font-size: 1.25rem;
  font-weight: 900;
}
.c-title__ja {
  font-size: 1.5625rem;
  letter-spacing: 0.04em;
  line-height: 1.7;
}
.c-pagetitle {
  display: grid;
}
.c-pagetitle__en {
  font-size: 2.375rem;
  font-weight: 700;
}
.c-pagetitle__ja {
  font-size: 1.1875rem;
  font-weight: 400;
}
.c-button {
  overflow: hidden;
  position: relative;
  z-index: 1;
  display: inline-flex;
  justify-content: start;
  align-items: center;
  max-width: 100%;
  min-width: min(246px, 100%);
  padding: 16px 24px;
  border: 1px solid transparent;
  border-radius: 10em;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.36;
  cursor: pointer;
}
.c-button--outline {
  border-color: #2e363b;
  background-color: #fff;
  color: #2e363b;
}
.c-button--outline::before {
  position: absolute;
  inset: 0 auto 0 0;
  z-index: -1;
  width: 0%;
  display: block;
  content: "";
  background-color: #f07902;
  transition: all 0.3s ease;
}
.c-button--outline {
  transition: 0.3s ease;
}
@media (hover: hover) {
  .c-button--outline:hover {
    opacity: 1;
    border-color: #f07902;
    color: #fff;
  }
  .c-button--outline:hover::before {
    width: 100%;
  }
}
.c-button--orange {
  border-color: #f07902;
  background-color: #f07902;
  color: #fff;
}
.c-button--orange::before {
  position: absolute;
  inset: 0 auto 0 0;
  z-index: -1;
  width: 0%;
  display: block;
  content: "";
  background-color: #fff;
  transition: all 0.3s ease;
}
.c-button--orange {
  transition: 0.3s ease;
}
@media (hover: hover) {
  .c-button--orange:hover {
    opacity: 1;
    border-color: #2e363b;
    color: #2e363b;
  }
  .c-button--orange:hover::before {
    width: 100%;
  }
}
.c-button--white {
  border-color: #fff;
  background-color: #fff;
  color: #2D76C4;
}
.c-button--white::before {
  position: absolute;
  inset: 0 auto 0 0;
  z-index: -1;
  width: 0%;
  display: block;
  content: "";
  background-color: #2D76C4;
  transition: all 0.3s ease;
}
.c-button--white {
  transition: 0.3s ease;
}
@media (hover: hover) {
  .c-button--white:hover {
    opacity: 1;
    border-color: transparent;
    color: #fff;
  }
  .c-button--white:hover::before {
    width: 100%;
  }
}
.c-button--yellow {
  border-color: #ffef55;
  background-color: #ffef55;
  color: #46a8db;
}
.c-button--yellow::before {
  position: absolute;
  inset: 0 auto 0 0;
  z-index: -1;
  width: 0%;
  display: block;
  content: "";
  background-color: #46a8db;
  transition: all 0.3s ease;
}
.c-button--yellow {
  transition: 0.3s ease;
}
@media (hover: hover) {
  .c-button--yellow:hover {
    opacity: 1;
    border-color: #46a8db;
    color: #ffef55;
  }
  .c-button--yellow:hover::before {
    width: 100%;
  }
}
.c-button--blue {
  border-color: #2D76C4;
  background-color: #2D76C4;
  color: #fff;
}
.c-button--blue::before {
  position: absolute;
  inset: 0 auto 0 0;
  z-index: -1;
  width: 0%;
  display: block;
  content: "";
  background-color: #fff;
  transition: all 0.3s ease;
}
.c-button--blue {
  transition: 0.3s ease;
}
@media (hover: hover) {
  .c-button--blue:hover {
    opacity: 1;
    color: #2D76C4;
  }
  .c-button--blue:hover::before {
    width: 100%;
  }
}
.c-button--blue2 {
  border-color: #0090DA;
  background-color: #0090DA;
  color: #fff;
}
.c-button--blue2::before {
  position: absolute;
  inset: 0 auto 0 0;
  z-index: -1;
  width: 0%;
  display: block;
  content: "";
  background-color: #fff;
  transition: all 0.3s ease;
}
.c-button--blue2 {
  transition: 0.3s ease;
}
@media (hover: hover) {
  .c-button--blue2:hover {
    opacity: 1;
    color: #0090DA;
  }
  .c-button--blue2:hover::before {
    width: 100%;
  }
}
.c-button--blue3 {
  border-color: #EAF2FA;
  background-color: #EAF2FA;
  color: #2D76C4;
}
.c-button--blue3::before {
  position: absolute;
  inset: 0 auto 0 0;
  z-index: -1;
  width: 0%;
  display: block;
  content: "";
  background-color: #2D76C4;
  transition: all 0.3s ease;
}
.c-button--blue3 {
  transition: 0.3s ease;
}
@media (hover: hover) {
  .c-button--blue3:hover {
    opacity: 1;
    color: #EAF2FA;
  }
  .c-button--blue3:hover::before {
    width: 100%;
  }
}
.c-button--blue4 {
  border-color: #2d6fb7;
  background-color: #fff;
  color: #2d6fb7;
}
.c-button--blue4::before {
  position: absolute;
  inset: 0 auto 0 0;
  z-index: -1;
  width: 0%;
  display: block;
  content: "";
  background-image: linear-gradient(to right, #3867b4 0%, #4c84c5 100%);
  transition: all 0.3s ease;
}
.c-button--blue4 {
  transition: 0.3s ease;
}
@media (hover: hover) {
  .c-button--blue4:hover {
    opacity: 1;
    color: #fff;
  }
  .c-button--blue4:hover::before {
    width: 100%;
  }
}
.c-button--arrow {
  padding-right: 32px;
  position: relative;
}
.c-button--arrow:after {
  position: absolute;
  display: block;
  content: "";
  top: 50%;
  right: 14px;
  transform: translateY(-50%);
  width: 1.1em;
  height: 1.1em;
  background-color: currentColor;
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13.16 6.88'><path d='M12.89,3.02c-1.21-.86-2.29-1.87-3.03-2.82-.09-.12-.21-.19-.34-.2-.12,0-.24.03-.34.11l-.04.02c-.2.16-.23.44-.07.68.58.72,1.36,1.51,2.15,2.16H.46c-.28,0-.46.18-.46.46s.18.46.46.46h10.75c-.81.67-1.6,1.46-2.14,2.17-.17.22-.13.51.08.68l.04.02c.09.08.19.12.3.12.01,0,.03,0,.04,0,.13-.01.25-.08.34-.2.74-.95,1.82-1.96,3.03-2.82.18-.13.27-.27.27-.42s-.09-.29-.27-.42Z'/></svg>");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
}
.c-button--small {
  padding-block: 8px;
  font-size: 0.75rem;
}
.c-button--large {
  padding-block: 20px;
  min-width: min(340px, 100%);
  font-size: 1.0625rem;
  justify-content: center;
}
.c-button--square {
  border-radius: 0;
}
.c-button-group {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  margin-top: 40px;
}
.c-button-group--right {
  justify-content: end;
}
.c-button__small {
  font-size: 70%;
}
.c-button--upload {
  justify-content: center;
  border-radius: 0;
  background-color: #0091d5;
  color: #fff;
}
.c-button--upload::before {
  position: absolute;
  inset: 0 auto 0 0;
  z-index: -1;
  width: 0%;
  display: block;
  content: "";
  background-color: #fff;
  transition: all 0.3s ease;
}
.c-button--upload {
  transition: 0.3s ease;
}
@media (hover: hover) {
  .c-button--upload:hover {
    opacity: 1;
    color: #0090DA;
  }
  .c-button--upload:hover::before {
    width: 100%;
  }
}
.c-button [class*=icon-] {
  display: inline-flex;
  align-items: center;
}
.c-button [class*=icon-]::before {
  transform: scale(1.5);
  margin-right: 20px;
}
.c-button:disabled {
  pointer-events: none;
  background-color: #ccc !important;
  border-color: transparent !important;
}
.c-telLink {
  color: inherit;
}
.c-link {
  display: inline-block;
}
.c-link--arrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}
.c-link--arrow::after {
  display: inline-block;
  content: "";
  width: 35px;
  height: 35px;
  border: 1px solid #2e363b;
  border-radius: 50%;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13.16 6.88'><path d='M12.89,3.02c-1.21-.86-2.29-1.87-3.03-2.82-.09-.12-.21-.19-.34-.2-.12,0-.24.03-.34.11l-.04.02c-.2.16-.23.44-.07.68.58.72,1.36,1.51,2.15,2.16H.46c-.28,0-.46.18-.46.46s.18.46.46.46h10.75c-.81.67-1.6,1.46-2.14,2.17-.17.22-.13.51.08.68l.04.02c.09.08.19.12.3.12.01,0,.03,0,.04,0,.13-.01.25-.08.34-.2.74-.95,1.82-1.96,3.03-2.82.18-.13.27-.27.27-.42s-.09-.29-.27-.42Z'/></svg>");
  background-repeat: no-repeat;
  background-position: 45% 50%;
  background-size: 14px;
  transition: all 0.3s ease;
}
.c-link--arrow {
  transition: 0.3s ease;
}
@media (hover: hover) {
  .c-link--arrow:hover {
    opacity: 1;
  }
  .c-link--arrow:hover::after {
    border-color: #F07902;
    background-color: #F07902;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13.16 6.88'><path d='M12.89,3.02c-1.21-.86-2.29-1.87-3.03-2.82-.09-.12-.21-.19-.34-.2-.12,0-.24.03-.34.11l-.04.02c-.2.16-.23.44-.07.68.58.72,1.36,1.51,2.15,2.16H.46c-.28,0-.46.18-.46.46s.18.46.46.46h10.75c-.81.67-1.6,1.46-2.14,2.17-.17.22-.13.51.08.68l.04.02c.09.08.19.12.3.12.01,0,.03,0,.04,0,.13-.01.25-.08.34-.2.74-.95,1.82-1.96,3.03-2.82.18-.13.27-.27.27-.42s-.09-.29-.27-.42Z' fill='%23fff' /></svg>");
  }
}
.c-link--underline {
  color: #0090da;
  text-decoration: underline;
}
.c-intro {
  padding-left: 28px;
  font-size: 0.875rem;
  font-weight: 700;
}
.c-block + .c-block {
  margin-top: 60px;
}
.c-block--skin01 .c-block__head {
  margin-bottom: 44px;
}
.c-block--skin01 .c-block__title {
  width: fit-content;
  min-width: min(100%, 470px);
  margin-inline: auto;
  padding: 20px 20px 24px;
  border-radius: 10em;
  background-color: #2D76C4;
  color: #fff;
  font-size: 1.4375rem;
  font-weight: 700;
  text-align: center;
  position: relative;
}
.c-block--skin01 .c-block__title:after {
  position: absolute;
  display: block;
  content: "";
  top: calc(100% - 1px);
  left: 50%;
  transform: translateX(-50%);
  border-style: solid;
  border-width: 11px 10px 0;
  border-color: #2D76C4 transparent transparent;
}
.c-block--skin01 .c-block__body {
  padding: 60px 60px 80px;
  border-radius: 10px;
  background: #e7f5fc;
  border: 1px solid #2D76C4;
  box-shadow: -3px 1px 9px rgba(192, 211, 237, 0.6);
}
.c-block--skin02 {
  border-radius: 10px;
  background: #fff;
  border: 1px solid #2d76c4;
  box-shadow: -3px 1px 9px rgba(192, 211, 237, 0.6);
}
.c-block--skin02 .c-block__head {
  border-radius: 9px 9px 0 0;
  background-color: #2d76c4;
  color: #fff;
}
.c-block--skin02 .c-block__title {
  padding: 24px 20px;
  border-radius: 10px 10px 0 0;
  background-color: #2D76C4;
  color: #fff;
  font-size: 1.4375rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}
.c-block--skin02 .c-block__body {
  padding: 40px 60px 80px;
  border-radius: 9px;
}
.c-entry__header {
  margin-bottom: 40px;
  padding-bottom: 30px;
}
.c-entry__title {
  margin-bottom: 30px;
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1.4;
}
.c-entry__meta {
  display: flex;
  align-items: center;
  gap: 24px;
}
.c-entry__date {
  color: #203570;
  font-family: "Roboto", "Noto Sans JP", "Yu Gothic", "YuGothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
  font-weight: 500;
}
.c-entry__category {
  display: inline-block;
  padding: 4px 20px;
  border: 1px solid #203570;
  border-radius: 10em;
  color: #203570;
  font-size: 0.875rem;
}
.c-entry__content {
  line-height: 1.8;
}
.c-entry__content > :where(*) + :where(*) {
  margin-top: 20px;
}
.c-entry__content > :where(h1, h2, h3, h4, h5, h6) {
  margin-top: 40px;
}
.c-entry__content > :where(h1, h2, h3, h4, h5, h6) + :where(*) {
  margin-top: 12px;
}
.c-entry__content ul, .c-entry__content ol {
  padding-left: 1.5em;
}
.c-entry__content ul li, .c-entry__content ol li {
  margin-bottom: 0.5em;
  line-height: 1.6;
}
.c-entry__content ul {
  list-style-type: disc;
}
.c-entry__content ol {
  list-style-type: decimal;
}
.c-entry__content ul ul, .c-entry__content ul ol, .c-entry__content ol ul, .c-entry__content ol ol {
  margin: 0.5em 0 0.5em 1.5em;
}
.c-entry__content table {
  width: 100%;
}
.c-entry__content table :is(th, td) {
  padding: 8px;
  border: 1px solid #e2e2e3;
}
.c-entry__content table th {
  background-color: #1072af;
  color: #fff;
}
.c-entry__content table td {
  background-color: #fff;
}
.c-entry__content figcaption {
  font-size: 0.85em;
  color: #666;
  margin-top: 0.5em;
}
.c-entry__content hr {
  border: none;
  border-top: 1px solid #e2e2e3;
  margin: 3em 0;
}
.c-entry__content strong, .c-entry__content b {
  font-weight: bold;
  background: linear-gradient(transparent 60%, #fffacd 0%);
}
.c-entry__content code {
  font-family: monospace;
  background: #f0f0f0;
  padding: 0.2em 0.4em;
  border-radius: 3px;
}
.c-entry__content h1 {
  font-size: 1.75rem;
}
.c-entry__content h2 {
  font-size: 1.625rem;
}
.c-entry__content h3 {
  font-size: 1.5rem;
}
.c-entry__content h4 {
  font-size: 1.25rem;
}
.c-entry__content h5 {
  font-size: 1.125rem;
}
.c-entry__content h6 {
  font-size: 1rem;
}
.c-entry__content blockquote {
  padding: 20px 25px;
  background-color: #f8f9fa;
  border-left: 5px solid #203570;
  color: #555;
}
.c-entry__content blockquote cite {
  display: block;
  text-align: right;
  font-size: 0.85em;
  color: #888;
}
.c-entry__content blockquote cite::before {
  content: "— ";
}
.c-card__link {
  display: block;
  font-size: 0.875rem;
}
.c-card__image {
  margin-bottom: 12px;
}
.c-card__image img {
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
  border-radius: 4px;
}
.c-card__header {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.c-card__date {
  font-size: 0.75rem;
}
.c-card__title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  margin-top: 12px;
  font-size: 0.875rem;
  font-weight: 700;
}
.c-table {
  width: 100%;
  border: 1px solid #aaa;
  box-shadow: 0 0 9px rgba(192, 211, 237, 0.6);
}
.c-table :is(th, td) {
  padding: 32px 40px;
  border-top: 1px solid #aaa;
  border-bottom: 1px solid #aaa;
  font-size: 1.25rem;
}
.c-table th {
  background-color: #E7F5FC;
  font-weight: 700;
  text-align: center;
}
.c-table td {
  background-color: #fff;
  font-weight: 600;
}
.c-tag {
  display: inline-block;
  padding: 2px 8px;
  border: 1px solid #2e363b;
  font-size: 0.75rem;
  line-height: 1.2;
}
.c-badge {
  display: inline-block;
  padding: 8px 20px;
  border-radius: 10em;
  line-height: 1.2;
}
.c-badge--orange {
  background-color: #f07902;
  color: #fff;
}
.c-badge--blue {
  background-color: #3174c7;
  color: #fff;
}
.c-badge--turquoise {
  background-color: #47b8c2;
  color: #fff;
}
.c-badge--purple {
  background-color: #8e8ebf;
  color: #fff;
}
.c-badge--required {
  padding: 4px 12px 5px;
  border-radius: 0;
  background: #c2191f;
  color: #fff;
  font-weight: 400;
}
.c-badge--optional {
  padding: 4px 12px 5px;
  border-radius: 0;
  background: #BBBCBC;
  color: #fff;
  font-weight: 400;
}
.c-lead {
  font-size: 1.25rem;
  line-height: 2.5;
}
.c-list {
  display: grid;
  gap: 8px;
  line-height: 1.5;
}
.c-list--num {
  counter-reset: num;
}
.c-list--num > li, .c-list--num__item {
  padding-left: 2.8em;
  position: relative;
}
.c-list--num > li:before, .c-list--num__item:before {
  position: absolute;
  display: block;
  content: "";
  top: 0;
  left: 0;
  content: counter(num);
  counter-increment: num;
  display: grid;
  place-content: center;
  width: 2em;
  height: 2em;
  padding-bottom: 0.1em;
  border-radius: 50%;
  background-color: #2D76C4;
  color: #fff;
  font-weight: 700;
}
.c-list--bullet > li, .c-list--bullet__item {
  padding-left: 1em;
  position: relative;
}
.c-list--bullet > li:before, .c-list--bullet__item:before {
  position: absolute;
  display: block;
  content: "";
  top: 0;
  left: 0;
  content: "・";
}
.c-list--circle > li, .c-list--circle__item {
  padding-left: 1.5em;
  position: relative;
}
.c-list--circle > li:before, .c-list--circle__item:before {
  position: absolute;
  display: block;
  content: "";
  top: 0.5em;
  left: 0;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #A2A2A2;
}
.c-list--asterisk > li, .c-list--asterisk__item {
  padding-left: 1em;
  position: relative;
}
.c-list--asterisk > li:before, .c-list--asterisk__item:before {
  position: absolute;
  display: block;
  content: "";
  top: 0;
  left: 0;
  content: "※";
}
.c-pagination {
  margin-top: 80px;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
}
.c-pagination > :where(:is(a, span)) {
  display: inline-grid;
  place-content: center;
  min-width: 50px;
  min-height: 50px;
  padding: 8px;
  background: #fff;
  border: 1px solid #203570;
  font-family: AcuminConcept-Medium;
  color: #203570;
  font-weight: 500;
}
.c-pagination a {
  position: relative;
  z-index: 1;
}
.c-pagination a::before {
  position: absolute;
  inset: 0;
  display: block;
  content: "";
  z-index: -1;
  width: 0;
  background-color: #203570;
  transition: all 0.3s ease;
}
.c-pagination a {
  transition: 0.3s ease;
}
@media (hover: hover) {
  .c-pagination a:hover {
    opacity: 1;
    color: #fff;
  }
  .c-pagination a:hover::before {
    width: 100%;
  }
}
.c-pagination .is-current {
  pointer-events: none;
  background-color: #203570;
  color: #fff;
}
.c-pagination__numbers {
  font-family: "Roboto", "Noto Sans JP", "Yu Gothic", "YuGothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
}
.c-pagination__prev {
  justify-content: end;
  min-width: 120px;
  padding: 8px 20px 8px 40px;
  position: relative;
}
.c-pagination__prev:after {
  position: absolute;
  display: block;
  content: "";
  top: 50%;
  left: 16px;
  transform: translateY(-50%) scale(-1, 1);
  width: 16px;
  height: 16px;
  background-color: currentColor;
  -webkit-mask: url('data:image/svg+xml;utf8,<svg id="_繝ｬ繧､繝､繝ｼ_1" data-name="繝ｬ繧､繝､繝ｼ 1" xmlns="http://www.w3.org/2000/svg" width="21.85" height="18.61" viewBox="0 0 21.85 18.61">  <path d="M18.78,10.75H.22C.08,10.19,0,9.66,0,9.16c-.03-.42.06-.76.25-1.01.2-.25.53-.38,1.01-.38h17.51v2.98ZM21.85,9.28l-9.32,9.32c-.2-.11-.41-.26-.65-.44-.24-.18-.44-.36-.61-.52-.31-.28-.49-.58-.55-.9-.06-.32.1-.65.46-.99l6.47-6.47-6.47-6.47c-.36-.34-.52-.66-.46-.97.06-.31.24-.62.55-.92.17-.17.37-.34.61-.5.24-.17.45-.31.65-.42l9.32,9.28Z"/></svg>') no-repeat right center/contain;
  mask: url('data:image/svg+xml;utf8,<svg id="_繝ｬ繧､繝､繝ｼ_1" data-name="繝ｬ繧､繝､繝ｼ 1" xmlns="http://www.w3.org/2000/svg" width="21.85" height="18.61" viewBox="0 0 21.85 18.61">  <path d="M18.78,10.75H.22C.08,10.19,0,9.66,0,9.16c-.03-.42.06-.76.25-1.01.2-.25.53-.38,1.01-.38h17.51v2.98ZM21.85,9.28l-9.32,9.32c-.2-.11-.41-.26-.65-.44-.24-.18-.44-.36-.61-.52-.31-.28-.49-.58-.55-.9-.06-.32.1-.65.46-.99l6.47-6.47-6.47-6.47c-.36-.34-.52-.66-.46-.97.06-.31.24-.62.55-.92.17-.17.37-.34.61-.5.24-.17.45-.31.65-.42l9.32,9.28Z"/></svg>') no-repeat right center/contain;
  transition: all 0.3s ease;
}
.c-pagination__next {
  justify-content: start;
  min-width: 120px;
  padding: 8px 40px 8px 20px;
  position: relative;
}
.c-pagination__next:after {
  position: absolute;
  display: block;
  content: "";
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  background-color: currentColor;
  -webkit-mask: url('data:image/svg+xml;utf8,<svg id="_繝ｬ繧､繝､繝ｼ_1" data-name="繝ｬ繧､繝､繝ｼ 1" xmlns="http://www.w3.org/2000/svg" width="21.85" height="18.61" viewBox="0 0 21.85 18.61">  <path d="M18.78,10.75H.22C.08,10.19,0,9.66,0,9.16c-.03-.42.06-.76.25-1.01.2-.25.53-.38,1.01-.38h17.51v2.98ZM21.85,9.28l-9.32,9.32c-.2-.11-.41-.26-.65-.44-.24-.18-.44-.36-.61-.52-.31-.28-.49-.58-.55-.9-.06-.32.1-.65.46-.99l6.47-6.47-6.47-6.47c-.36-.34-.52-.66-.46-.97.06-.31.24-.62.55-.92.17-.17.37-.34.61-.5.24-.17.45-.31.65-.42l9.32,9.28Z"/></svg>') no-repeat right center/contain;
  mask: url('data:image/svg+xml;utf8,<svg id="_繝ｬ繧､繝､繝ｼ_1" data-name="繝ｬ繧､繝､繝ｼ 1" xmlns="http://www.w3.org/2000/svg" width="21.85" height="18.61" viewBox="0 0 21.85 18.61">  <path d="M18.78,10.75H.22C.08,10.19,0,9.66,0,9.16c-.03-.42.06-.76.25-1.01.2-.25.53-.38,1.01-.38h17.51v2.98ZM21.85,9.28l-9.32,9.32c-.2-.11-.41-.26-.65-.44-.24-.18-.44-.36-.61-.52-.31-.28-.49-.58-.55-.9-.06-.32.1-.65.46-.99l6.47-6.47-6.47-6.47c-.36-.34-.52-.66-.46-.97.06-.31.24-.62.55-.92.17-.17.37-.34.61-.5.24-.17.45-.31.65-.42l9.32,9.28Z"/></svg>') no-repeat right center/contain;
  transition: all 0.3s ease;
}
.c-return__link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-top: 80px;
  color: #203570;
  font-weight: 500;
  font-size: 1.125rem;
}
.c-return__link::before {
  display: inline-block;
  content: "";
  width: 60px;
  height: 60px;
  border-radius: 50%;
  border: 1px solid #203570;
  background: url('data:image/svg+xml;utf8,<svg id="_繝ｬ繧､繝､繝ｼ_1" data-name="繝ｬ繧､繝､繝ｼ 1" xmlns="http://www.w3.org/2000/svg" width="19.99" height="13.14" viewBox="0 0 19.99 13.14">  <defs>    <style>      .cls-1 {        fill: %23fff;      }    </style>  </defs>  <path class="cls-1" d="M18.65,5.26c.37,0,.69.13.95.39s.39.57.39.92-.13.66-.39.92c-.26.26-.58.39-.95.39H4.65s-.07.02-.08.06c-.02.04,0,.07.03.11l3.47,3c.24.21.37.48.39.81s-.07.62-.28.87c-.21.24-.48.38-.81.41s-.62-.06-.87-.27L.48,7.61c-.32-.28-.48-.63-.48-1.04s.16-.76.48-1.04L6.5.27c.24-.21.53-.29.87-.27.34.03.61.16.81.41.21.24.3.53.28.87s-.15.61-.39.81l-3.47,3s-.05.07-.03.11c.02.04.05.06.08.06h14Z"/></svg>') no-repeat center center/20px auto, linear-gradient(to right, #fff 0%, #fff 50%, #203570 50%, #203570 100%) no-repeat right center/200% 100%;
  transition: all 0.3s ease;
}
.c-return__link {
  transition: 0.3s ease;
}
@media (hover: hover) {
  .c-return__link:hover {
    opacity: 1;
  }
  .c-return__link:hover::before {
    background: url('data:image/svg+xml;utf8,<svg id="_繝ｬ繧､繝､繝ｼ_1" data-name="繝ｬ繧､繝､繝ｼ 1" xmlns="http://www.w3.org/2000/svg" width="19.99" height="13.14" viewBox="0 0 19.99 13.14">  <defs>    <style>      .cls-1 {        fill: %23203570;      }    </style>  </defs>  <path class="cls-1" d="M18.65,5.26c.37,0,.69.13.95.39s.39.57.39.92-.13.66-.39.92c-.26.26-.58.39-.95.39H4.65s-.07.02-.08.06c-.02.04,0,.07.03.11l3.47,3c.24.21.37.48.39.81s-.07.62-.28.87c-.21.24-.48.38-.81.41s-.62-.06-.87-.27L.48,7.61c-.32-.28-.48-.63-.48-1.04s.16-.76.48-1.04L6.5.27c.24-.21.53-.29.87-.27.34.03.61.16.81.41.21.24.3.53.28.87s-.15.61-.39.81l-3.47,3s-.05.07-.03.11c.02.04.05.06.08.06h14Z"/></svg>') no-repeat center center/20px auto, linear-gradient(to right, #fff 0%, #fff 50%, #203570 50%, #203570 100%) no-repeat left center/200% 100%;
  }
}
.c-return + .c-pagination {
  margin-top: 40px;
}
.c-checkbox-label {
  display: flex;
  gap: 8px;
  width: fit-content;
}
.c-checkbox-label input {
  transform: scale(1.16) translateY(1px);
}
.c-radio-label {
  display: flex;
  gap: 8px;
  width: fit-content;
}
.c-radio-label input {
  transform: scale(1.16) translateY(1px);
}
.c-radio-label:has(:checked) {
  color: #0090da;
}
.c-radio-group {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 40px;
}
.c-search {
  display: flex;
}
.c-search__input {
  flex-grow: 1;
  min-width: 0;
  padding: 12px 10px;
  border: 1px solid #e2e2e3;
  border-radius: 4px 0 0 4px;
  background: #fff;
}
.c-search__button {
  position: relative;
  z-index: 1;
  flex-shrink: 0;
  padding: 12px 10px;
  border-radius: 0 4px 4px 0;
  border: 0;
  background: #203570;
  color: #fff;
}
.c-search__button::before {
  transform: translateY(2px);
  display: inline-block;
  content: "";
  width: 1em;
  height: 1em;
  margin-right: 6px;
  background-color: currentColor;
  -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12.617" height="12.614" viewBox="0 0 12.617 12.614">  <g id="グループ_103" data-name="グループ 103" transform="translate(-1688.903 -769.16)">    <path id="パス_158" data-name="パス 158" d="M1689.987,774.04a3.8,3.8,0,1,1,3.8,3.8,3.8,3.8,0,0,1-3.8-3.8m-1.084,0a4.88,4.88,0,1,0,4.88-4.88,4.88,4.88,0,0,0-4.88,4.88Z" fill="%23fff"/>    <path id="長方形_55" data-name="長方形 55" d="M.779,0h.782a.78.78,0,0,1,.78.78V5.048a.78.78,0,0,1-.78.78H.78A.78.78,0,0,1,0,5.048V.779A.779.779,0,0,1,.779,0Z" transform="translate(1695.741 777.657) rotate(-45.067)" fill="%23fff"/>  </g></svg>') no-repeat center center/contain;
  mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12.617" height="12.614" viewBox="0 0 12.617 12.614">  <g id="グループ_103" data-name="グループ 103" transform="translate(-1688.903 -769.16)">    <path id="パス_158" data-name="パス 158" d="M1689.987,774.04a3.8,3.8,0,1,1,3.8,3.8,3.8,3.8,0,0,1-3.8-3.8m-1.084,0a4.88,4.88,0,1,0,4.88-4.88,4.88,4.88,0,0,0-4.88,4.88Z" fill="%23fff"/>    <path id="長方形_55" data-name="長方形 55" d="M.779,0h.782a.78.78,0,0,1,.78.78V5.048a.78.78,0,0,1-.78.78H.78A.78.78,0,0,1,0,5.048V.779A.779.779,0,0,1,.779,0Z" transform="translate(1695.741 777.657) rotate(-45.067)" fill="%23fff"/>  </g></svg>') no-repeat center center/contain;
}
.c-search__button::after {
  position: absolute;
  inset: 0;
  display: block;
  content: "";
  width: 0;
  z-index: -1;
  border-radius: 0 4px 4px 0;
  background-color: #147bc6;
  transition: all 0.3s ease;
}
.c-search__button {
  transition: 0.3s ease;
}
@media (hover: hover) {
  .c-search__button:hover {
    opacity: 1;
    color: #fff;
  }
  .c-search__button:hover::after {
    width: 100%;
  }
}
.c-select {
  cursor: pointer;
  appearance: none;
  width: 100%;
  padding: 12px 10px;
  border: 1px solid #e2e2e3;
  border-radius: 4px;
  background-color: #fff;
  background-image: url('data:image/svg+xml;charset=utf8,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23333" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpolyline points="6 9 12 15 18 9"/%3E%3C/svg%3E');
  background-repeat: no-repeat;
  background-position: right 15px center;
  background-size: 18px;
}
.c-accordion {
  box-shadow: 0 0 18px 0 rgba(0, 0, 0, 0.18);
  border-radius: 12px;
  background-color: #f2faff;
}
.c-accordion__trigger {
  width: 100%;
  padding: 30px 100px;
  border: 0;
  background-color: transparent;
  color: #1072af;
  text-align: left;
  font-size: 1.25rem;
  font-weight: 700;
  position: relative;
}
.c-accordion__trigger:after {
  position: absolute;
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  right: 36px;
  transform: translateY(-50%);
  content: "＋";
  font-size: 35px;
  font-weight: 700;
}
.c-accordion__content {
  overflow: hidden;
  padding: 0 100px;
  transition: all 0.3s ease;
  height: 0;
}
.c-accordion__inner {
  padding-bottom: 30px;
}
.c-accordion.is-open .c-accordion__trigger::after {
  content: "－";
}
.c-tab__menu {
  display: flex;
  gap: 16px;
  margin-bottom: 22px;
  padding: 36px 56px;
  border-radius: 8px;
  background: #fff;
  box-shadow: -3px 1px 9px rgba(192, 211, 237, 0.6);
}
.c-tab__btn {
  flex: 1;
  padding: 12px 20px;
  border: 0;
  border-radius: 8px;
  background-color: #F4F4F4;
  color: #0090DA;
  font-weight: 700;
}
.c-tab__btn.is-active {
  background-color: #0090DA;
  color: #fff;
}
.c-tab__panel {
  padding: 36px 56px;
  border-radius: 8px;
  background: #fff;
  box-shadow: -3px 1px 9px rgba(192, 211, 237, 0.6);
}

[class*=icon-]::before {
  display: inline-block;
  content: "";
  width: 1em;
  height: 1em;
  margin-right: 4px;
  background-color: currentColor;
  -webkit-mask: var(--icon-url) no-repeat center/contain;
  mask: var(--icon-url) no-repeat center/contain;
}

.icon-lock::before {
  --icon-url: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='11.39' height='13.23' viewBox='0 0 11.39 13.23'>  <path class='cls-1' d='M10.59,4.48h-.61c0-2.48-1.92-4.48-4.28-4.48S1.42,2.01,1.41,4.48h-.61c-.44,0-.8.36-.8.8v7.15c0,.44.36.8.8.8h9.79c.44,0,.8-.36.8-.8v-7.15c0-.44-.36-.8-.8-.8ZM6.57,10.4h-1.76l.4-1.42c-.25-.16-.42-.44-.42-.76,0-.5.4-.9.9-.9s.9.4.9.9c0,.32-.17.61-.42.76l.4,1.42ZM2.73,4.48c0-1.76,1.33-3.19,2.96-3.19s2.96,1.43,2.96,3.19H2.73Z'/></svg>");
}
.icon-file::before {
  --icon-url: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="31.817" height="41.405" viewBox="0 0 31.817 41.405">  <g id="グループ_309" data-name="グループ 309" transform="translate(-13191.777 -3762.71)">    <path id="パス_663" data-name="パス 663" d="M13221.607,3803.865h-27.844a1.739,1.739,0,0,1-1.736-1.738V3764.7a1.738,1.738,0,0,1,1.736-1.737h18.44a1.744,1.744,0,0,1,1.243.525l9.4,9.645a1.728,1.728,0,0,1,.494,1.213v27.784A1.74,1.74,0,0,1,13221.607,3803.865Zm-27.844-39.5a.33.33,0,0,0-.329.329v37.43a.329.329,0,0,0,.329.329h27.844a.328.328,0,0,0,.328-.329v-27.784a.325.325,0,0,0-.093-.23l-9.4-9.645a.332.332,0,0,0-.235-.1Z" fill="%23fff" stroke="%23fff" stroke-miterlimit="10" stroke-width="0.5"/>    <path id="パス_664" data-name="パス 664" d="M13222.291,3774.841h-8.763a1.783,1.783,0,0,1-1.781-1.782v-8.973h1.408v8.973a.374.374,0,0,0,.373.374h8.763Z" fill="%23fff" stroke="%23fff" stroke-miterlimit="10" stroke-width="0.5"/>    <path id="パス_665" data-name="パス 665" d="M13218.3,3779.941h-21.444a.7.7,0,1,1,0-1.408h21.444a.7.7,0,1,1,0,1.408Z" fill="%23fff" stroke="%23fff" stroke-miterlimit="10" stroke-width="0.5"/>    <path id="パス_666" data-name="パス 666" d="M13218.3,3786.942h-21.444a.7.7,0,1,1,0-1.408h21.444a.7.7,0,1,1,0,1.408Z" fill="%23fff" stroke="%23fff" stroke-miterlimit="10" stroke-width="0.5"/>    <path id="パス_667" data-name="パス 667" d="M13218.3,3793.943h-21.444a.7.7,0,0,1,0-1.408h21.444a.7.7,0,0,1,0,1.408Z" fill="%23fff" stroke="%23fff" stroke-miterlimit="10" stroke-width="0.5"/>  </g></svg>');
}
.icon-pdf::before {
  --icon-url: url('data:image/svg+xml;utf8,<?xml version="1.0" encoding="UTF-8"?><svg id="_レイヤー_2" data-name="レイヤー 2" xmlns="http://www.w3.org/2000/svg" width="29.87" height="29.18" viewBox="0 0 29.87 29.18">  <defs>    <style>      .cls-1 {        fill: %23fff;      }    </style>  </defs>  <g id="_レイヤー_1-2" data-name="レイヤー 1">    <g>      <path class="cls-1" d="M29.26,8.96h-8.36V.6l1.03-.43,7.75,7.75-.43,1.03ZM22.12,7.75h5.69l-5.69-5.69v5.69Z"/>      <g>        <path class="cls-1" d="M3.73,12.65c-.21,0-.35.02-.44.04v1.72c.1.02.21.03.36.03.63,0,1.01-.36,1.01-.93s-.36-.86-.92-.86Z"/>        <path class="cls-1" d="M8.45,12.66c-.21,0-.37.02-.48.04v3.71c.1.02.25.02.39.02.97,0,1.62-.59,1.62-1.98,0-1.2-.59-1.79-1.53-1.79Z"/>        <path class="cls-1" d="M21.76,0H3.88v9.97H0v9.3h3.88v9.91h25.99V8.11L21.76,0ZM3.66,15.24c-.14,0-.27,0-.37-.03v1.98h-1.01v-5.23c.33-.06.79-.11,1.37-.11.67,0,1.17.13,1.51.42.32.27.51.7.51,1.19,0,1.45-1.21,1.78-2,1.78ZM28.66,27.97H5.09v-8.7h12.21v-9.3H5.09V1.21h16.17l7.4,7.4v19.36ZM6.96,17.18v-5.21c.37-.07.85-.11,1.37-.11.88,0,1.48.19,1.92.55.5.41.8,1.07.8,2.03,0,1.14-.39,1.8-.8,2.16-.48.43-1.22.65-2.14.65-.49,0-.88-.03-1.15-.07ZM15.09,14.16v.83h-1.69v2.21h-1.02v-5.3h2.84v.85h-1.82v1.4h1.69Z"/>      </g>    </g>  </g></svg>');
}
.icon-download::before {
  transform: translateY(0.1em);
  --icon-url: url('data:image/svg+xml;utf8,<svg id="_繝ｬ繧､繝､繝ｼ_1" data-name="繝ｬ繧､繝､繝ｼ 1" xmlns="http://www.w3.org/2000/svg" width="16.92" height="17.72" viewBox="0 0 16.92 17.72">  <defs>    <style>      .cls-1 {        fill: %230090da;      }    </style>  </defs>  <path class="cls-1" d="M6.45.22v7.91c0,.12-.1.22-.22.22h-1.98c-.19,0-.29.22-.17.37l4.21,5.06c.09.11.25.11.34,0l4.21-5.06c.12-.15.02-.37-.17-.37h-1.98c-.12,0-.22-.1-.22-.22V.22c0-.12-.1-.22-.22-.22h-3.56c-.12,0-.22.1-.22.22Z"/>  <path class="cls-1" d="M16.7,12.56h-1.86c-.12,0-.22.1-.22.22v2.64H2.3v-2.64c0-.12-.1-.22-.22-.22H.22c-.12,0-.22.1-.22.22v4.72c0,.12.1.22.22.22h16.48c.12,0,.22-.1.22-.22v-4.72c0-.12-.1-.22-.22-.22Z"/></svg>');
}
.icon-upload::before {
  transform: translateY(0.1em);
  --icon-url: url('data:image/svg+xml;utf8,<svg id="_繝ｬ繧､繝､繝ｼ_1" data-name="繝ｬ繧､繝､繝ｼ 1" xmlns="http://www.w3.org/2000/svg" width="21.74" height="19.23" viewBox="0 0 21.74 19.23">  <defs>    <style>      .cls-1 {        fill: %23fff;      }    </style>  </defs>  <path class="cls-1" d="M13.44,13.66v-6.3c0-.16.13-.29.29-.29h2.55c.24,0,.38-.28.22-.47L11.09.1c-.11-.14-.33-.14-.44,0l-5.41,6.49c-.16.19-.02.47.22.47h2.55c.16,0,.29.13.29.29v6.3c0,.16.13.29.29.29h4.58c.16,0,.29-.13.29-.29Z"/>  <path class="cls-1" d="M21.46,12.6h-2.39c-.15,0-.28.13-.28.28v3.4H2.95v-3.4c0-.15-.13-.28-.28-.28H.28c-.15,0-.28.13-.28.28v6.07c0,.15.13.28.28.28h21.18c.15,0,.28-.13.28-.28v-6.07c0-.15-.13-.28-.28-.28Z"/></svg>');
}

.l-container {
  overflow-x: clip;
}
.l-layer {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 900;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
  pointer-events: none;
}
.l-layer.is-show {
  display: block;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.l-wrapper {
  max-width: min(92vw, 1100px);
  margin-inline: auto;
}
.l-wrapper--wide {
  max-width: min(92vw, 1680px);
  margin-inline: auto;
}
.l-inner {
  max-width: 860px;
  margin-inline: auto;
}
.l-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  padding-left: 20px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  background-color: rgba(255, 255, 255, 0.7);
}
.l-header__logo {
  display: flex;
  align-items: center;
  gap: 18px;
}
.l-header__logo-link {
  display: flex;
  align-items: center;
  gap: 16px;
}
.l-header__logo-text {
  font-size: 0.75rem;
  font-weight: 700;
}
.l-header__logo-suponsor {
  display: flex;
  align-items: start;
  gap: 16px;
}
.l-header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.l-gnavBtn {
  display: none;
}
.l-gnav {
  display: flex;
  gap: 20px;
}
.l-gnav__list {
  display: flex;
  align-items: center;
}
.l-gnav__link {
  display: block;
  height: 100%;
  padding: 12px 16px;
  border-radius: 4px 4px 0 0;
  color: #2e363b;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.45;
}
.l-gnav__link.is-current {
  background-color: #1072af;
  color: #fff;
}
.l-gnav__link--search::before {
  margin-right: 0.4em;
  content: "\E809";
  display: inline-block;
  font-family: fontello;
  font-weight: normal;
}
.l-gnav__item {
  position: relative;
}
.l-gnav__item--has-dropdown .l-gnav__link::after {
  display: inline-block;
  content: "";
  width: 7px;
  height: 4px;
  margin-left: 4px;
  background-color: currentColor;
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6.72 3.83'><polygon class='cls-1' points='3.33 3.83 0 .74 .68 0 3.34 2.47 6.04 0 6.72 .74 3.33 3.83'/></svg>");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  vertical-align: middle;
}
.l-gnav__item--has-dropdown {
  transition: 0.3s ease;
}
@media (hover: hover) {
  .l-gnav__item--has-dropdown:hover .l-gnav__dropdown {
    max-height: 800px;
    opacity: 1;
    visibility: visible;
    padding: 10px 0;
  }
}
.l-gnav__dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  background-color: #fff;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  min-width: 160px;
  list-style: none;
  padding: 0;
  z-index: 10;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  visibility: hidden;
  transition: all 0.3s ease;
}
.l-gnav__dropdown-link {
  display: block;
  padding: 10px 20px;
  font-size: 14px;
  white-space: nowrap;
  transition: 0.3s ease;
}
@media (hover: hover) {
  .l-gnav__dropdown-link:hover {
    opacity: 1;
    background-color: #f5f5f5;
  }
}
.l-gnav__actions {
  display: flex;
  align-items: center;
  gap: 20px;
}
.l-gnav__btn--instructor {
  justify-content: center;
}
.l-gnav__btn--apply {
  display: grid;
  gap: 4px;
  height: 100%;
  padding: 32px 28px;
  background: linear-gradient(to right, rgb(56, 103, 180) 0%, rgb(76, 132, 197) 100%);
  color: #fff;
  text-align: center;
}
.l-gnav__btn--apply::before {
  transform: translateX(2px);
  display: block;
  content: "";
  width: 26px;
  height: 25px;
  margin-inline: auto;
  background: url(../img/common/icon-doc.svg) no-repeat center center/contain;
}
.l-main {
  background: url(../img/common/bg-body.svg) repeat-y center top/auto auto;
}
:where(.l-main :is(h1, h2, h3, h4, h5, h6):not(:first-child)) {
  margin-top: clamp(60px, 8vw, 100px);
}

.l-main--lower {
  background-image: url(../img/common/bg-lower.png);
}
.l-main--white {
  background: none;
}
.l-column {
  display: grid;
  grid-template-columns: auto 320px;
  gap: 80px;
  align-items: start;
}
.l-section__header {
  max-width: 900px;
  margin-inline: auto;
  margin-bottom: 32px;
}
.l-inner {
  max-width: 860px;
  margin-inline: auto;
}
.l-pagetitle {
  position: relative;
  min-height: 543px;
  margin-bottom: 60px;
  padding-top: 200px;
  color: #fff;
}
.l-pagetitle::before {
  position: absolute;
  inset: 0;
  display: block;
  content: "";
  z-index: -1;
  background: url(../img/common/bg-pagetitle.svg) no-repeat center bottom/auto 100%;
}
.l-pagetitle + .u-bg-sky::before {
  top: -543px;
}
.l-footer {
  padding: 64px;
}
.l-footer .l-wrapper {
  max-width: min(92vw, 1360px);
}
.l-footer__inner {
  padding: 64px;
  background: linear-gradient(90deg, rgb(56, 103, 180) 0%, rgb(76, 132, 197) 100%);
  border-radius: 34px;
  color: #fff;
}
.l-footer__inner a {
  color: #fff;
  text-decoration: none;
}
.l-footer__logo {
  display: grid;
  text-align: center;
}
.l-footer__logo-sub {
  font-size: 0.8125rem;
}
.l-footer__logo-main {
  margin-bottom: 10px;
  font-size: 1.375rem;
  font-weight: 700;
}
.l-footer__nav-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 52px 40px;
}
.l-footer__nav-title {
  width: fit-content;
  margin-bottom: 10px;
  padding: 2px 20px;
  border: 1px solid #fff;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.4;
}
.l-footer__nav-list {
  display: grid;
  gap: 4px;
  font-size: 0.9375rem;
}
.l-footer__nav-list > li {
  padding-left: 1em;
  position: relative;
}
.l-footer__nav-list > li:before {
  position: absolute;
  display: block;
  content: "";
  top: 0;
  left: 0;
  content: "・";
}
.l-footer__nav-list .icon-lock {
  display: inline-flex;
}
.l-footer__nav-list .icon-lock::before {
  transform: translateY(2px);
  margin-left: 4px;
  order: 2;
}
.l-footer__information {
  padding-top: 80px;
  text-align: center;
}
.l-footer__information-name {
  font-size: 0.875rem;
  font-weight: 700;
}
.l-footer__information-suponsor {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 28px;
  margin-top: 20px;
}

.mv {
  padding-block: 200px;
  display: grid;
  grid-template: minmax(0, 1fr)/minmax(0, 1fr);
  place-content: center;
  min-height: 100vh;
  margin-bottom: 30px;
  background: #fff url(../img/top/img-mv.png) no-repeat center center/cover;
}
.mv .l-wrapper {
  position: relative;
  display: grid;
  align-items: center;
}
.mv__title {
  filter: drop-shadow(0px 0px 3px rgba(0, 0, 0, 0.5));
  text-align: center;
}
.mv__subtitle {
  text-align: center;
}
.mv__text {
  max-width: 720px;
  margin-top: 20px;
  margin-inline: auto;
  padding: 32px;
  background-color: rgba(255, 255, 255, 0.8);
}
.mv__text :where(p) {
  font-weight: 500;
  line-height: 2;
}
.mv__contact {
  position: absolute;
  bottom: -280px;
  right: -270px;
  border-radius: 50%;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  background-color: #fff;
}

.news {
  position: relative;
  margin-top: -60px;
}
.news .l-wrapper {
  padding-block: 60px;
  padding-inline: min(11vw, 100px);
  box-shadow: 0 -10px 10px rgba(0, 0, 0, 0.2);
  background-color: #fff;
  border-radius: 12px;
}
.news__title {
  margin-bottom: 36px;
  font-size: 1.4375rem;
  font-weight: 700;
}
.news__list {
  border-top: 1px solid #c6d1db;
}
.news__item {
  border-bottom: 1px solid #c6d1db;
}
.news__link {
  display: flex;
  align-items: center;
  gap: 40px;
  padding: 22px 24px;
  transition: 0.3s ease;
}
@media (hover: hover) {
  .news__link:hover {
    background-color: #edf1f5;
    opacity: 1;
  }
}
.news__date {
  flex-shrink: 0;
  min-width: 110px;
  font-size: 0.75rem;
  font-weight: 700;
}
.news__text {
  flex: 1 1 auto;
  font-size: 0.875rem;
  line-height: 1.6;
}
.news-list__item {
  border-bottom: 1px solid #e2e2e3;
}
.news-list__item a {
  display: block;
  padding-block: 28px;
  padding-right: 40px;
  text-decoration: none;
  position: relative;
}
.news-list__item a:after {
  position: absolute;
  display: block;
  content: "";
  top: 50%;
  right: 6px;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  background-color: currentColor;
  -webkit-mask: url('data:image/svg+xml;utf8,<svg id="_繝ｬ繧､繝､繝ｼ_1" data-name="繝ｬ繧､繝､繝ｼ 1" xmlns="http://www.w3.org/2000/svg" width="21.85" height="18.61" viewBox="0 0 21.85 18.61">  <path d="M18.78,10.75H.22C.08,10.19,0,9.66,0,9.16c-.03-.42.06-.76.25-1.01.2-.25.53-.38,1.01-.38h17.51v2.98ZM21.85,9.28l-9.32,9.32c-.2-.11-.41-.26-.65-.44-.24-.18-.44-.36-.61-.52-.31-.28-.49-.58-.55-.9-.06-.32.1-.65.46-.99l6.47-6.47-6.47-6.47c-.36-.34-.52-.66-.46-.97.06-.31.24-.62.55-.92.17-.17.37-.34.61-.5.24-.17.45-.31.65-.42l9.32,9.28Z"/></svg>') no-repeat right center/contain;
  mask: url('data:image/svg+xml;utf8,<svg id="_繝ｬ繧､繝､繝ｼ_1" data-name="繝ｬ繧､繝､繝ｼ 1" xmlns="http://www.w3.org/2000/svg" width="21.85" height="18.61" viewBox="0 0 21.85 18.61">  <path d="M18.78,10.75H.22C.08,10.19,0,9.66,0,9.16c-.03-.42.06-.76.25-1.01.2-.25.53-.38,1.01-.38h17.51v2.98ZM21.85,9.28l-9.32,9.32c-.2-.11-.41-.26-.65-.44-.24-.18-.44-.36-.61-.52-.31-.28-.49-.58-.55-.9-.06-.32.1-.65.46-.99l6.47-6.47-6.47-6.47c-.36-.34-.52-.66-.46-.97.06-.31.24-.62.55-.92.17-.17.37-.34.61-.5.24-.17.45-.31.65-.42l9.32,9.28Z"/></svg>') no-repeat right center/contain;
}
.news-list__item a {
  transition: 0.3s ease;
}
@media (hover: hover) {
  .news-list__item a:hover {
    opacity: 1;
    background-color: #edf1f5;
  }
}
.news-list__meta {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 12px;
}
.news-list__date {
  color: #203570;
  font-family: "Roboto", "Noto Sans JP", "Yu Gothic", "YuGothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
}
.news-list__category {
  display: inline-block;
  max-width: 100%;
  min-width: min(112px, 100%);
  padding: 2px 12px;
  border-radius: 10em;
  background: #fff;
  border: 1px solid #203570;
  color: #203570;
  font-size: 0.875rem;
  text-align: center;
}
.news-list__title {
  text-decoration: underline;
  font-weight: 500;
}

.topics {
  margin-top: 60px;
}
.topics__slider {
  overflow: visible;
}
.topics__slider .c-card {
  width: 326px;
}
.topics__intro {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 40px;
  max-width: 900px;
  margin-inline: auto;
  margin-bottom: 32px;
}
.topics .c-title {
  max-width: 900px;
  margin-inline: auto;
}
.topics .swiper-pagination {
  position: static;
  display: flex;
  gap: 20px;
  flex-shrink: 0;
}
.topics .swiper-button {
  position: relative;
  z-index: 1;
  overflow: hidden;
  width: 36px;
  height: 36px;
  border: 1px solid #2e363b;
  border-radius: 50%;
  background: #fff;
}
.topics .swiper-button::before {
  position: absolute;
  inset: 0 auto 0 0;
  z-index: -1;
  width: 0%;
  display: block;
  content: "";
  background: #f07902;
  transition: all 0.3s ease;
}
.topics .swiper-button::after {
  display: block;
  content: "";
  width: 36px;
  height: 36px;
  background-color: currentColor;
  background-size: 1em;
  mask-repeat: no-repeat;
  mask-position: 50% 47%;
  mask-size: 1em;
}
.topics .swiper-button--prev::after {
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13.16 6.88'><path class='cls-1' d='M.27,3.87c1.21.86,2.29,1.87,3.03,2.82.09.12.21.19.34.2.12,0,.24-.03.34-.11l.04-.02c.2-.16.23-.44.07-.68-.58-.72-1.36-1.51-2.15-2.16h10.77c.28,0,.46-.18.46-.46s-.18-.46-.46-.46H1.95c.81-.67,1.6-1.46,2.14-2.17.17-.22.13-.51-.08-.68l-.04-.02c-.09-.08-.19-.12-.3-.12-.01,0-.03,0-.04,0-.13.01-.25.08-.34.2-.74.95-1.82,1.96-3.03,2.82-.18.13-.27.27-.27.42s.09.29.27.42Z'/></svg>");
}
.topics .swiper-button--next::after {
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13.16 6.88'><path d='M12.89,3.02c-1.21-.86-2.29-1.87-3.03-2.82-.09-.12-.21-.19-.34-.2-.12,0-.24.03-.34.11l-.04.02c-.2.16-.23.44-.07.68.58.72,1.36,1.51,2.15,2.16H.46c-.28,0-.46.18-.46.46s.18.46.46.46h10.75c-.81.67-1.6,1.46-2.14,2.17-.17.22-.13.51.08.68l.04.02c.09.08.19.12.3.12.01,0,.03,0,.04,0,.13-.01.25-.08.34-.2.74-.95,1.82-1.96,3.03-2.82.18-.13.27-.27.27-.42s-.09-.29-.27-.42Z'/></svg>");
}
.topics .swiper-button {
  transition: 0.3s ease;
}
@media (hover: hover) {
  .topics .swiper-button:hover {
    opacity: 1;
    border-color: #f07902;
    color: #fff;
  }
  .topics .swiper-button:hover::before {
    width: 100%;
  }
}

.company {
  padding-top: 60px;
}
.company__diagram {
  display: grid;
  grid-template: 1fr/1fr;
  max-width: 780px;
  height: 640px;
  margin-inline: auto;
}
.company__diagram-center {
  display: grid;
  place-content: center;
  grid-row: 1/2;
  grid-column: 1/2;
  position: relative;
}
.company__diagram-center:before {
  position: absolute;
  display: block;
  content: "";
  z-index: -1;
  top: 50%;
  left: 50%;
  width: min(100%, 518px);
  aspect-ratio: 1/1;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  border: 48px solid #f6f8fc;
  background-color: #eef1fa;
}
.company__diagram-list {
  position: relative;
  grid-row: 1/2;
  grid-column: 1/2;
}
.company__diagram-item {
  position: absolute;
  display: grid;
  place-content: center;
  width: min(228px, 100%);
  aspect-ratio: 1/1;
  border-radius: 50%;
  box-shadow: 0 0 18px 0 rgba(0, 0, 0, 0.18);
  background: linear-gradient(188deg, #fff 50%, #ced7f1 100%);
  font-size: 1.25rem;
  font-weight: 700;
  text-align: center;
}
.company__diagram-item--top {
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
.company__diagram-item--left {
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.company__diagram-item--right {
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}
.company__diagram-item--bottom {
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

.service {
  padding-block: 90px;
}
.service__cards {
  display: flex;
  gap: 60px;
  margin-top: 52px;
}
.service-card {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 100px min(100px, 10vw);
  border-radius: 12px;
  box-shadow: 0 0 18px 0 rgba(0, 0, 0, 0.18);
  background-color: #f9f9f9;
}
.service-card__image {
  margin-bottom: 12px;
  text-align: center;
}
.service-card__body {
  display: flex;
  flex-direction: column;
  flex: 1;
}
.service-card__title {
  margin-bottom: 24px;
  font-size: 1.25rem;
  font-weight: 700;
  text-align: center;
}
.service-card__text {
  font-size: 0.875rem;
}
.service-card .c-button-group {
  margin-top: auto;
  padding-top: 40px;
}

.leader {
  padding-block: 50px;
  background: url(../img/top/bg-service.png) no-repeat center center/cover;
}
.leader__grid {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 80px;
  margin-left: -100px;
}
.leader__label {
  display: block;
  width: fit-content;
  margin-inline: auto;
  padding: 8px 28px;
  background-color: #fff;
  color: #62bbe6;
  font-size: 1.25rem;
  font-weight: 700;
  position: relative;
}
.leader__label:after {
  position: absolute;
  display: block;
  content: "";
  top: calc(100% - 1px);
  left: 50%;
  transform: translateX(-50%);
  border-style: solid;
  border-width: 7px 7px 0;
  border-color: #fff transparent transparent;
}
.leader__title {
  margin-top: 20px;
  color: #fff;
  font-size: 2.125rem;
  font-weight: 700;
  text-align: center;
}
.leader__button-area {
  margin-top: 40px;
  text-align: center;
}

.desk {
  padding-block: 90px;
}
.desk__card {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 40px;
  max-width: 935px;
  margin-inline: auto;
  padding: 32px 30px 60px 60px;
  box-shadow: 0 0 18px 0 rgba(0, 0, 0, 0.18);
  border-radius: 12px;
  background-color: #f9f9f9;
}
.desk__en-title {
  margin-left: -146px;
}
.desk__title {
  margin-top: 28px;
  margin-bottom: 12px;
}
.desk__image {
  margin-top: -80px;
}
.desk__text {
  font-size: 0.875rem;
  font-weight: 700;
}
.desk__button-area {
  margin-top: 32px;
}

.faq {
  padding-bottom: 60px;
}
.faq__list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 28px;
}

.member {
  padding-block: 100px;
  position: relative;
}
.member:before {
  position: absolute;
  display: block;
  content: "";
  inset: 0;
  z-index: -1;
  background-color: #e7f5fc;
}
.member-container {
  padding: 60px;
  box-shadow: 0 0 18px 0 rgba(0, 0, 0, 0.18);
  border-radius: 12px;
  background-color: #fff;
}
.member__title {
  text-align: center;
}
.member__title .c-title__en {
  font-size: 1.25rem;
}
.member__title .c-title__ja {
  font-size: 1.75rem;
}
.member-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, clamp(100px, 20%, 180px));
  gap: 30px;
  max-width: 1060px;
  margin-inline: auto;
}
.member .l-wrapper {
  max-width: min(92vw, 1400px);
}
.member-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));
  gap: 80px 72px;
  padding-block: 120px;
}
.member-empty-message {
  grid-column: 1/-1;
  font-size: 1.25rem;
  font-weight: 600;
}
.member-card {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 54px 36px 36px;
  border-radius: 12px;
  background: #fff;
  box-shadow: -3px 1px 9px rgba(192, 211, 237, 0.6);
}
.member-card__badge {
  position: absolute;
  right: 0;
  top: 0;
  max-width: 100%;
  min-width: min(240px, 100%);
  padding: 12px;
  border-radius: 0 12px 0 12px;
  color: #fff;
  font-size: 1.25rem;
  text-align: center;
}
.member-card__thumbnail img {
  object-fit: contain;
  width: 100%;
  height: 100%;
  aspect-ratio: 16/9;
}
.member-card--special .member-card__badge {
  background-color: #EF889E;
}
.member-card--general .member-card__badge {
  background-color: #A5D07C;
}
.member-card--local .member-card__badge {
  background-color: #D7C502;
}
.member-card__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  margin-top: 12px;
}
.member-card__link {
  display: block;
  margin-bottom: 20px;
  color: #2d76c4;
  font-weight: 600;
  font-size: 1.625rem;
  text-align: center;
}
.member-card__tags {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 14px 16px;
}
.member-card__tag {
  padding: 12px 16px;
  border-radius: 10em;
  background: #eaf2fa;
  font-size: 1.0625rem;
  font-weight: 400;
  color: #2d76c4;
  text-align: center;
}
.member-card__btns {
  margin-top: auto;
  padding-top: 26px;
}
.member-card__btns .c-button {
  width: 100%;
  justify-content: center;
}

.anchorList {
  display: flex;
  gap: 5px;
  max-width: 820px;
  margin-inline: auto;
}
.anchorList--wide {
  max-width: 1360px;
}
.anchorList > li {
  flex: 1;
}
.anchorList > li:first-child .anchorList__button {
  border-radius: 12px 0 0 12px;
}
.anchorList > li:last-child .anchorList__button {
  border-radius: 0 12px 12px 0;
}
.anchorList__button {
  position: relative;
  z-index: 1;
  display: grid;
  place-content: center;
  overflow: hidden;
  width: 100%;
  height: 100%;
  min-height: 75px;
  padding: 12px;
  border: 1px solid #ebebec;
  filter: drop-shadow(-3px 1px 6px rgba(192, 211, 237, 0.6));
  background: #fff;
  color: #0090DA;
  font-size: 1.125rem;
}
.anchorList__button::before {
  position: absolute;
  inset: 0 auto 0 0;
  z-index: -1;
  width: 0%;
  display: block;
  content: "";
  background-color: #0090DA;
  transition: all 0.3s ease;
}
.anchorList__button {
  transition: 0.3s ease;
}
@media (hover: hover) {
  .anchorList__button:hover {
    opacity: 1;
    color: #fff;
  }
  .anchorList__button:hover::before {
    width: 100%;
  }
}
.anchorList__button.is-active {
  opacity: 1;
  color: #fff;
}
.anchorList__button.is-active::before {
  width: 100%;
}

.philosophy {
  margin-top: 120px;
}
.philosophy-list {
  gap: 60px;
  width: fit-content;
  margin-inline: auto;
  font-size: 1.4375rem;
  font-weight: 600;
}
.philosophy .c-block--skin01 {
  margin-top: 100px;
}
.philosophy-box {
  padding-bottom: 150px;
  position: relative;
}
.philosophy-box:before {
  position: absolute;
  display: block;
  content: "";
  z-index: -1;
  inset: 0;
  background: url(../img/about/bg-mission.webp) no-repeat center bottom/contain;
}
.philosophy-box__title {
  margin-bottom: 60px;
  font-weight: 900;
  font-family: YuMincho, "Hiragino Mincho ProN", serif;
  font-size: 2.5rem;
  line-height: 58/40;
  text-align: center;
}
.philosophy-box__image {
  margin-bottom: 60px;
  text-align: center;
}
.philosophy-box__text {
  font-size: 1.25rem;
  line-height: 58/20;
  text-align: center;
}
.philosophy-box__summary {
  font-size: 1.875rem;
  font-family: YuMincho, "Hiragino Mincho ProN", serif;
  font-weight: 900;
}

.roadmap-description {
  max-width: 960px;
  margin-inline: auto;
  margin-bottom: 40px;
  font-size: 1.4375rem;
  font-weight: 600;
  line-height: 40.25px;
}
.roadmap-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 56px;
  max-width: 960px;
  margin-inline: auto;
}
.roadmap-list__item {
  padding: 12px;
  border: 1px solid #2D76C4;
  background-color: #2D76C4;
  color: #fff;
  font-size: 1.625rem;
  font-weight: 600;
  text-align: center;
}
.roadmap-list__item--flex {
  display: flex;
  padding: 0;
}
.roadmap-list__item--yellow {
  background-color: #FFF100;
  color: #2D76C4;
}
.roadmap-list__item:not(:last-child) {
  position: relative;
}
.roadmap-list__item:not(:last-child):after {
  position: absolute;
  display: block;
  content: "";
  bottom: -36px;
  left: 50%;
  transform: translateX(-50%);
  border-style: solid;
  border-width: 16px 11px 0;
  border-color: #2D76C4 transparent transparent;
}
.roadmap-list__label {
  width: max(32%, 380px);
  padding: 12px;
}
.roadmap-list__body {
  flex: 1;
  padding: 12px;
  background-color: #E7F5FC;
  color: #2D76C4;
}
.roadmap-list .c-badge {
  margin-left: 8px;
  font-size: 1.25rem;
}

.market {
  margin-top: 80px;
  padding-bottom: 140px;
}

.graph {
  display: flex;
  align-items: center;
  gap: 92px;
}
.graph-container {
  flex: 1;
}
.graph-legend {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px 18px;
  width: fit-content;
  margin-inline: auto;
  margin-top: 16px;
  font-size: 1.4375rem;
  font-weight: 600;
}
.graph-legend-item::before {
  display: inline-block;
  margin-right: 8px;
  content: "■";
}
.graph-legend--public {
  color: #2D76C4;
}
.graph-legend--private {
  color: #3db8ca;
}
.graph-legend--national {
  color: #8B8DC4;
}
.graph-data {
  flex: 1;
}
.graph-data__title {
  margin-bottom: 20px;
  font-size: 2.5rem;
  font-weight: 700;
}
.graph-data__title--small {
  font-size: 1.25rem;
  font-weight: 600;
}

.school-list {
  background-image: linear-gradient(to right, #666 70%, transparent 70%);
  background-size: 6px 1px;
  background-repeat: repeat-x;
  background-position: top left;
}
.school-list__item {
  padding: 20px 0;
  background-image: linear-gradient(to right, #666 70%, transparent 70%);
  background-size: 6px 1px;
  background-repeat: repeat-x;
  background-position: bottom left;
  font-size: 1.4375rem;
  font-weight: 600;
}
.school-list__item .c-badge {
  margin-right: 12px;
}
.school-list__count strong {
  font-family: "Roboto", "Noto Sans JP", "Yu Gothic", "YuGothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: 2.0625rem;
}

.total-area {
  display: flex;
  align-items: end;
  gap: 0 40px;
  margin-top: 20px;
}
.total-label {
  font-size: 2.875rem;
  font-weight: 700;
}
.total-count {
  font-family: "Roboto", "Noto Sans JP", "Yu Gothic", "YuGothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: 2.3125rem;
  font-weight: 600;
}
.total-count strong {
  font-size: 4rem;
  line-height: 1;
}

.stats-title {
  font-weight: 700;
  font-size: 2.5rem;
  text-align: center;
}
.stats-title--small {
  font-weight: 600;
  font-size: 1.25rem;
}
.stats-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px;
  margin-top: 40px;
}
.stats-grid__item {
  padding: 16px;
  border-radius: 8px;
  border: 1px solid #DADBDB;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  font-size: 1.8125rem;
  font-weight: 700;
  font-style: italic;
  text-align: center;
}
.stats-grid__num {
  font-size: 2.75rem;
  font-weight: 700;
}
.stats-grid__total {
  display: grid;
  align-content: center;
  background-color: #81BBE7;
  color: #fff;
  font-size: 2.375rem;
}
.stats-grid__total .stats-grid__num {
  font-size: 3.625rem;
}

.fee {
  padding-top: 64px;
  padding-bottom: 160px;
  background-color: #E7F5FC;
}
.fee-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px 32px;
  margin-top: 80px;
  margin-bottom: 70px;
}
.fee-card {
  padding: 0 80px 120px 80px;
  border-radius: 32px;
  background-color: #fff;
}
.fee-card--blue {
  border: 3px solid #3B7FD3;
}
.fee-card--blue .fee-card__title {
  background-color: #3B7FD3;
}
.fee-card--turquoise {
  border: 3px solid #489B95;
}
.fee-card--turquoise .fee-card__title {
  background-color: #489B95;
}
.fee-card__title {
  transform: translateY(-36%);
  max-width: max(590px, 90%);
  margin-inline: auto;
  padding: 20px;
  border-radius: 10em;
  color: #fff;
  font-weight: 700;
  font-size: 2.5rem;
  text-align: center;
}
.fee-table {
  display: grid;
  grid-template-columns: auto 1fr;
  border-top: 1px solid #6D6C6C;
}
.fee-table__row {
  display: contents;
}
.fee-table__type {
  display: flex;
  align-items: center;
  padding-block: 20px;
  padding-right: 100px;
  border-bottom: 1px solid #6D6C6C;
  font-weight: 900;
  font-size: 1.8125rem;
}
.fee-table__amount {
  display: flex;
  align-items: center;
  padding-block: 20px;
  border-bottom: 1px solid #6D6C6C;
  font-size: 4.375rem;
  font-family: "Roboto", "Noto Sans JP", "Yu Gothic", "YuGothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
  font-weight: 700;
}
.fee-table__target {
  display: flex;
  align-items: center;
  padding-block: 20px;
  border-bottom: 1px solid #6D6C6C;
  font-size: 3rem;
  font-weight: 700;
}
.fee-table__small {
  transform: translateY(4px);
  display: inline-block;
  margin-left: 12px;
  font-size: 1.8125rem;
  font-weight: 700;
}

.benefit {
  margin-top: 36px;
}
.benefit-title {
  max-width: min(140px, 100%);
  margin-bottom: 8px;
  padding: 4px 12px 4px calc(12px + 0.6em);
  border-radius: 12px;
  color: #fff;
  font-size: 1.3125rem;
  text-align: center;
  letter-spacing: 0.6em;
}
.benefit-title--blue {
  background-color: #3B7FD3;
}
.benefit-title--turquoise {
  background-color: #489B95;
}
.benefit-list {
  font-size: 1.3125rem;
  font-weight: 700;
}

.note-box {
  padding: 40px 40px 60px;
  border-radius: 36px;
  background: #fff;
  box-shadow: -3px 1px 9px rgba(192, 211, 237, 0.6);
}
.note-inner {
  width: fit-content;
  margin-inline: auto;
}
.note-title {
  margin-bottom: 20px;
  font-size: 1.8125rem;
  font-weight: 900;
}
.note-list {
  font-size: 1.5rem;
  font-weight: 600;
}

.cta {
  margin-block: 120px;
}
.cta-box {
  padding: 32px 32px 60px;
  border-radius: 24px;
  background: linear-gradient(to right, #3867b4 0%, #4c84c5 100%);
  box-shadow: -3px 1px 9px rgba(192, 211, 237, 0.6);
  color: #fff;
  text-align: center;
}
.cta-box--outline {
  border: 3px solid #707070;
  box-shadow: -3px 1px 9px rgba(192, 211, 237, 0.6);
  background-color: #fff;
  background-image: none;
  color: #2D76C4;
}
.cta-box--outline .c-button--white {
  border-color: #2D76C4;
}
.cta-title {
  margin-bottom: 8px;
  font-weight: 700;
  font-size: 2.25rem;
}
.cta-text {
  font-weight: 400;
  font-size: 1.625rem;
}
.cta-buttons {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 80px;
  margin-top: 32px;
}
.cta-buttons .c-button {
  flex-direction: column;
  justify-content: center;
  min-width: min(320px, 100%);
  font-size: 1.25rem;
}

.benefits-tabs .c-tab__btn {
  border-radius: 24px;
  padding: 36px;
  font-size: 1.875rem;
}
.benefits-heading {
  margin-bottom: 52px;
  font-size: 1.875rem;
  font-weight: 700;
  text-align: center;
}
.benefits-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  margin-bottom: 28px;
}
.benefits-grid--col2to1 {
  grid-column: span 2;
}
.benefits-card {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 24px 36px;
  border-radius: 16px;
  border: 1px solid #2d76c4;
  background: #fff;
}
.benefits-card__icon {
  flex-shrink: 0;
  align-self: start;
}
.benefits-card__title {
  color: #0090da;
  font-size: 1.875rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1.3;
  text-align: left;
}
.benefits-card__fee {
  font-size: 1.25rem;
  font-weight: 700;
}
.benefits-card__num {
  font-family: YuMincho, "Hiragino Mincho ProN", serif;
  font-size: 2.375rem;
}
.benefits-card__area {
  font-size: 2.375rem;
  font-weight: 600;
}
.benefits-card__body .c-list .u-text-caution {
  display: inline-block;
  font-size: 1.25rem;
}
.benefits-card .c-list {
  margin-top: 12px;
  font-size: 1.5rem;
  font-weight: 600;
}
.benefits-notes {
  position: relative;
  padding-right: 190px;
  padding-bottom: 60px;
}
.benefits-notes__title {
  margin-bottom: 8px;
  font-size: 1.25rem;
  font-weight: 400;
}
.benefits-notes__image {
  position: absolute;
  right: 40px;
  bottom: -68px;
}
.benefits-notes .c-list {
  margin-top: 12px;
  font-size: 1.5rem;
}
.benefits .cta-box {
  margin-top: 60px;
  border-radius: 0;
  box-shadow: -3px 1px 9px rgba(192, 211, 237, 0.6);
  background-color: #0090DA;
  background-image: none;
}
.benefits.u-bg-sky::before {
  bottom: 28px;
}

.flow {
  padding-top: 200px;
}
.flow-list {
  display: grid;
  gap: 100px;
}
.flow-list__item {
  display: flex;
  gap: 60px;
  z-index: 1;
}
.flow-list__item:not(:last-child) {
  position: relative;
}
.flow-list__item:not(:last-child):before {
  position: absolute;
  display: block;
  content: "";
  top: 0;
  bottom: -100px;
  left: 172px;
  z-index: -1;
  width: 1px;
  background-color: #15439A;
}
.flow-list__icon {
  flex-shrink: 0;
}
.flow-list__body {
  flex: 1;
  padding-top: 20px;
}
.flow-list__body :where(p) {
  font-size: 1.5rem;
}
.flow-list__label {
  color: #0090da;
  font-family: "Roboto", "Noto Sans JP", "Yu Gothic", "YuGothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
  font-weight: 700;
  font-size: 2.25rem;
  letter-spacing: 0.04em;
  line-height: 1.6;
}
.flow-list__title {
  margin-top: 0;
  margin-bottom: 28px;
  color: #000;
  font-size: 2.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.3;
}
.flow-list__btns {
  margin-top: 32px;
}
.flow-list__btns .c-button {
  min-width: min(560px, 100%);
  justify-content: center;
  font-size: 1.5rem;
}
.flow-list__btns .icon-file::before {
  transform: scale(1.5) translateY(2px);
}
.flow-list__notes {
  margin-top: 20px;
}
.flow-list__notes :is(.c-list, p) {
  font-size: 1.25rem;
}
.flow-list__notes p {
  margin-bottom: 8px;
}

.search {
  margin-top: 120px;
  box-shadow: none;
}
.search.is-open .c-accordion__trigger {
  border-radius: 12px 12px 0 0;
}
.search__title .c-accordion__trigger {
  border-radius: 12px;
  background-color: #2D76C4;
  color: #fff;
}
.search__content {
  background-color: #fff;
  border-radius: 0 0 12px 12px;
}
.search__content .c-accordion__inner {
  padding-top: 20px;
  padding-bottom: 80px;
}

section.category {
  padding-block: 60px;
}

.category-group__subtitle {
  margin-bottom: 24px;
  color: #0090da;
  font-weight: 700;
  font-size: 1.5rem;
  letter-spacing: 0.04em;
}
.category-group__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 60px 48px;
}
.category-group__button {
  justify-content: center;
  min-width: 100%;
  height: 100%;
  font-size: 1.5rem;
  font-weight: 400;
}
.category-group__button.is-active {
  opacity: 1;
  color: #EAF2FA;
}
.category-group__button.is-active::before {
  width: 100%;
}
.category-group + .category-group {
  margin-top: 40px;
  padding-top: 60px;
  border-top: 1px solid #2D76C4;
}
.category-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
}
.category-card {
  padding: 32px 40px;
  border-radius: 4px;
  border: 12px solid #D6DDF3;
  box-shadow: 0 0 20px 0 #D9E5F4;
  background-color: #fff;
}
.category-card__title {
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 1px solid #949495;
  font-weight: 700;
  font-size: 1.4375rem;
  letter-spacing: 0.04em;
}
.category-card__label {
  width: fit-content;
  min-width: min(5em, 100%);
  margin-bottom: 6px;
  padding: 4px 20px;
  border-radius: 10em;
  background-color: #2D76C4;
  color: #fff;
  font-weight: 600;
  font-size: 1.0625rem;
  text-align: justify;
  text-align-last: justify;
}
.category-card__description {
  color: #2d76c4;
  font-weight: 600;
  font-size: 1.125rem;
  line-height: 32/18;
}
.category-card__action {
  margin-top: 40px;
  text-align: right;
}

.organization {
  padding-block: 60px;
}

.overview {
  padding-block: 60px;
}
.overview__table th {
  width: 28%;
}

.board {
  padding-block: 60px;
}
.board__table th {
  width: 28%;
}

.achievements {
  padding-block: 60px;
}

.supporters {
  padding-block: 60px;
}
.supporters-list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 80px 60px;
}
.supporters-list__item {
  flex: 1 1 calc(33.333% - 60px);
  max-width: 220px;
}
.supporters-profile__thumbnail {
  display: block;
  width: 100%;
  aspect-ratio: 1/1;
}
.supporters-profile__thumbnail img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
}
.supporters-profile__name {
  margin-top: 16px;
  margin-bottom: 4px;
  padding-bottom: 4px;
  border-bottom: 2px dotted #666;
  font-weight: 600;
  font-size: 1.125rem;
  line-height: 1.7;
  text-align: center;
}
.supporters-profile__info {
  padding-inline: 12px;
  font-size: 0.875rem;
  font-weight: 600;
}
.supporters-profile__info :where(p) + :where(p) {
  margin-top: 0;
}
.supporters-profile__action {
  margin-top: 12px;
}

.support {
  margin-block: 120px;
}
.support-menu__title {
  width: fit-content;
  min-width: min(100%, 470px);
  margin-inline: auto;
  margin-bottom: 100px;
  padding: 20px 60px 24px;
  border-radius: 10em;
  background-color: #2D76C4;
  color: #fff;
  font-size: 1.4375rem;
  font-weight: 700;
  text-align: center;
  position: relative;
}
.support-menu__title::after {
  position: absolute;
  display: block;
  content: "";
  top: calc(100% - 1px);
  left: 50%;
  transform: translateX(-50%);
  border-style: solid;
  border-width: 11px 10px 0;
  border-color: #2D76C4 transparent transparent;
}
.support-slider__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto auto auto auto;
  gap: min(140px, 7.29vw);
}
.support-slider .swiper-slide {
  padding: 20px 30px 30px;
}
.support-slider .swiper-button {
  position: relative;
  top: auto;
  left: auto;
  z-index: 1;
  overflow: hidden;
  display: grid;
  place-content: center;
  width: 68px;
  aspect-ratio: 1/1;
  border: 1px solid #2D76C4;
  border-radius: 50%;
  background: #2D76C4;
}
.support-slider .swiper-button::before {
  position: absolute;
  inset: 0 auto 0 0;
  z-index: -1;
  width: 0%;
  display: block;
  content: "";
  background: #fff;
  transition: all 0.3s ease;
}
.support-slider .swiper-button::after {
  display: block;
  content: "";
  width: 36px;
  height: 36px;
  background-color: #fff;
  background-size: 20px auto;
  mask-repeat: no-repeat;
  mask-position: 50% 47%;
  mask-size: 20px auto;
}
.support-slider .swiper-button--prev::after {
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13.16 6.88'><path class='cls-1' d='M.27,3.87c1.21.86,2.29,1.87,3.03,2.82.09.12.21.19.34.2.12,0,.24-.03.34-.11l.04-.02c.2-.16.23-.44.07-.68-.58-.72-1.36-1.51-2.15-2.16h10.77c.28,0,.46-.18.46-.46s-.18-.46-.46-.46H1.95c.81-.67,1.6-1.46,2.14-2.17.17-.22.13-.51-.08-.68l-.04-.02c-.09-.08-.19-.12-.3-.12-.01,0-.03,0-.04,0-.13.01-.25.08-.34.2-.74.95-1.82,1.96-3.03,2.82-.18.13-.27.27-.27.42s.09.29.27.42Z'/></svg>");
}
.support-slider .swiper-button--next::after {
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13.16 6.88'><path d='M12.89,3.02c-1.21-.86-2.29-1.87-3.03-2.82-.09-.12-.21-.19-.34-.2-.12,0-.24.03-.34.11l-.04.02c-.2.16-.23.44-.07.68.58.72,1.36,1.51,2.15,2.16H.46c-.28,0-.46.18-.46.46s.18.46.46.46h10.75c-.81.67-1.6,1.46-2.14,2.17-.17.22-.13.51.08.68l.04.02c.09.08.19.12.3.12.01,0,.03,0,.04,0,.13-.01.25-.08.34-.2.74-.95,1.82-1.96,3.03-2.82.18-.13.27-.27.27-.42s-.09-.29-.27-.42Z'/></svg>");
}
.support-slider .swiper-button {
  transition: 0.3s ease;
}
@media (hover: hover) {
  .support-slider .swiper-button:hover {
    opacity: 1;
    border-color: #2D76C4;
    color: #2D76C4;
  }
  .support-slider .swiper-button:hover::before {
    width: 100%;
  }
  .support-slider .swiper-button:hover::after {
    background-color: #2D76C4;
  }
}
.support-slider .swiper-button-disabled {
  pointer-events: none;
  opacity: 0.5;
}
.support-slider .swiper-control {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 100px;
}
.support-slider .swiper-pagination {
  position: static;
  display: flex;
  justify-content: center;
  gap: 20px;
}
.support-slider .swiper-pagination-bullet {
  width: 20px;
  height: 20px;
  opacity: 1 !important;
  margin: 0 !important;
  background: #bfc0c0;
}
.support-slider .swiper-pagination-bullet-active {
  background: #2d76c4;
}
.support-card {
  position: relative;
  display: grid;
  grid-row: span 6;
  grid-template-rows: subgrid;
  gap: 0;
  padding: 40px;
  border: 1px solid #2d76c4;
  box-shadow: 0 0 9px rgba(192, 211, 237, 0.6);
  background: #e7f5fc;
}
.support-card__badge {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -18px);
  display: grid;
  place-content: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #2d76c4;
  color: #fff;
  font-family: "Roboto", "Noto Sans JP", "Yu Gothic", "YuGothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
  font-weight: 600;
  font-size: 26px;
}
.support-card__title {
  align-self: center;
  margin-top: 0;
  margin-bottom: 48px;
  font-weight: 700;
  font-size: 1.875rem;
  letter-spacing: 0.04em;
  line-height: 1.57;
  text-align: center;
}
.support-card__subtitle {
  margin: 0 -40px 40px;
  padding: 12px;
  color: #fff;
  background: #81bbe7;
  font-weight: 600;
  font-size: 1.625rem;
  line-height: 1.7;
  text-align: center;
}
.support-list {
  display: grid;
  align-content: start;
  gap: 40px;
}
.support-list__item {
  padding: 16px 40px;
  border-radius: 12px;
  font-size: 1.5625rem;
}
.support-list__item p {
  line-height: 1.3;
}
.support-list__item p + p {
  margin-top: 8px;
}
.support-list__small {
  margin-top: 0;
  font-size: 0.9375rem;
}
.support-list__mid {
  margin-top: 0;
  font-size: 1.25rem;
}
.support-list--type1 {
  padding-bottom: 100px;
  position: relative;
}
.support-list--type1:after {
  position: absolute;
  display: block;
  content: "";
  bottom: 38px;
  left: 50%;
  transform: translateX(-50%);
  border-style: solid;
  border-width: 28px 22px 0;
  border-color: #81BBE7 transparent transparent;
}
.support-list--type1 .support-list__item {
  background: #fff;
  border: 1px solid #2d76c4;
  color: #2D76C4;
}
.support-list--type2 .support-list__item {
  background: #2D76C4;
  border: 1px solid #2D76C4;
  color: #fff;
}
.support-content__title {
  display: flex;
  align-items: center;
  gap: 40px;
  margin-bottom: 52px;
  font-weight: 700;
  font-size: 2.625rem;
  letter-spacing: 0.04em;
  line-height: 1.4;
}
.support-content__title-badge {
  flex-shrink: 0;
  display: grid;
  place-content: center;
  width: 76px;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: #2d76c4;
  color: #fff;
  font-family: "Roboto", "Noto Sans JP", "Yu Gothic", "YuGothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
  font-weight: 600;
  font-size: 36px;
}
.support-content__grid {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0;
  box-shadow: 0 0 9px rgba(192, 211, 237, 0.6);
  border-radius: 20px 20px 0 0;
  overflow: hidden;
}
.support-task {
  display: grid;
  grid-row: span 2;
  grid-template-rows: subgrid;
  gap: 0;
}
.support-task__header {
  padding: 32px;
  background-color: #20A1DE;
  color: #fff;
  font-weight: 600;
  font-size: 1.5rem;
  line-height: 1.3;
}
.support-task__title {
  display: flex;
  align-items: center;
  gap: 20px;
}
.support-task__icon {
  flex-shrink: 0;
}
.support-task__body {
  display: grid;
  align-items: center;
  padding: 20px 52px;
  border-left: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  background-color: #F6F6F6;
  position: relative;
}
.support-task__body:after {
  position: absolute;
  display: block;
  content: "";
  top: 50%;
  right: -34px;
  transform: translateY(-50%);
  width: 68px;
  aspect-ratio: 1/1;
  border: 1px solid #2D76C4;
  border-radius: 50%;
  background: #2D76C4 url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13.16 6.88'><path d='M12.89,3.02c-1.21-.86-2.29-1.87-3.03-2.82-.09-.12-.21-.19-.34-.2-.12,0-.24.03-.34.11l-.04.02c-.2.16-.23.44-.07.68.58.72,1.36,1.51,2.15,2.16H.46c-.28,0-.46.18-.46.46s.18.46.46.46h10.75c-.81.67-1.6,1.46-2.14,2.17-.17.22-.13.51.08.68l.04.02c.09.08.19.12.3.12.01,0,.03,0,.04,0,.13-.01.25-.08.34-.2.74-.95,1.82-1.96,3.03-2.82.18-.13.27-.27.27-.42s-.09-.29-.27-.42Z' fill='%23fff'/></svg>") no-repeat center center/24px auto;
}
.support-task__list {
  font-weight: 600;
  font-size: 1.5625rem;
  line-height: 1.3;
}
.support-task__list > li {
  padding: 32px 0;
}
.support-task__list > li:not(:first-child) {
  background-image: linear-gradient(to right, #969797 70%, transparent 70%);
  background-size: 6px 1px;
  background-repeat: repeat-x;
  background-position: top left;
}
.support-resource {
  display: grid;
  grid-row: span 2;
  grid-template-rows: subgrid;
  gap: 0;
}
.support-resource__header {
  padding: 32px;
  background-color: #2D76C4;
  color: #fff;
  font-weight: 600;
  font-size: 1.5rem;
  line-height: 1.3;
}
.support-resource__title {
  display: flex;
  align-items: center;
  gap: 20px;
}
.support-resource__icon {
  flex-shrink: 0;
}
.support-resource__body {
  display: grid;
  align-items: center;
  padding: 20px 56px;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  background-color: #fff;
}
.support-resource__list {
  font-weight: 600;
  color: #2D76C4;
  font-size: 2rem;
  line-height: 1.3;
}
.support-resource__list > li {
  padding: 32px 0;
}
.support-resource__list > li:not(:first-child) {
  border-top: 1px solid #2D76C4;
}
.support-resource__small {
  margin-top: 8px;
  font-size: 1.4375rem;
  font-weight: 400;
  line-height: 1.3;
}
.support-flow {
  padding-block: 120px;
}

.step-list__item {
  position: relative;
  display: flex;
  background-color: white;
  border-radius: 12px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
  margin-bottom: 60px;
  padding-right: 160px;
  position: relative;
  min-height: 180px;
  overflow: visible;
}
.step-list__item::after {
  content: "";
  position: absolute;
  bottom: -20px;
  left: 50%;
  transform: translateX(-50%);
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
  border-top: 20px solid white;
  z-index: 5;
}
.step-list__item:nth-child(2) .step-list__image {
  right: -20px;
}
.step-list__item:nth-child(3) .step-list__image {
  top: auto;
  bottom: -20px;
}
.step-list__number {
  flex-shrink: 0;
  display: grid;
  place-content: center;
  width: 112px;
  border-radius: 12px 0 0 12px;
  background-color: #2D76C4;
  color: #fff;
  font-family: "Roboto", "Noto Sans JP", "Yu Gothic", "YuGothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1;
}
.step-list__number span:not(.step-list__num) {
  padding-left: 6px;
}
.step-list__num {
  font-size: 2.75rem;
}
.step-list__body {
  padding: 40px;
}
.step-list__title {
  margin-bottom: 16px;
  color: #2d76c4;
  font-weight: 700;
  font-size: 1.875rem;
  letter-spacing: 0.04em;
  line-height: 1.5;
}
.step-list__text {
  font-weight: 600;
  font-size: 1.5rem;
  line-height: 42/24;
}
.step-list__image {
  position: absolute;
  top: -40px;
  right: 20px;
}

.widget + .widget {
  margin-top: 48px;
}
.widget__title {
  margin-bottom: 16px;
  font-weight: 700;
  font-size: 1.25rem;
}
.widget .c-list--circle li.is-active::before {
  background-color: #147bc6;
}
.widget .c-list--circle .is-active {
  color: #147bc6;
}
.widget .c-list--circle a {
  text-decoration: none;
}

.form-step {
  display: flex;
  justify-content: center;
  gap: 60px;
  margin-block: 60px;
}
.form-step > li {
  display: grid;
  place-content: center;
  width: 76px;
  aspect-ratio: 1/1;
  background: #fff;
  border: 2px solid #1ba2e4;
  border-radius: 50%;
  color: #1ba2e4;
  font-weight: 500;
}
.form-step > li[aria-current=step] {
  background-color: #1ba2e4;
  color: #fff;
}
.form-step > li:not(:last-child) {
  position: relative;
}
.form-step > li:not(:last-child):after {
  position: absolute;
  display: block;
  content: "";
  top: 50%;
  right: -36px;
  transform: translateY(-50%);
  width: 12px;
  height: 12px;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5.416" height="10.136" viewBox="0 0 5.416 10.136">  <path id="パス_313" data-name="パス 313" d="M866.072,808.789l3.628,4.233-3.628,4.636" transform="translate(-865.284 -808.138)" fill="none" stroke="%23c7c8c8" stroke-linejoin="round" stroke-width="2"/></svg>') no-repeat center center/contain;
}
.form-lead {
  color: #5a5a5a;
  font-weight: 500;
  font-size: 1.0625rem;
}
.form-wrap {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  margin-top: 80px;
}
.form-group {
  grid-column: 1/-1;
  display: grid;
  grid-template-columns: subgrid;
  gap: 20px 0;
  padding-block: 24px;
  border: none;
  border-bottom: 1px solid #cdcece;
}
.form-label-text {
  padding-right: 40px;
  grid-column: 1;
  font-size: 1.125rem;
  font-weight: 700;
}
.form-label-text .c-badge {
  margin-right: 12px;
  font-size: 0.9375rem;
}
.form-controls {
  grid-column: 2;
}
.form-controls .form-zip {
  width: 10em;
}
.form-controls .form-pref {
  width: fit-content;
  padding-right: 60px;
  border: 1px solid #bbbcbc;
  border-radius: 0;
  background-color: #f4f4f4;
}
.form-controls > input[type=text],
.form-controls > input[type=email],
.form-controls > input[type=tel],
.form-controls > textarea {
  margin-block: -4px;
}
.form-address {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 16px 20px;
}
.form-address label {
  font-weight: 500;
}
.form-error-message {
  display: block;
  margin-top: 8px;
  color: #e00;
  font-size: 0.9375rem;
  font-weight: 500;
}
.form-error-message:empty {
  display: none;
}
.form-note-message {
  margin-top: 8px;
  color: #666;
  font-weight: 500;
  font-size: 0.9375rem;
}
.form-info-message {
  margin-top: 16px;
  color: #666;
  font-weight: 500;
}
.form-button-group {
  margin-top: 60px;
  text-align: center;
}
.form-button-group:has(input) .c-button {
  cursor: pointer;
}
.form-button-group:has(input) .wpcf7-previous {
  margin-right: 20px;
}
.form-button-group:has(input) .c-button--blue2 {
  background-image: linear-gradient(to right, #fff 50%, #0090DA 50%);
  background-size: 200% 100%;
  background-position: 100% 0%;
  transition: 0.3s ease;
}
@media (hover: hover) {
  .form-button-group:has(input) .c-button--blue2:hover {
    opacity: 1;
    background-position: 0% 0%;
    color: #0090DA;
  }
}
.form-button-group:has(.submit-outer) {
  display: flex;
  flex-wrap: wrap;
  align-items: start;
  justify-content: center;
  gap: 20px;
}
.form-button-group:has(.submit-outer) #back-to-input-btn {
  margin-top: 8px;
}
.form-file-upload {
  margin-top: 20px;
}
.form-file-upload #file-upload {
  position: absolute;
  opacity: 0;
  visibility: hidden;
}

.wpcf7-spinner {
  display: block !important;
  margin: 24px auto !important;
}

.submit-outer {
  min-width: min(340px, 100%);
}

@media print, screen and (min-width: 1920px) {
  .l-pagetitle::before {
    background-size: 100% 100%;
  }
}
@media screen and (max-width: 1729.98px) {
  .l-header__logo-link {
    flex-direction: column;
  }
  .l-gnav {
    gap: 10px;
  }
  .l-gnav__link {
    padding: 12px 8px;
  }
  .l-gnav__actions {
    gap: 10px;
  }
  .l-gnav__btn--apply {
    padding: 32px 16px;
  }
  .fee-table__type {
    padding-right: 50px;
  }
}
@media screen and (max-width: 1599.98px) {
  .mv__contact {
    bottom: -210px;
    right: -80px;
  }
  .fee-card {
    padding: 0 50px 120px 40px;
  }
}
@media screen and (max-width: 1399.98px) {
  .l-header__logo-suponsor {
    flex-direction: column;
    gap: 8px;
  }
  .graph {
    gap: 40px;
  }
  .fee-table__type {
    padding-right: 20px;
  }
  .fee-table__small {
    font-size: 1.375rem;
  }
  .fee-table__amount {
    font-size: 3.5rem;
  }
  .fee-table__target {
    font-size: 2.625rem;
  }
  .member-card__link {
    font-size: 1.25rem;
  }
  .member-card__tag {
    font-size: 0.875rem;
  }
  .search {
    margin-top: 60px;
  }
  .member-grid {
    gap: 32px 32px;
    padding-block: 60px 120px;
  }
}
@media screen and (max-width: 1179.98px) {
  .l-header__logo-link {
    width: 140px;
  }
  .l-header__logo-suponsor {
    width: 80px;
  }
  .l-gnav__btn--instructor {
    padding: 12px 8px;
  }
  .l-gnav__btn--apply {
    padding: 32px 8px;
  }
  .service-card {
    padding: 100px min(100px, 6vw);
  }
  .desk__en-title {
    margin-left: -90px;
  }
  .mv__contact {
    bottom: -200px;
    right: -30px;
    width: 240px;
    height: 240px;
  }
  .graph-data__title {
    line-height: 1.2;
  }
  .graph-data__title--small {
    display: inline-block;
  }
  .school-list__item {
    display: grid;
  }
  .school-list__item .c-badge {
    text-align: center;
  }
  .total-area {
    flex-wrap: wrap;
  }
  .fee-table {
    grid-template-columns: 1fr;
  }
  .fee-table__type {
    padding-bottom: 0;
    border-bottom: 0;
  }
  .fee-table__type + * {
    padding-top: 0;
  }
  .support-slider__grid {
    gap: 20px;
  }
  .support-slider .swiper-control {
    margin-top: 20px;
  }
}
/* ▼グロナビ変更 */
@media print, screen and (min-width: 960px) {
  .l-gnav__btn {
    display: none;
  }
}
@media screen and (max-width: 959.98px) {
  .c-block--skin02 .c-block__body {
    padding: 40px 40px 80px;
  }
  .c-pagination {
    margin-top: 32px;
    gap: 6px;
  }
  .c-pagination > :where(:is(a, span)) {
    min-width: 32px;
    min-height: 32px;
    padding: 4px;
    font-size: 0.875rem;
  }
  .c-pagination__prev {
    min-width: 0;
    padding: 4px 8px 4px 28px;
  }
  .c-pagination__prev::after {
    left: 8px;
    width: 12px;
    height: 12px;
  }
  .c-pagination__next {
    justify-content: start;
    min-width: 0;
    padding: 4px 28px 4px 8px;
  }
  .c-pagination__next::after {
    right: 8px;
    width: 12px;
    height: 12px;
  }
  .l-header {
    height: 80px;
  }
  .l-header__logo {
    margin-top: 4px;
  }
  .l-header__logo-link {
    gap: 4px;
    width: unset;
  }
  .l-header__logo-suponsor {
    flex-direction: row;
  }
  .l-gnav {
    position: fixed;
    top: 80px;
    right: 0;
    bottom: 0;
    overflow-y: auto;
    display: block;
    padding-bottom: 60px;
    background-color: rgba(255, 255, 255, 0.9);
    transform: translateX(100%);
    transition: transform 0.3s ease;
  }
  .l-gnav.is-open {
    transform: translateX(0);
  }
  .l-gnav__btn {
    position: absolute;
    right: 0;
    top: 0;
    width: 80px;
    height: 80px;
    border: 0;
    background-color: #1072af;
    display: block;
  }
  .l-gnav__btn.is-open .l-gnav__bar:nth-child(1) {
    top: 40px;
    transform: rotate(45deg);
  }
  .l-gnav__btn.is-open .l-gnav__bar:nth-child(2) {
    width: 0;
  }
  .l-gnav__btn.is-open .l-gnav__bar:nth-child(3) {
    top: 40px;
    transform: rotate(-45deg);
  }
  .l-gnav__bar {
    position: absolute;
    left: 20px;
    display: block;
    width: 40px;
    height: 2px;
    background-color: #fff;
    transition: all 0.3s ease;
  }
  .l-gnav__bar:nth-child(1) {
    top: 30px;
  }
  .l-gnav__bar:nth-child(2) {
    top: 40px;
  }
  .l-gnav__bar:nth-child(3) {
    top: 50px;
  }
  .l-gnav__list {
    display: block;
    width: min(80vw, 270px);
  }
  .l-gnav__dropdown {
    position: static;
    overflow: visible;
    opacity: 1;
    visibility: visible;
    max-height: unset;
    padding: 0 !important;
    box-shadow: none;
  }
  .l-gnav__actions {
    flex-direction: column;
    align-items: stretch;
    padding: 0 12px;
  }
  .l-gnav__btn--apply {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px 8px;
    border-radius: 10em;
    font-size: 0.875rem;
  }
  .l-gnav__btn--apply::before {
    transform: scale(1.3);
    display: inline-block;
    width: 1em;
    height: 1em;
    margin-right: 4px;
    margin-left: 0;
  }
  .l-column {
    grid-template-columns: auto 240px;
  }
  .company__logo-text {
    width: 220px;
  }
  .graph-legend {
    font-size: 1.125rem;
  }
  .stats-grid__item {
    font-size: 1.375rem;
  }
  .stats-grid__total .stats-grid__num {
    font-size: 3rem;
  }
  .fee-grid {
    grid-template-columns: 1fr;
  }
  .fee-card {
    padding: 0 80px 80px 80px;
  }
  .cta-buttons {
    gap: 20px;
  }
  .cta-buttons .c-button {
    min-width: min(300px, 100%);
  }
  .benefits-grid {
    grid-template-columns: 1fr;
  }
  .benefits-grid--col2to1 {
    grid-column: span 1;
  }
  .benefits-notes {
    padding-right: 150px;
  }
  .benefits-notes__image {
    right: 0;
  }
  .flow-list__icon {
    width: 200px;
  }
  .flow-list__title {
    font-size: 2.25rem;
  }
  .flow-list__item {
    gap: 32px;
  }
  .flow-list__item:not(:last-child)::before {
    left: 99px;
  }
  .member-grid {
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  }
  .member-card {
    padding-inline: 20px;
  }
  .category-group__list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px 16px;
  }
  .category-group__button {
    font-size: 1rem;
  }
  .support-menu__title {
    margin-bottom: 40px;
  }
  .support-card {
    padding: 40px 20px 20px;
  }
  .support-card__title {
    margin-bottom: 20px;
    font-size: 1.5rem;
  }
  .support-card__subtitle {
    margin: 0 -20px 20px;
    font-size: 1.25rem;
  }
  .support-list {
    gap: 16px;
  }
  .support-list__item {
    padding: 12px;
    font-size: 1.125rem;
  }
  .support-list__small {
    margin-top: 0;
    font-size: 0.875rem;
  }
  .support-list__mid {
    font-size: 1rem;
  }
  .support-list--type1 {
    padding-bottom: 60px;
  }
  .support-list--type1::after {
    bottom: 16px;
  }
  .support-content__grid {
    grid-template-columns: 1fr 1fr;
  }
  .support-task__header {
    padding: 20px;
    font-size: 1.25rem;
  }
  .support-task__title {
    gap: 12px;
  }
  .support-task__body {
    padding: 20px 32px;
  }
  .support-task__body::after {
    right: -16px;
    width: 32px;
    background-size: 18px auto;
  }
  .support-task__list {
    font-size: 1.125rem;
  }
  .support-resource__header {
    padding: 20px;
    font-size: 1.25rem;
  }
  .support-resource__body {
    padding: 20px 32px;
  }
  .support-resource__list {
    font-size: 1.125rem;
  }
  .support-resource__small {
    margin-top: 4px;
    font-size: 0.875rem;
  }
  .step-list__num {
    font-size: 2.5rem;
  }
  .step-list__body {
    padding: 40px 28px;
  }
  .step-list__tilte {
    margin-bottom: 8px;
    font-size: 1.25rem;
  }
  .step-list__text {
    font-size: 1.125rem;
  }
}
/* ▼タブレット用デザインとして付け足すデザイン */
@media print, screen and (min-width: 768px) {
  .u-only-sp {
    display: none;
  }
  .c-telLink {
    pointer-events: none;
  }
}
/* ▼モバイルのみ付け足すデザイン */
@media screen and (max-width: 767.98px) {
  .u-only-pc {
    display: none;
  }
  .c-title--skin01 {
    margin-bottom: 12px;
    font-size: 1.25rem;
  }
  .c-title--skin02 {
    margin-bottom: 20px;
    font-size: 1.5rem;
  }
  .c-title--skin03 {
    gap: 4px;
    margin-bottom: 28px;
  }
  .c-title--skin03 + .c-lead {
    margin-top: -20px;
    margin-bottom: 28px;
  }
  .c-title__en {
    font-size: 0.875rem;
  }
  .c-title__ja {
    font-size: 1.125rem;
  }
  .c-pagetitle__en {
    font-size: 1.5rem;
  }
  .c-pagetitle__ja {
    font-size: 1rem;
  }
  .c-link--arrow {
    gap: 8px;
  }
  .c-link--arrow::after {
    display: inline-block;
    content: "";
    width: 1.5em;
    height: 1.5em;
    background-size: 10px;
  }
  .c-intro {
    padding-left: 0px;
  }
  .c-block + .c-block {
    margin-top: 20px;
  }
  .c-block--skin01 .c-block__head {
    margin-bottom: 20px;
  }
  .c-block--skin01 .c-block__title {
    padding: 10px 10px 14px;
    font-size: 1.125rem;
  }
  .c-block--skin01 .c-block__body {
    padding: 20px;
  }
  .c-block--skin02 .c-block__title {
    padding: 12px 10px;
    font-size: 1.125rem;
  }
  .c-block--skin02 .c-block__body {
    padding: 20px;
  }
  .c-entry__header {
    margin-bottom: 12px;
    padding-bottom: 12px;
  }
  .c-entry__title {
    margin-bottom: 12px;
    font-size: 1.25rem;
  }
  .c-entry__meta {
    gap: 16px;
  }
  .c-entry__date {
    font-size: 0.875rem;
  }
  .c-entry__category {
    padding: 2px 12px;
    font-size: 0.75rem;
  }
  .c-entry__content {
    line-height: 1.5;
  }
  .c-entry__content > :where(*) + :where(*) {
    margin-top: 12px;
  }
  .c-entry__content > :where(h1, h2, h3, h4, h5, h6) {
    margin-top: 24px;
  }
  .c-entry__content > :where(h1, h2, h3, h4, h5, h6) + :where(*) {
    margin-top: 8px;
  }
  .c-entry__content table :is(th, td) {
    padding: 6px 4px;
    font-size: 0.875rem;
  }
  .c-entry__content h1 {
    font-size: 1.5rem;
  }
  .c-entry__content h2 {
    font-size: 1.375rem;
  }
  .c-entry__content h3 {
    font-size: 1.25rem;
  }
  .c-entry__content h4 {
    font-size: 1.125rem;
  }
  .c-entry__content h5 {
    font-size: 1rem;
  }
  .c-entry__content h6 {
    font-size: 0.9375rem;
  }
  .c-entry__content blockquote {
    padding: 8px 12px;
    border-left-width: 4px;
  }
  .c-table :is(th, td) {
    padding: 10px 12px 11px;
    font-size: 0.875rem;
  }
  .c-table td {
    font-weight: 500;
  }
  .c-badge {
    padding: 4px 12px;
  }
  .c-lead {
    font-size: 1.0625rem;
    line-height: 1.8;
  }
  .c-radio-group {
    gap: 8px 20px;
  }
  .c-accordion__trigger {
    padding: 12px 40px 12px 20px;
    font-size: 1rem;
  }
  .c-accordion__trigger::after {
    right: 12px;
    font-size: 20px;
  }
  .c-accordion__content {
    padding: 0 20px;
    font-size: 0.875rem;
  }
  .c-accordion__inner {
    padding-bottom: 20px;
  }
  .c-tab__menu {
    gap: 8px;
    margin-bottom: 12px;
    padding: 12px;
  }
  .c-tab__btn {
    padding: 12px;
  }
  .c-tab__panel {
    padding: 12px;
  }
  .l-header {
    height: 70px;
    padding-left: 4vw;
  }
  .l-header__logo-link {
    width: 120px;
  }
  .l-header__logo-text {
    font-size: 0.625rem;
  }
  .l-header__logo-suponsor {
    flex-direction: column;
    gap: 4px;
  }
  .l-gnav {
    top: 70px;
  }
  .l-gnav__btn {
    width: 70px;
    height: 70px;
  }
  .l-gnav__btn.is-open .l-gnav__bar:nth-child(1) {
    top: 34px;
  }
  .l-gnav__btn.is-open .l-gnav__bar:nth-child(3) {
    top: 34px;
  }
  .l-gnav__bar {
    width: 30px;
  }
  .l-gnav__bar:nth-child(1) {
    top: 24px;
  }
  .l-gnav__bar:nth-child(2) {
    top: 34px;
  }
  .l-gnav__bar:nth-child(3) {
    top: 44px;
  }
  .l-column {
    grid-template-columns: minmax(0, 1fr);
  }
  .l-pagetitle {
    min-height: 210px;
    margin-bottom: 40px;
    padding-top: 92px;
    padding-bottom: 20px;
  }
  .l-pagetitle::before {
    background-size: 160% 100%;
  }
  .l-pagetitle + .u-bg-sky::before {
    top: -210px;
  }
  .l-section__header {
    margin-bottom: 20px;
  }
  .l-footer {
    padding: 40px 4vw;
  }
  .l-footer__inner {
    padding: 20px;
    border-radius: 12px;
  }
  .l-footer__logo-sub {
    font-size: 0.75rem;
  }
  .l-footer__logo-main {
    font-size: 1.125rem;
  }
  .l-footer__nav-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .l-footer__nav-title {
    font-size: 1rem;
  }
  .l-footer__nav-list {
    font-size: 0.875rem;
  }
  .l-footer__information {
    padding-top: 28px;
  }
  .l-footer__information-name {
    font-size: 0.75rem;
  }
  .l-footer__information-suponsor {
    flex-wrap: wrap;
    gap: 12px;
  }
  .mv {
    padding-block: 100px 40px;
  }
  .mv__text {
    padding: 20px;
  }
  .mv__contact {
    width: 160px;
    height: 160px;
    position: static;
    margin-left: auto;
    margin-top: -30px;
  }
  .news .l-wrapper {
    padding: 20px 20px;
  }
  .news__title {
    margin-bottom: 16px;
    font-size: 1.25rem;
  }
  .news__link {
    align-items: stretch;
    flex-direction: column;
    gap: 4px;
    padding: 12px;
  }
  .news__date {
    min-width: 0;
    flex: 1;
  }
  .news-list__item a {
    padding-block: 8px;
    padding-right: 32px;
  }
  .news-list__item a::after {
    width: 16px;
    height: 16px;
  }
  .news-list__meta {
    gap: 12px;
    margin-bottom: 4px;
  }
  .news-list__date {
    font-size: 0.875rem;
  }
  .news-list__category {
    min-width: 0;
    font-size: 0.6875rem;
  }
  .topics {
    margin-top: 40px;
  }
  .topics__intro {
    flex-direction: column;
    align-items: stretch;
    gap: 20px;
  }
  .topics__slider .c-card {
    width: 240px;
  }
  .topics .swiper-pagination {
    justify-content: center;
  }
  .company {
    padding-top: 40px;
  }
  .company__diagram {
    display: block;
    height: auto;
    padding-top: 60px;
  }
  .company__diagram-center::before {
    width: 200px;
    border-width: 30px;
  }
  .company__diagram-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    margin-top: 20px;
  }
  .company__diagram-item {
    position: static;
    width: 120px;
    font-size: 0.875rem;
    line-height: 1;
  }
  .company__diagram-item--top {
    transform: none;
  }
  .company__diagram-item--left {
    transform: none;
  }
  .company__diagram-item--right {
    transform: none;
  }
  .company__diagram-item--bottom {
    transform: none;
  }
  .service {
    padding-block: 40px;
  }
  .service__cards {
    flex-direction: column;
    gap: 8px;
    margin-top: 20px;
  }
  .service-card {
    padding: 20px;
  }
  .service-card__image {
    width: 60%;
    margin-inline: auto;
  }
  .service-card__title {
    margin-bottom: 12px;
    font-size: 1.0625rem;
  }
  .leader {
    padding-block: 40px;
  }
  .leader__grid {
    grid-template-columns: 1fr;
    gap: 20px;
    margin-left: 0;
  }
  .leader__title {
    font-size: 1.375rem;
  }
  .leader__button-area {
    margin-top: 20px;
  }
  .desk {
    padding-block: 40px;
  }
  .desk__card {
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 32px 20px 20px;
  }
  .desk__en-title {
    margin-left: 0px;
  }
  .desk__title {
    margin-top: 12px;
  }
  .desk__image {
    width: 40%;
    margin-top: 0;
    margin-inline: auto;
  }
  .faq {
    padding-bottom: 40px;
  }
  .member {
    padding-block: 40px;
  }
  .member-container {
    padding: 20px;
  }
  .member__title .c-title__en {
    font-size: 0.875rem;
  }
  .member__title .c-title__ja {
    font-size: 1.125rem;
  }
  .member-list {
    grid-template-columns: repeat(auto-fit, minmax(80px, 1fr));
    gap: 12px;
  }
  .member-grid {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 16px;
    padding-block: 20px 60px;
  }
  .member-card {
    padding: 16px;
  }
  .member-card__badge {
    min-width: min(100px, 100%);
    padding: 4px;
    font-size: 0.875rem;
  }
  .member-card__link {
    margin-bottom: 12px;
    font-size: 1.0625rem;
  }
  .member-card__tags {
    grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
    gap: 8px;
  }
  .member-card__tag {
    padding: 8px;
    font-size: 0.75rem;
  }
  .anchorList {
    gap: 2px;
  }
  .anchorList__button {
    padding: 8px 4px;
    font-size: 0.875rem;
    text-align: center;
  }
  .philosophy {
    margin-top: 40px;
  }
  .philosophy-list {
    gap: 20px;
    font-size: 1.125rem;
  }
  .philosophy .c-block--skin01 {
    margin-top: 40px;
  }
  .philosophy-box {
    padding-bottom: 40px;
  }
  .philosophy-box::before {
    background-position: center 20%;
  }
  .philosophy-box__title {
    margin-bottom: 28px;
    font-size: 1.25rem;
  }
  .philosophy-box__image {
    margin-bottom: 20px;
  }
  .philosophy-box__text {
    font-size: 1rem;
  }
  .philosophy-box__summary {
    font-size: 1.125rem;
  }
  .roadmap-description {
    margin-bottom: 20px;
    font-size: 1rem;
    line-height: 1.5;
  }
  .roadmap-list {
    gap: 28px;
  }
  .roadmap-list__item {
    padding: 8px;
    font-size: 0.875rem;
  }
  .roadmap-list__item:not(:last-child)::after {
    bottom: -24px;
  }
  .roadmap-list__item--flex {
    flex-direction: column;
    padding: 0;
  }
  .roadmap-list__label {
    width: 100%;
    padding: 8px;
  }
  .roadmap-list__body {
    flex: 1;
    padding: 8px;
    background-color: #E7F5FC;
    color: #2D76C4;
  }
  .roadmap-list .c-badge {
    font-size: 0.875rem;
  }
  .market {
    margin-top: 40px;
    padding-bottom: 40px;
  }
  .graph {
    flex-direction: column-reverse;
    gap: 32px;
  }
  .graph-legend {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 4px 20px;
    font-size: 0.875rem;
  }
  .graph-data__title {
    margin-bottom: 16px;
    font-size: 1.625rem;
  }
  .graph-data__title--small {
    font-size: 0.875rem;
  }
  .school-list__item {
    padding: 12px 0;
    font-size: 1rem;
  }
  .school-list__count {
    text-align: center;
  }
  .total {
    margin-top: 12px;
  }
  .total-area {
    justify-content: center;
    gap: 0 16px;
  }
  .total-label {
    font-size: 1.25rem;
  }
  .total-count {
    font-size: 1rem;
  }
  .total-count strong {
    font-size: 2.5rem;
  }
  .stats-title {
    font-size: 1.625rem;
  }
  .stats-title--small {
    font-size: 0.875rem;
  }
  .stats-grid {
    margin-top: 20px;
    gap: 8px;
  }
  .stats-grid__item {
    padding: 12px 4px;
    font-size: 0.9375rem;
  }
  .stats-grid__num {
    font-size: 1.25rem;
  }
  .stats-grid__total {
    font-size: 1.125rem;
  }
  .stats-grid__total .stats-grid__num {
    font-size: 1.5rem;
  }
  .fee {
    padding-top: 40px;
    padding-bottom: 40px;
  }
  .fee-grid {
    gap: 40px 32px;
    margin-top: 50px;
  }
  .fee-card {
    padding: 0 20px 40px 20px;
    border-radius: 20px;
  }
  .fee-card__title {
    transform: translateY(-50%);
    max-width: max(160px, 70%);
    padding: 8px 12px;
    font-size: 1.125rem;
  }
  .fee-table {
    grid-template-columns: auto 1fr;
  }
  .fee-table__type {
    padding-block: 12px;
    padding-right: 12px;
    border-bottom: 1px solid #6D6C6C;
    font-size: 1.125rem;
  }
  .fee-table__amount {
    padding-block: 12px;
    font-size: 2.375rem;
  }
  .fee-table__target {
    padding-block: 12px;
    font-size: 1.75rem;
  }
  .fee-table__small {
    margin-left: 4px;
    font-size: 1rem;
  }
  .benefit {
    margin-top: 20px;
  }
  .benefit-title {
    border-radius: 8px;
    font-size: 1rem;
  }
  .benefit-list {
    font-size: 1rem;
  }
  .note-box {
    padding: 20px;
    border-radius: 16px;
  }
  .note-title {
    margin-bottom: 8px;
    font-size: 1.25rem;
  }
  .note-list {
    font-size: 1.125rem;
  }
  .cta {
    margin-block: 60px;
  }
  .cta-box {
    padding: 20px;
    border-radius: 20px;
  }
  .cta-title {
    font-size: 1.625rem;
  }
  .cta-text {
    font-size: 1.125rem;
  }
  .cta-buttons {
    gap: 16px;
    margin-top: 20px;
  }
  .cta-buttons .c-button {
    min-width: min(280px, 100%);
    font-size: 1rem;
  }
  .benefits-tabs .c-tab__btn {
    border-radius: 8px;
    padding: 8px;
    font-size: 1rem;
  }
  .benefits-heading {
    margin-bottom: 12px;
    font-size: 1.25rem;
  }
  .benefits-grid {
    gap: 12px;
    margin-bottom: 20px;
  }
  .benefits-card {
    gap: 8px;
    padding: 12px;
    border-radius: 8px;
  }
  .benefits-card__icon {
    width: 80px;
  }
  .benefits-card__title {
    font-size: 1.25rem;
  }
  .benefits-card__fee {
    font-size: 1rem;
  }
  .benefits-card__num {
    font-size: 1.875rem;
  }
  .benefits-card__area {
    font-size: 1.75rem;
  }
  .benefits-card__body .c-list .u-text-caution {
    font-size: 0.875rem;
  }
  .benefits-card .c-list {
    margin-top: 8px;
    font-size: 1rem;
  }
  .benefits-notes {
    padding-right: 60px;
    padding-bottom: 10px;
  }
  .benefits-notes .c-list {
    margin-top: 12px;
    font-size: 1rem;
  }
  .benefits-notes__image {
    right: -25px;
    bottom: -20px;
    width: 80px;
  }
  .benefits .cta-box {
    margin-top: 32px;
  }
  .flow {
    padding-top: 40px;
  }
  .flow-list {
    gap: 20px;
  }
  .flow-list__item {
    gap: 16px;
  }
  .flow-list__item:not(:last-child)::before {
    left: 36px;
    bottom: -20px;
  }
  .flow-list__icon {
    width: 72px;
  }
  .flow-list__body {
    padding-top: 8px;
  }
  .flow-list__body :where(p) {
    font-size: 1rem;
  }
  .flow-list__label {
    font-size: 1rem;
  }
  .flow-list__title {
    margin-bottom: 8px;
    font-size: 1.25rem;
  }
  .flow-list__btns {
    margin-top: 12px;
  }
  .flow-list__btns .c-button {
    font-size: 1rem;
  }
  .flow-list__btns .icon-file::before {
    transform: scale(1.5) translateY(0px);
    margin-right: 12px;
  }
  .flow-list__notes {
    margin-top: 12px;
  }
  .flow-list__notes :is(.c-list, p) {
    font-size: 0.875rem;
  }
  .flow-list__notes p {
    margin-bottom: 4px;
  }
  .search {
    margin-top: 20px;
  }
  section.category {
    padding-block: 20px;
  }
  .category-group__subtitle {
    margin-bottom: 12px;
    font-size: 1.125rem;
  }
  .category-group__list {
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 12px;
  }
  .category-group + .category-group {
    margin-top: 20px;
    padding-top: 16px;
  }
  .category-list {
    gap: 20px;
  }
  .category-card {
    padding: 20px;
    border-width: 6px;
    box-shadow: 0 0 10px 0 #D9E5F4;
  }
  .category-card__title {
    margin-bottom: 16px;
    padding-bottom: 8px;
    font-size: 1.125rem;
  }
  .category-card__label {
    font-size: 0.9375rem;
  }
  .category-card__description {
    font-size: 1rem;
  }
  .category-card__action {
    margin-top: 20px;
    font-size: 0.9375rem;
  }
  .organization {
    padding-block: 20px;
  }
  .overview {
    padding-block: 20px;
  }
  .board {
    padding-block: 20px;
  }
  .achievements {
    padding-block: 20px;
  }
  .supporters {
    padding-block: 20px;
  }
  .supporters-list {
    gap: 16px 20px;
  }
  .supporters-list__item {
    width: min(45%, 150px);
    flex: none;
  }
  .supporters-profile__name {
    margin-top: 12px;
    font-size: 1rem;
  }
  .supporters-profile__info {
    padding-inline: 0px;
    font-size: 0.75rem;
  }
  .support {
    margin-block: 40px 20px;
  }
  .support-menu__title {
    margin-bottom: 20px;
    padding: 10px 10px 14px;
    font-size: 1.125rem;
  }
  .support-menu__title::after {
    position: absolute;
    display: block;
    content: "";
    top: calc(100% - 1px);
    left: 50%;
    transform: translateX(-50%);
    border-style: solid;
    border-width: 11px 10px 0;
    border-color: #2D76C4 transparent transparent;
  }
  .support-slider__grid {
    gap: 0 8px;
  }
  .support-slider .swiper-slide {
    padding: 20px 0 0;
  }
  .support-slider .swiper-control {
    margin-top: 20px;
  }
  .support-slider .swiper-button {
    width: 32px;
  }
  .support-slider .swiper-button::after {
    width: 20px;
    height: 20px;
    mask-size: 14px auto;
  }
  .support-slider .swiper-pagination {
    gap: 8px;
  }
  .support-slider .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
  }
  .support-card {
    padding: 16px 8px 8px;
  }
  .support-card__badge {
    transform: translate(-50%, -12px);
    width: 30px;
    height: 30px;
    font-size: 1rem;
  }
  .support-card__title {
    margin-bottom: 8px;
    font-size: 0.9375rem;
  }
  .support-card__subtitle {
    margin: 0 -8px 8px;
    padding: 8px;
    font-size: 0.875rem;
  }
  .support-list {
    gap: 8px;
  }
  .support-list__item {
    padding: 8px;
    border-radius: 4px;
    font-size: 0.875rem;
  }
  .support-list__small {
    font-size: 0.625rem;
  }
  .support-list__mid {
    font-size: 0.75rem;
  }
  .support-list--type1 {
    padding-bottom: 32px;
  }
  .support-list--type1::after {
    bottom: 9px;
    border-width: 12px 11px 0;
  }
  .support-content__title {
    gap: 8px;
    margin-bottom: 20px;
    font-size: 1.25rem;
  }
  .support-content__title-badge {
    width: 32px;
    font-size: 16px;
  }
  .support-content__grid {
    border-radius: 12px 12px 0 0;
    grid-template-columns: 1fr;
  }
  .support-task__header {
    padding: 12px;
  }
  .support-task__body {
    padding: 8px 12px 20px;
    border-right: 1px solid #ccc;
    border-bottom: 0;
  }
  .support-task__body::after {
    top: auto;
    right: 50%;
    bottom: -12px;
    transform: translate(50%, 0) rotate(90deg);
    border: 1px solid #fff;
  }
  .support-task__list {
    font-size: 1rem;
  }
  .support-task__list > li {
    padding-block: 8px;
  }
  .support-resource__header {
    padding: 12px;
  }
  .support-resource__body {
    padding: 8px 12px;
    border-left: 1px solid #ccc;
  }
  .support-resource__list {
    font-size: 1rem;
  }
  .support-resource__list > li {
    padding-block: 8px;
  }
  .support-resource__small {
    font-size: 0.75rem;
  }
  .support-flow {
    padding-block: 40px;
  }
  .step-list__item {
    margin-bottom: 32px;
    padding-right: 0;
  }
  .step-list__item:nth-child(1) .step-list__image {
    top: -32px;
    right: -10px;
  }
  .step-list__item:nth-child(2) .step-list__image {
    top: -28px;
    right: -10px;
  }
  .step-list__item:nth-child(3) .step-list__image {
    top: -28px;
    right: -4px;
    width: 60px;
  }
  .step-list__number {
    position: absolute;
    top: 0;
    left: 0;
    transform: translate(-20%, -40%);
    width: 48px;
    aspect-ratio: 1/1;
    border-radius: 50%;
    font-size: 0.625rem;
    text-align: center;
  }
  .step-list__number span:not(.step-list__num) {
    padding-left: 0;
  }
  .step-list__num {
    font-size: 1.125rem;
  }
  .step-list__body {
    padding: 28px 16px 16px;
  }
  .step-list__title {
    margin-bottom: 4px;
    padding-right: 60px;
    font-size: 1.125rem;
  }
  .step-list__text {
    font-size: 0.9375rem;
  }
  .step-list__image {
    width: 80px;
  }
  .widget + .widget {
    margin-top: 28px;
  }
  .widget__title {
    margin-bottom: 8px;
    font-size: 1.125rem;
  }
  .form-step {
    gap: 30px;
    margin-block: 20px;
  }
  .form-step > li {
    width: 50px;
    font-size: 0.875rem;
  }
  .form-step > li:not(:last-child)::after {
    right: -24px;
  }
  .form-lead {
    font-size: 0.9375rem;
    text-align: left;
  }
  .form-wrap {
    grid-template-columns: minmax(0, 1fr);
    margin-top: 0px;
  }
  .form-group {
    gap: 8px 0;
    padding-block: 12px;
  }
  .form-label-text {
    padding-top: 0;
    padding-right: 0px;
    font-size: 1rem;
  }
  .form-label-text .c-badge {
    margin-right: 8px;
    font-size: 0.75rem;
  }
  .form-address {
    gap: 12px 20px;
  }
  .form-button-group {
    margin-top: 20px;
  }
  .form-button-group .wpcf7-previous {
    margin-right: 0;
    margin-bottom: 20px;
  }
}
/* #Print Fixes */
@media print {
  * {
    box-shadow: none !important;
    text-shadow: none !important;
  }
  @page {
    margin: 1cm 1cm;
  }
  p, h2, h3 {
    orphans: 3;
    widows: 3;
  }
  h2, h3 {
    page-break-after: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr, img {
    page-break-inside: avoid;
  }
  body {
    width: auto;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}