@charset "UTF-8";
:root {
  --pi: 14px;
  --num: "Lexend Zetta";
}

html {
  font-size: 62.5%;
  scroll-behavior: smooth;
}
@media screen and ( max-width: 768px ) {
  html {
    font-size: 50%;
  }
}
@media screen and ( max-width: 480px ) {
  html {
    font-size: 62.5%;
  }
}

body {
  font-family: YakuHanRP, "Zen Maru Gothic", sans-serif;
  font-size: 1.6rem;
  box-sizing: border-box;
  font-weight: 500;
  line-height: 1.6;
  text-spacing-trim: space-all;
}

img {
  width: 100%;
  max-width: 100%;
  height: auto;
}

a:hover {
  opacity: 0.7;
}

main {
  margin-top: 68px;
  position: relative;
  z-index: 10;
}

main [id] {
  scroll-margin-top: 76px;
}

iframe {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.l_inner {
  max-width: 345px;
  margin: 0 auto;
  width: 100%;
}

.l_siteScale {
  width: 100%;
  max-width: 375px;
  margin-inline: auto;
}

html.is-site-scaled {
  overflow-x: hidden;
}
html.is-site-scaled body {
  overflow-x: hidden;
}
html.is-site-scaled .l_siteScale {
  max-width: none;
  margin-inline: auto;
  transform-origin: top center;
}

.l_pcBg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.l_pcBg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.l_pcBg::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../img/pc-bg.webp) no-repeat center center;
  background-size: 100% 100%;
}

.l_container {
  max-width: 375px;
  margin: 0 auto;
  width: 100%;
  background-color: #fff;
  overflow: hidden;
  position: relative;
}
.l_container::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3474.3633px;
  background: url(../img/container-bg.svg) no-repeat center center;
  z-index: 0;
}

body:not(.p_top) .l_container::before {
  display: none;
}

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

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

.c_pc-menu {
  display: none;
}
@media (min-width: 1000px) and (min-aspect-ratio: 1000/700) {
  .c_pc-menu {
    display: block;
  }
}
.c_pc-menu {
  position: fixed;
  top: calc(278 * min(100vh, 1080px) / 1080);
  left: calc(128 * min(100vw, 1920px) / 1920);
  width: calc(400 * min(100vh, 1080px) / 1080);
  height: calc(675.22 * min(100vh, 1080px) / 1080);
  overflow: hidden;
  background: url(../img/pc-menu-bg.svg) no-repeat center center/100% 100%;
}

.c_pc-menu__wrapper {
  box-sizing: border-box;
  padding: 20.2% 15%;
  height: 100%;
}

.c_pc-menu__logo {
  width: calc(204.2103 * min(100vh, 1080px) / 1080);
  margin-bottom: calc(39.8 * min(100vh, 1080px) / 1080);
}
.c_pc-menu__logo img {
  width: 100%;
  height: auto;
}

.c_pc-menu__nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.c_pc-menu__nav ul li a {
  font-size: calc(24 * min(100vh, 1080px) / 1080);
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: 2.5;
  letter-spacing: calc(1.2 * min(100vh, 1080px) / 1080);
  text-align: left;
  color: #000;
  display: flex;
  align-items: center;
  gap: calc(13.15 * min(100vh, 1080px) / 1080);
  text-decoration: none;
}
.c_pc-menu__nav ul li a .c_pc-menu__nav-icon {
  flex-shrink: 0;
  width: calc(20 * min(100vh, 1080px) / 1080);
  height: calc(20 * min(100vh, 1080px) / 1080);
  background: url(../img/pc-nav-visible.svg) no-repeat center center/100% 100%;
}
.c_pc-menu__nav ul li.is-active a .c_pc-menu__nav-icon {
  background-image: url(../img/pc-nav-active.svg);
}

.c_pc-link {
  display: none;
}
@media (min-width: 1000px) and (min-aspect-ratio: 1000/700) {
  .c_pc-link {
    display: block;
  }
}
.c_pc-link {
  position: fixed;
  top: calc(278 * min(100vh, 1080px) / 1080);
  right: calc(128 * min(100vw, 1920px) / 1920);
  width: calc(400 * min(100vh, 1080px) / 1080);
}
.c_pc-link img {
  width: 100%;
  height: auto;
  display: block;
}

.c_pc-link__banner {
  margin-top: calc(68 * min(100vh, 1080px) / 1080);
}
.c_pc-link__banner a {
  display: block;
  line-height: 0;
}
.c_pc-link__banner a:hover {
  opacity: 1;
}

.c_pc-link__btn {
  display: flex;
  flex-direction: column;
  gap: calc(22.3 * min(100vh, 1080px) / 1080);
  width: calc(361 * min(100vh, 1080px) / 1080);
  margin-left: calc(32 * min(100vh, 1080px) / 1080);
}
.c_pc-link__btn a {
  display: block;
  line-height: 0;
}

.c_floatBtn {
  position: fixed;
  bottom: 0;
  left: 50%;
  z-index: 90;
  display: flex;
  width: 100%;
  max-width: 375px;
  height: 60px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateX(-50%) translateY(100%);
  transition: opacity 0.35s ease, visibility 0.35s ease, transform 0.35s ease;
}
.c_floatBtn > * {
  flex: 1;
}
.c_floatBtn.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}
@media (prefers-reduced-motion: reduce) {
  .c_floatBtn {
    transform: translateX(-50%);
  }
  .c_floatBtn.is-visible {
    transform: translateX(-50%);
  }
}

.c_floatBtn__experience {
  background-color: #1d4293;
  border-radius: 8px 8px 0 0;
}
.c_floatBtn__experience a {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  height: 100%;
  padding: 0;
  font-size: 14px;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 1.6px;
  text-align: center;
  color: #fff;
  padding-right: 5px;
}
.c_floatBtn__experience a::after {
  content: "";
  position: absolute;
  inset: 5px 3px 0 5px;
  border: 1px solid #fff;
  border-bottom: none;
  border-radius: 4px 4px 0 0;
  pointer-events: none;
}
.c_floatBtn__experience a span {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.c_floatBtn__experience a span img {
  width: 100%;
  height: 100%;
}

.c_floatBtn__school {
  background-color: #c40018;
  border-radius: 8px 8px 0 0;
}
.c_floatBtn__school a {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  height: 100%;
  padding: 0;
  font-size: 14px;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 1.6px;
  text-align: center;
  color: #fff;
}
.c_floatBtn__school a::after {
  content: "";
  position: absolute;
  inset: 5px 5px 0 3px;
  border: 1px solid #fff;
  border-bottom: none;
  border-radius: 4px 4px 0 0;
  pointer-events: none;
}
.c_floatBtn__school a span {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.c_floatBtn__school a span img {
  width: 100%;
  height: 100%;
}

.c-cta__toTopBlock {
  padding-block: 33px 33px;
}

.c-breadcrumbs__container {
  display: flex;
  flex-wrap: wrap;
  column-gap: 0;
  row-gap: 0.4em;
  margin-top: 16px;
  margin-left: 27px;
  padding: 0 16px 0 0;
  list-style: none;
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0.05em;
}

.c-breadcrumbs__item {
  flex-shrink: 0;
  white-space: nowrap;
}

.c-breadcrumbs__item:not(:first-child)::before {
  content: ">";
  display: inline-block;
  width: 1.5em;
  text-align: center;
}
.c-breadcrumbs__item:not(:first-child) span {
  color: #B7002C;
}

.c-cta__btn a {
  display: block;
  width: 333px;
  max-width: 100%;
  margin-inline: auto;
  line-height: 0;
}
.c-cta__btn a:hover {
  opacity: 0.85;
}
.c-cta__btn a img {
  display: block;
  width: 100%;
  height: auto;
}

.c-cta__btnIcon {
  width: 24px;
  height: 24px;
  position: absolute;
  right: 24px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
}
.c-cta__btnIcon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  vertical-align: first;
}

.c-low-fv {
  height: 282px;
  background-size: cover;
  background-position: top center;
  background-repeat: no-repeat;
  background-image: url(../img/low_page_fv.webp);
}
.c-low-fv--blue {
  background-image: url(../img/low_page_fv_blue.webp);
}

.c-low-fv__ttl {
  font-size: 22px;
  font-weight: 700;
  text-align: center;
  align-content: center;
  height: 100%;
  padding-bottom: 60px;
}

.c-low-fv__contents {
  position: relative;
  z-index: 1;
  padding-inline: var(--pi);
}

.c-low-fv__ellipse {
  position: absolute;
  top: -70px;
  left: 0;
  z-index: -1;
  width: 375px;
  aspect-ratio: 375/288;
}
.c-low-fv__ellipse img {
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.c-pager {
  width: fit-content;
  max-width: 100%;
  margin-inline: auto;
}
.c-pager .nav-links {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  gap: 4px;
  width: max-content;
  max-width: 100%;
}
.c-pager span,
.c-pager a {
  flex-shrink: 0;
  font-weight: 600;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  font-family: var(--num);
  text-align: center;
  border-radius: 7px;
  border: 1px solid #00396E;
  box-sizing: border-box;
}
.c-pager span {
  color: #fff;
  background-color: #00396E;
}
.c-pager a {
  color: #00396E;
  background-color: #fff;
}
.c-pager .dots {
  background-color: unset;
  border: none;
  color: #00396E;
}

.p_privacy-policy-modal {
  position: fixed;
  inset: 0;
  z-index: 1100;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 72px 14px 24px;
  overflow-y: auto;
  box-sizing: border-box;
}
.p_privacy-policy-modal[hidden] {
  display: none;
}
.p_privacy-policy-modal__overlay {
  position: fixed;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.45);
}
.p_privacy-policy-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(100%, 347px);
  max-height: calc(100vh - 96px);
  margin: 0 auto;
  overflow: hidden;
  border-radius: 10px;
  background-color: #fff;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}
.p_privacy-policy-modal__close {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  width: 40px;
  height: 40px;
  border: 0;
  background: transparent;
  font-size: 28px;
  line-height: 1;
  color: #00396e;
  cursor: pointer;
}
.p_privacy-policy-modal__body {
  overflow-y: auto;
  padding: 16px 4px 16px 0;
  -webkit-overflow-scrolling: touch;
}
.p_privacy-policy-modal__contents {
  margin: 0;
  padding: 12px 16px 20px;
  border-radius: 0;
  gap: 16px;
  background-color: #fff;
}
.p_privacy-policy-modal__srOnly {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

body.is-privacy-policy-modal-open {
  overflow: hidden;
}

.head {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  max-width: 375px;
  margin: 0 auto;
  z-index: 100;
}

.head-inner {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  min-height: 68px;
}

.head-logo {
  display: flex;
  align-items: center;
  width: 86.061px;
  margin-left: 15px;
}
.head-logo a {
  display: block;
  width: 100%;
  line-height: 0;
}

.head-menuBtn {
  position: relative;
  z-index: 110;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5.8px;
  width: 70px;
  min-height: 70px;
  height: 70px;
  padding: 22.3px 10px 10px;
  border: 0;
  border-radius: 0 0 0 16px;
  background-color: #1d429b;
  color: #fff;
  cursor: pointer;
  transition: opacity 0.2s;
}
.head-menuBtn:hover {
  opacity: 0.85;
}

.head-menuBtn__bars {
  display: flex;
  flex-direction: column;
  gap: 7.7px;
  width: 40px;
}

.head-menuBtn__bar {
  display: block;
  width: 100%;
  height: 3px;
  border-radius: 999px;
  background-color: #fff;
}

.head-menuBtn__label {
  font-family: "Lexend Zetta", sans-serif;
  font-size: 10px;
  line-height: 18px;
  font-weight: 400;
  letter-spacing: 0;
}

.head-nav {
  position: fixed;
  top: 0;
  left: 50%;
  z-index: 120;
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 375px;
  height: 100vh;
  height: 100dvh;
  padding: 0 0 32px;
  background-color: #B7002C;
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, -8px);
  transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
  overflow-y: auto;
}
.head-nav.is-open {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
}

.head-nav__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.head-nav__logo {
  flex-shrink: 0;
  width: 177px;
  margin-left: 15px;
}
.head-nav__logo a {
  display: block;
  line-height: 0;
}

.head-nav__close {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 70px;
  min-height: 70px;
  padding: 10px 8px 8px;
  border: 0;
  border-radius: 0 0 0 20px;
  background-color: #b79400;
  color: #fff;
  cursor: pointer;
  transition: opacity 0.2s;
}
.head-nav__close:hover {
  opacity: 0.85;
}

.head-nav__closeIcon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 18px;
  line-height: 0;
}
.head-nav__closeIcon svg {
  display: block;
  width: 100%;
  height: 100%;
}

.head-nav__closeLabel {
  font-family: "Lexend Zetta", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1;
}

.head-nav__body {
  flex: 1;
  padding: 35px 69px 56.29px;
}

.head-nav__menu {
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.head-nav__link {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #fff;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 1.2px;
  line-height: 1.4;
}
.head-nav__link:hover {
  opacity: 0.75;
}

.head-nav__icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
}
.head-nav__icon img {
  display: block;
  width: 20px;
  height: 20px;
}

.head-nav__cta {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 0 20px;
}

.head-nav__ctaBtn {
  display: block;
  line-height: 0;
}
.head-nav__ctaBtn:hover {
  opacity: 0.85;
}
.head-nav__ctaBtn img {
  display: block;
  width: 100%;
  height: auto;
}

body.is-menu-open {
  overflow: hidden;
}

.js-head {
  display: none;
  flex: 1;
  align-items: center;
  justify-content: flex-end;
  gap: 26px;
  min-width: 0;
  margin-left: 15px;
  margin-right: 8px;
}

.js-head__logo {
  flex-shrink: 0;
  width: 56.4548px;
}
.js-head__logo a {
  display: block;
  line-height: 0;
}

.js-head__menu-nav ul {
  display: flex;
  gap: 8.5px;
  height: 26px;
}
.js-head__menu-nav ul li:nth-of-type(2) a {
  background-color: #ffea16;
}
.js-head__menu-nav a {
  font-size: 12px;
  font-weight: 700;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.2;
  letter-spacing: 0.6px;
  text-align: left;
  color: #000;
  border-radius: 12px;
  border: solid 2px #000000;
  background-color: #ffeb19;
  display: block;
  height: 100%;
  align-content: center;
  padding: 0 10px;
}
.js-head__menu-nav a:hover {
  opacity: 0.75;
}

.head.is-past-mv {
  background-color: #fff;
}
.head.is-past-mv .js-head {
  display: flex;
}
.head.is-past-mv .js-head__logo {
  display: none;
}

.footer {
  background-color: #1d4293;
  padding: 31.8px 0 0;
}

.footer-info {
  border-radius: 0 12px 0 12px;
  background-color: #fff;
  display: flex;
  padding: 18.7px 19.9px 17.4px 23.3px;
  gap: 21.4px;
  margin-bottom: 34px;
}

.footer-info__logo {
  width: 81.48px;
  padding-top: 3.8px;
}

.footer-info__text {
  flex: 1;
}
.footer-info__text h2 {
  font-size: 15px;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.2;
  letter-spacing: 0.38px;
  text-align: left;
  color: #000;
  margin-bottom: 0.6px;
}
.footer-info__text .footer-info__text-access {
  margin-bottom: 9.4px;
}
.footer-info__text .footer-info__text-access p {
  font-size: 12px;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.33;
  letter-spacing: 0.6px;
  text-align: left;
  color: #000;
}
.footer-info__text .footer-info__text-tel {
  display: flex;
}
.footer-info__text .footer-info__text-tel span {
  width: 22.43px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.footer-info__text .footer-info__text-tel p {
  font-family: "Lexend Zetta", sans-serif;
  font-size: 16px;
  font-weight: 600;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.2;
  letter-spacing: 0.16px;
  text-align: left;
  color: #b7002c;
}

.footer-nav {
  padding: 0 19.5px;
  display: flex;
  flex-direction: column;
  gap: 27.8px;
}
.footer-nav ul {
  display: flex;
  flex-wrap: wrap;
  gap: 13.2px 35.9px;
}
.footer-nav ul li {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8.7px;
  padding-bottom: 2.1px;
  border-bottom: 1px dashed #fff;
  width: 135px;
}
.footer-nav ul li::before {
  content: "";
  width: 12px;
  height: 12px;
  background: url(../img/footer-nav-icon.svg) no-repeat center center/contain;
  display: block;
}
.footer-nav ul li span {
  font-size: 14px;
  font-weight: 500;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.2;
  letter-spacing: 0.7px;
  text-align: left;
  color: #fff;
}

.footer-nav__link {
  margin-bottom: 49.5px;
}
.footer-nav__link p {
  font-size: 12px;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.83;
  letter-spacing: 0.6px;
  text-align: left;
  color: #fff;
}

.footer-copy {
  background-color: #00396e;
  height: 39.4px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.footer-copy p {
  font-size: 10px;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.2;
  letter-spacing: 0.5px;
  text-align: left;
  color: #fff;
}

.p_top-mv {
  margin-bottom: 63.3px;
}

.p_top-mvMain {
  position: relative;
  margin-bottom: 14px;
}
.p_top-mvMain__media {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 0;
  width: 315px;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.p_top-mvMain__fallback {
  display: block;
  width: 100%;
  height: auto;
}
.p_top-mvMain__videoEl {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 0.2s ease;
}
.is-playing .p_top-mvMain__videoEl {
  opacity: 1;
}
.p_top-mvMain__media.has-mask.is-playing .p_top-mvMain__videoEl {
  -webkit-mask-image: var(--fv-mask);
  mask-image: var(--fv-mask);
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-mode: alpha;
  mask-mode: alpha;
}
.p_top-mvMain__media.is-playing .p_top-mvMain__fallback {
  opacity: 0;
}
.p_top-mvMain__ttl {
  position: relative;
  z-index: 1;
  margin: 0;
}
.p_top-mvMain__ttl img {
  display: block;
  width: 100%;
  height: auto;
  mix-blend-mode: screen;
}

.p_top-cta {
  padding-top: 37px;
}

.p_top-ctaLead {
  margin-bottom: 21.2px;
}
.p_top-ctaLead p {
  font-size: 26px;
  font-weight: bold;
  letter-spacing: 1.3px;
  color: #fff;
  text-align: center;
}
.p_top-ctaLead p span {
  font-family: YakuHanRP, "Zen Maru Gothic", sans-serif;
  font-size: 34px;
  font-weight: 900;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.27;
  letter-spacing: 1.7px;
  text-align: center;
  color: #ffea16;
  display: inline-block;
}
.p_top-ctaLead p .p_top-ctaLead__num {
  font-size: 43px;
  letter-spacing: 2.15px;
}

.p_top-ctaBtn {
  padding: 10.3px 12.8px 17.8px 15px;
  border-radius: 12px;
  background-color: #fff;
}

.p_top-ctaBtn p {
  font-family: YakuHanRP, "Zen Maru Gothic", sans-serif;
  font-size: 20px;
  font-weight: 900;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.2;
  letter-spacing: normal;
  text-align: center;
  color: #000;
  margin-bottom: 14px;
}
.p_top-ctaBtn p .p_top-ctaBtn__mark {
  position: relative;
  display: inline-block;
  z-index: 0;
  line-height: 1;
  font-size: 30px;
  color: #2d5786;
  padding: 0 6px;
}
.p_top-ctaBtn p .p_top-ctaBtn__mark::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -0.08em;
  z-index: -1;
  height: 0.34em;
  background-color: #ffea16;
}

.p_top-loading {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  opacity: 1;
  visibility: visible;
  transition: opacity 0.6s ease, visibility 0.6s ease;
}
.p_top-loading.is-done {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.p_top-loading__inner {
  display: flex;
  align-items: center;
  justify-content: center;
}

.p_top-loading__logo {
  display: block;
  width: min(260px, 64vw);
  height: auto;
  opacity: 0;
  transform: scale(0.96);
  transition: opacity 0.55s ease, transform 0.55s ease;
}
.is-ready .p_top-loading__logo {
  opacity: 1;
  transform: scale(1);
}

@media (prefers-reduced-motion: reduce) {
  .p_top-loading,
  .p_top-loading__logo {
    transition: none;
  }
}
.js-scroll-in {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.7s ease, transform 0.7s ease;
  will-change: opacity, transform;
}
.js-scroll-in.is-inview {
  opacity: 1;
  transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
  .js-scroll-in {
    opacity: 1;
    transform: none;
    transition: none;
    will-change: auto;
  }
}
.js-scroll-in.js-scroll-in-from-right {
  transform: translateX(80px);
}
.js-scroll-in.js-scroll-in-from-right.is-inview {
  transform: translateX(0);
}
@media (prefers-reduced-motion: reduce) {
  .js-scroll-in.js-scroll-in-from-right {
    transform: none;
  }
}
.js-scroll-in.js-scroll-in-from-left {
  transform: translateX(-80px);
}
.js-scroll-in.js-scroll-in-from-left.is-inview {
  transform: translateX(0);
}
@media (prefers-reduced-motion: reduce) {
  .js-scroll-in.js-scroll-in-from-left {
    transform: none;
  }
}

.js-scroll-in-fade {
  transform: none;
}
.js-scroll-in-fade.is-inview {
  transform: none;
}

.p-top-search__text-en {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5.9px;
  border-radius: 13px;
  border: solid 1px #bdccd4;
  background-color: #fff;
  width: 134.3px;
  height: 26px;
  margin: 0 auto;
  font-family: "Lexend Zetta", sans-serif;
  font-size: 14px;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.29;
  letter-spacing: normal;
  text-align: center;
  color: #00396e;
  margin-bottom: 9px;
}
.p-top-search__text-en span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
}
.p-top-search__text-en span img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.p-top-search__text-lead {
  font-family: YakuHanRP, "Zen Maru Gothic", sans-serif;
  font-size: 14px;
  font-weight: 500;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.5;
  letter-spacing: 1.12px;
  text-align: center;
  color: #000000;
}

.p-top-search__text {
  margin-bottom: 11.5px;
}
.p-top-search__text h2 {
  font-family: YakuHanRP, "Zen Maru Gothic", sans-serif;
  font-size: 20px;
  letter-spacing: 1.6px;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.23;
  text-align: center;
  color: #000000;
  font-weight: bold;
}
.p-top-search__text strong {
  font-size: 26px;
  letter-spacing: 2.08px;
}
.p-top-search__text strong small {
  font-size: 20px;
  letter-spacing: 1.6px;
}

.p-top-search__square,
.p-top-voice__square {
  margin: 0 auto 33px;
  width: 123.5px;
  display: flex;
  height: 13px;
}

.p-top-search {
  padding-bottom: 127.7px;
}

.p-top-search__flex {
  display: flex;
  gap: 8px;
}

.p-top-search__card {
  flex: 1;
  min-width: 0;
  border-radius: 12px;
  background-color: #1d4293;
}

.p-top-search__form {
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
  padding: 13px 10px 14px;
}

.p-top-search__card-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 32px;
  margin-bottom: 8px;
}
.p-top-search__card-icon img {
  width: auto;
  height: 100%;
  object-fit: contain;
}

.p-top-search__area {
  width: 17.9px;
}

.p-top-search__post {
  width: 30px;
}

.p-top-search__card-title {
  margin-bottom: 10.7px;
  font-family: YakuHanRP, "Zen Maru Gothic", sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.17;
  letter-spacing: 1.44px;
  text-align: center;
  color: #fff;
}
.p-top-search__card-title small {
  font-size: 14px;
  letter-spacing: 1.12px;
}

.p-top-search__field {
  width: 100%;
  margin-bottom: 7.1px;
}

.p-top-search__select,
.p-top-search__input {
  width: 100%;
  height: 30px;
  padding: 0 32px 0 10.3px;
  border: 0;
  border-radius: 4px;
  background-color: #fff;
  font-family: YakuHanRP, "Zen Maru Gothic", sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #00396e;
  appearance: none;
  line-height: 1.2;
  letter-spacing: 0.7px;
}
.p-top-search__select::placeholder,
.p-top-search__input::placeholder {
  color: #bdccd4;
}
.p-top-search__select:disabled,
.p-top-search__input:disabled {
  color: #bdccd4;
  background-color: #f5f7f9;
}

.p-top-search__select {
  background-image: url("../img/top-search-arrow.svg");
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 15px 15px;
}
.p-top-search__select:invalid, .p-top-search__select.is-placeholder {
  color: #bdccd4;
}
.p-top-search__select option {
  color: #00396e;
}

.p-top-search__input {
  padding-right: 12px;
}

.p-top-search__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
  height: 30px;
  margin-top: auto;
  padding: 8px 12px;
  border: 1px solid #fff;
  border-radius: 4px;
  background-color: #a2b61a;
  font-family: YakuHanRP, "Zen Maru Gothic", sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: #fff;
  cursor: pointer;
  transition: opacity 0.2s;
  position: relative;
}
.p-top-search__submit:hover:not(:disabled) {
  opacity: 0.85;
}
.p-top-search__submit:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.p-top-search__submit-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
  position: absolute;
  left: 10.2px;
}

.p-top-search__form {
  padding-bottom: 22.4px;
}

.p_top-reason__title {
  width: 100%;
  height: 220px;
  background: url(../img/top-reason-title-bg.webp) no-repeat center center/cover;
  margin-top: -100px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 32px;
}
.p_top-reason__title h2 {
  font-size: 20px;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.4;
  letter-spacing: 1.6px;
  text-align: center;
  color: #fff;
}
.p_top-reason__title h2 span {
  display: inline-block;
}
.p_top-reason__title h2 .p_top-reason__title-num {
  font-size: 30px;
  letter-spacing: 2.4px;
}
.p_top-reason__title h2 .p_top-reason__title-big {
  font-size: 28px;
  letter-spacing: 2.24px;
}

.p_top-reason__list {
  padding-top: 15px;
  margin-bottom: 27px;
}

.p_top-reason__item {
  position: relative;
}
.p_top-reason__item + .p_top-reason__item {
  margin-top: 24.9px;
}
.p_top-reason__item::after {
  content: "";
  position: absolute;
  right: 22.86px;
  top: -22px;
  width: 41.3636px;
  height: 41.3636px;
  background: url(../img/top-reason-point-icon1.svg) no-repeat center center/cover;
}
.p_top-reason__item:nth-of-type(even)::after {
  right: auto;
  left: 22.86px;
}
.p_top-reason__item:nth-of-type(even) .p_top-reason__itemBody .p_top-reason__itemTitle {
  padding-left: 0;
}
.p_top-reason__item:nth-of-type(even) .p_top-reason__itemBody::before {
  left: auto;
  right: -22px;
}
.p_top-reason__item:nth-child(2n)::after {
  background: url(../img/top-reason-point-icon2.svg) no-repeat center center/cover;
}
.p_top-reason__item:nth-child(2n) .p_top-reason__itemBody::before {
  background: url(../img/top-reason-point-img2.webp) no-repeat center center/cover;
}
.p_top-reason__item:nth-child(4n)::after {
  display: none;
}
.p_top-reason__item:nth-child(4n) .p_top-reason__itemBody::before {
  background: url(../img/top-reason-point-img4.webp) no-repeat center center/cover;
}
.p_top-reason__item:nth-child(3n)::after {
  background: url(../img/top-reason-point-icon4.svg) no-repeat center center/cover;
  width: 43.8695px;
  height: 38.3557px;
  top: -12.4px;
}
.p_top-reason__item:nth-child(3n) .p_top-reason__itemBody::before {
  background: url(../img/top-reason-point-img3.webp) no-repeat center center/cover;
}

.p_top-reason__itemBody {
  padding: 25.6px 19.8px 26.16px 27px;
  border-radius: 16px;
  background-color: #fff;
  position: relative;
  overflow: hidden;
}
.p_top-reason__itemBody::before {
  content: "";
  position: absolute;
  left: -22px;
  top: -22px;
  width: 108.9085px;
  height: 108.9085px;
  background: url(../img/top-reason-point-img1.webp) no-repeat center center/cover;
  pointer-events: none;
}

.p_top-reason__itemNum {
  width: 150.9px;
  height: 30px;
  border-radius: 15px;
  background-color: #2d5786;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  top: -15px;
  z-index: 2;
}
.p_top-reason__itemNum p {
  font-family: "Lexend Zetta", sans-serif;
  font-size: 12px;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: 1;
  letter-spacing: normal;
  text-align: center;
  color: #fff;
  display: flex;
  align-items: center;
  gap: 6px;
}
.p_top-reason__itemNum p span {
  font-size: 24px;
  font-weight: bold;
  color: #ffeb19;
}

.p_top-reason__itemTitle {
  padding-left: 76.8px;
  margin-bottom: 16.8px;
  height: 48px;
  display: flex;
  align-items: center;
}
.p_top-reason__itemTitle h3 {
  font-size: 20px;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.2;
  letter-spacing: 2px;
  text-align: left;
  color: #000;
  white-space: nowrap;
}
.p_top-reason__itemTitle h3 span {
  position: relative;
  isolation: isolate;
  display: block;
  width: fit-content;
}
.p_top-reason__itemTitle h3 span::before {
  content: "";
  position: absolute;
  left: 0;
  background: linear-gradient(to right, #f6e4e3 0%, #efe8ea 100%);
  width: 100%;
  height: 10px;
  bottom: -3px;
  z-index: -1;
}

.p_top-reason__itemLead p {
  font-size: 14px;
  font-weight: 500;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.57;
  letter-spacing: 1.12px;
  text-align: left;
  color: #000;
}

.p_top-reason {
  margin-bottom: 27.3px;
}

.p_top-badge {
  position: relative;
  border-radius: 16px;
  background-color: #1d4293;
  padding: 20.7px 15px 27.4px;
  margin-bottom: 33px;
}

.p_top-badge__title {
  width: fit-content;
  margin: 0 auto;
  position: relative;
  margin-bottom: 27px;
}
.p_top-badge__title::before {
  content: "";
  position: absolute;
  left: -36px;
  background: url(../img/top-badge-left.svg) no-repeat center center/cover;
  width: 20.6462px;
  height: 26.1247px;
  bottom: -4px;
}
.p_top-badge__title::after {
  content: "";
  position: absolute;
  right: -36px;
  background: url(../img/top-badge-right.svg) no-repeat center center/cover;
  width: 20.6462px;
  height: 26.1247px;
  bottom: -4px;
}
.p_top-badge__title h2 {
  font-family: YakuHanRP, "Zen Maru Gothic", sans-serif;
  font-size: 20px;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.7;
  letter-spacing: 2px;
  text-align: center;
  color: #fff;
}
.p_top-badge__title h2 span {
  font-size: 26px;
  letter-spacing: 2.6px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  line-height: 1;
}

.p_top-ncs {
  background: url(../img/top-ncs-bg.webp) no-repeat top center/contain;
}

.p_top-ncs__catch {
  padding: 54px 0 63px;
}
.p_top-ncs__catch strong {
  font-size: 26px;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.38;
  letter-spacing: 2.08px;
  text-align: left;
  color: #fff;
}
.p_top-ncs__catch strong small {
  font-size: 22px;
  letter-spacing: 1.76px;
}
.p_top-ncs__catch strong span {
  font-size: 28px;
  letter-spacing: 2.24px;
}

.p_top-ncs__inner {
  padding: 0 37px;
}

.p_top-blueBg {
  padding-top: 42.7px;
  border-radius: 60px 60px 0 0;
  background-image: linear-gradient(to bottom, #a2b61a 4%, #c2e06e 36%, #e7e9a1 66%);
  position: relative;
}

.p_top-ncs__rotateIcon {
  position: absolute;
  top: -76px;
  right: 11px;
  margin: auto;
  z-index: 1;
}

.p_top-ncs__rotateIcon-wrapper {
  width: 108px;
  height: 108px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.p_top-ncs__rotateIcon-wrapper .p_top-ncs__rotateIcon-inner {
  width: 72.5px;
  height: 72.5px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.p_top-ncs__rotateIcon-wrapper .p_top-ncs__rotateIcon-outer {
  width: 108px;
  height: 108px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  animation: p_top-ncs-rotate-icon 15s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .p_top-ncs__rotateIcon-wrapper .p_top-ncs__rotateIcon-outer {
    animation: none;
  }
}

@keyframes p_top-ncs-rotate-icon {
  from {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
.p_top-ncs__title {
  margin-bottom: 13.9px;
}
.p_top-ncs__title h2 {
  font-size: 20px;
  letter-spacing: 2px;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: 1;
  text-align: left;
  color: #fff;
  text-align: center;
}
.p_top-ncs__title h2 span {
  font-size: 26px;
  letter-spacing: 2.6px;
}

.p_top-ncs__lead {
  margin-bottom: 18.9px;
}
.p_top-ncs__lead p {
  font-size: 16px;
  font-weight: 500;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.69;
  letter-spacing: 0.8px;
  text-align: left;
  color: #fff;
}

.p_top-badge__laurel {
  width: 292.6px;
  margin: 0 auto 9.15px;
}

.p_top-badge__flex img {
  display: block;
  width: 100%;
  height: auto;
}

.p_top-badge__note {
  position: absolute;
  right: 15px;
  bottom: 5px;
  width: 37%;
  margin: 0;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", Meiryo, sans-serif;
  font-size: 5px;
  font-weight: 400;
  font-style: normal;
  line-height: 1.45;
  letter-spacing: 0;
  color: #fff;
  text-align: left;
}

.p_top-ncs__fukidashi {
  margin-bottom: 3px;
}
.p_top-ncs__fukidashi .p_top-ncs__bubble {
  opacity: 0;
  transform: scale(0.6);
  transform-box: fill-box;
  transform-origin: center;
  transition: opacity 0.5s ease, transform 0.55s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition-delay: calc((var(--bubble-order, 1) - 1) * 0.18s);
}
.p_top-ncs__fukidashi.is-active .p_top-ncs__bubble {
  opacity: 1;
  transform: scale(1);
}
@media (prefers-reduced-motion: reduce) {
  .p_top-ncs__fukidashi .p_top-ncs__bubble {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

.p_top-ncs__binder {
  height: 372px;
  width: 100%;
  background: url(../img/top-ncs-binder.webp) no-repeat center center/cover;
  padding-top: 75px;
  margin-bottom: 35.6px;
}
.p_top-ncs__binder h3 {
  font-size: 16px;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.5;
  letter-spacing: 0.8px;
  text-align: center;
  color: #00396e;
  margin-bottom: 10.8px;
}
.p_top-ncs__binder h3 span {
  font-size: 20px;
  letter-spacing: 1px;
}
.p_top-ncs__binder p {
  font-size: 14px;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.43;
  letter-spacing: 0.7px;
  text-align: left;
  color: #000;
  max-width: 222px;
  margin: 0 auto;
}
.p_top-ncs__binder p span {
  font-weight: bold;
  color: #00396e;
}

.p_top-ncs__btn {
  margin-bottom: 50.3px;
}

.p-top-voice__title-en {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5.9px;
  border-radius: 13px;
  border: solid 1px #bdccd4;
  background-color: #fff;
  width: 134.3px;
  height: 26px;
  margin: 0 auto;
  font-family: "Lexend Zetta", sans-serif;
  font-size: 14px;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.29;
  letter-spacing: normal;
  text-align: center;
  color: #00396e;
  margin-bottom: 9px;
}
.p-top-voice__title-en span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 17px;
  height: 16px;
}
.p-top-voice__title-en span img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.p_top-voice {
  border-radius: 90px 0 0 0;
  background-color: #1d4293;
  padding: 29px 0 1px;
}
.p_top-voice .p-top-voice__square {
  margin-bottom: 0;
}

.p-top-voice__title-main {
  font-size: 26px;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.23;
  letter-spacing: 2.6px;
  text-align: center;
  color: #fff;
  margin-bottom: 13px;
}
.p-top-voice__title-main small {
  font-size: 20px;
  letter-spacing: 2px;
}

.p_top-voice__title {
  margin-bottom: 13.47px;
}

.p-top-voice__slider {
  overflow: hidden;
  width: 100%;
  padding-bottom: 28.3px;
  margin-bottom: 18.6px;
}

.p-top-voice__sliderTrack {
  display: flex;
  gap: 20px;
  width: max-content;
  animation: p-top-voice-marquee 35s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .p-top-voice__sliderTrack {
    animation: none;
  }
}

.p-top-voice__sliderGroup {
  display: flex;
  gap: 20px;
}

@keyframes p-top-voice-marquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(calc(-50% - 10px));
  }
}
.p-top-voice__sliderItem {
  flex-shrink: 0;
  width: 240px;
  background-color: #FFFFFF;
  border-radius: 120px;
  border: solid 1px #bdccd4;
  overflow: hidden;
  height: 394.5px;
}
.p-top-voice__sliderItem:nth-child(even) {
  transform: translateY(28.3px);
}

.p-top-voice__sliderItem-img {
  height: 189px;
}
.p-top-voice__sliderItem-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}

.p-top-voice__sliderItem-text {
  flex: 1;
  padding: 18.77px 30px 29px;
}

.p-top-voice__sliderItem-lead {
  font-size: 14px;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.43;
  letter-spacing: 0.7px;
  text-align: left;
  color: #000;
  display: -webkit-box;
  -webkit-line-clamp: 6;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.p-top-voice__sliderItem-name p {
  font-size: 12px;
  font-weight: 500;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.5;
  letter-spacing: 0.6px;
  text-align: center;
  color: #2595da;
}

.p_top-voice__btn {
  margin-bottom: 50px;
}

.p_top-video {
  border-radius: 60px 60px 0 0;
  background-color: #9caf36;
  padding: 27px 0 45px;
}

.p_top-video__title {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 4px;
  margin-bottom: 20.8px;
}
.p_top-video__title .p_top-video__title-icon {
  width: 50px;
  display: flex;
  height: 49.37px;
  margin-bottom: 10px;
}
.p_top-video__title h2 {
  font-size: 20px;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.7;
  letter-spacing: 2px;
  text-align: center;
  color: #fff;
}
.p_top-video__title h2 span {
  font-size: 26px;
  letter-spacing: 2.6px;
  line-height: 1;
}

.p_top-video__area {
  width: 300px;
  height: 180px;
  margin: 0 auto;
}
.p_top-video__area iframe {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.p_top-banner {
  padding-top: 9.5px;
  padding: 2px;
  position: relative;
  margin-bottom: 0;
  margin-top: 12px;
}
.p_top-banner::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 1px;
  width: 100%;
  height: 95%;
  border: 2px solid #bdccd4;
  z-index: -1;
}

.p_top-bannerBtn {
  display: flex;
  height: 70px;
}
.p_top-bannerBtn > * {
  flex: 1;
}

.p_top-bannerBtn__experience {
  background-color: #00396e;
}
.p_top-bannerBtn__experience a {
  display: flex;
  gap: 4px;
  align-items: center;
  height: 100%;
  justify-content: center;
  font-size: 16px;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.31;
  letter-spacing: 1.6px;
  text-align: center;
  color: #fff;
}
.p_top-bannerBtn__experience a span {
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: rotate(90deg);
}
.p_top-bannerBtn__experience a span img {
  width: 100%;
  height: 100%;
}

.p_top-bannerBtn__school {
  background-color: #b7002c;
}
.p_top-bannerBtn__school a {
  display: flex;
  gap: 4px;
  align-items: center;
  height: 100%;
  justify-content: center;
  font-size: 16px;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.31;
  letter-spacing: 1.6px;
  text-align: center;
  color: #fff;
  position: relative;
}
.p_top-bannerBtn__school a span {
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.p_top-bannerBtn__school a span img {
  width: 100%;
  height: 100%;
}
.p_top-bannerBtn__school a span {
  position: absolute;
  right: 6.8px;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.p_top-faq {
  border-radius: 90px 0 0 0;
  background-color: #bdccd4;
  padding: 33.5px 0 54.5px;
  margin-top: 30px;
}

.p-top-faq__title-main {
  margin-bottom: 13.4px;
}
.p-top-faq__title-main h2 {
  font-size: 26px;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.23;
  letter-spacing: 2.6px;
  text-align: center;
  color: #000000;
}

.p_top-faq .p-top-voice__title-en span {
  width: 22.2px;
  height: 16px;
}

.p_top-faqList {
  margin-bottom: 35px;
}

.p_top-faqItem {
  border-radius: 16px;
  border: solid 1px #2d5786;
  background-color: #fff;
  overflow: hidden;
}
.p_top-faqItem + .p_top-faqItem {
  margin-top: 17.5px;
}

.p_top-faqItem__question {
  width: 100%;
  min-height: 60px;
  position: relative;
  display: flex;
  gap: 14.5px;
  align-items: flex-start;
  padding: 0;
  border: none;
  background-color: transparent;
  cursor: pointer;
  text-align: left;
  font: inherit;
  color: inherit;
  transition: background-color 0.3s ease;
}
.p_top-faqItem__question::after {
  content: "";
  position: absolute;
  right: 15.7px;
  top: 50%;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  background: url(../img/top-faq-arrow1.svg) no-repeat center center/cover;
  z-index: 2;
  transition: background-image 0.3s ease;
}
.p_top-faqItem__question .p_top-faqItem__question-q {
  height: 100%;
  position: relative;
  z-index: 1;
  width: 50px;
}
.p_top-faqItem__question .p_top-faqItem__question-q p {
  font-size: 24px;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.2;
  letter-spacing: 1.2px;
  text-align: left;
  color: #fff;
  padding-top: 5.3px;
  padding-left: 13.8px;
}
.p_top-faqItem__question::before {
  content: "";
  position: absolute;
  left: -9.9px;
  top: -9.9px;
  width: 60px;
  height: 60px;
  background-color: #2d5786;
  border-radius: 50%;
  z-index: 0;
  transition: background-color 0.3s ease;
}

.p_top-faqItem.is-open .p_top-faqItem__question {
  background-color: #2d5786;
  color: #fff;
}
.p_top-faqItem.is-open .p_top-faqItem__question p {
  color: #2d5786;
}
.p_top-faqItem.is-open .p_top-faqItem__question::before {
  background-color: #ffffff;
}
.p_top-faqItem.is-open .p_top-faqItem__question::after {
  background-image: url(../img/top-faq-arrow2.svg);
}
.p_top-faqItem.is-open .p_top-faqItem__question-title h3 {
  color: #2d5786;
}

.p_top-faqItem__question-title {
  flex: 1;
  position: relative;
  z-index: 1;
  min-height: 60px;
  align-content: center;
}
.p_top-faqItem__question-title h3 {
  font-size: 16px;
  font-weight: 500;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.2;
  letter-spacing: 0.8px;
  text-align: left;
  color: #000;
  transition: color 0.3s ease;
}

.p_top-faqItem__answer {
  display: grid;
  grid-template-rows: 0fr;
  overflow: hidden;
  transition: grid-template-rows 0.35s ease;
}

.p_top-faqItem.is-open .p_top-faqItem__answer {
  grid-template-rows: 1fr;
}

.p_top-faqItem__answer-wrapper {
  min-height: 0;
  overflow: hidden;
}

.p_top-faqItem__answer-inner {
  padding: 6px 28px 19px;
  display: flex;
  gap: 13px;
  align-items: flex-start;
}
.p_top-faqItem__answer-inner span {
  font-size: 24px;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.2;
  letter-spacing: 1.2px;
  text-align: left;
  color: #2d5786;
}
.p_top-faqItem__answer-inner p {
  padding-top: 3.3px;
  font-size: 14px;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.71;
  letter-spacing: 0.7px;
  text-align: left;
  color: #000;
}

.p-about {
  padding-top: 26px;
  position: relative;
}
.p-about::before {
  content: "";
  background-image: url(../img/about_fv.webp);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  display: block;
  height: 1366.5px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: -1;
}

.p-about-fv__strings {
  width: 129.4px;
  height: 74.3px;
  margin-inline: auto;
}

.p-about-fv__ttl {
  font-size: 26px;
  text-align: center;
  font-weight: 700;
  line-height: 36px;
  letter-spacing: 0.01em;
}
.p-about-fv__ttl span {
  font-size: 22px;
  font-weight: 700;
}

.p-about-fv__txt {
  font-size: 16px;
  margin-top: 16px;
  line-height: 34px;
  letter-spacing: 0.01em;
  text-align: center;
}
.p-about-fv__txt .blue {
  font-size: 24px;
  font-weight: 700;
  color: #00396e;
  letter-spacing: 0.11em;
}

.p-about-fv__slider {
  overflow: hidden;
  width: 100%;
  margin-top: 28px;
}

.p-about-fv__sliderTrack {
  display: flex;
  gap: 10px;
  width: max-content;
  animation: p-about-fv-marquee 35s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .p-about-fv__sliderTrack {
    animation: none;
  }
}

.p-about-fv__sliderGroup {
  display: flex;
  gap: 10px;
}

@keyframes p-about-fv-marquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(calc(-50% - 10px));
  }
}
.p-about-fv__sliderItem {
  flex-shrink: 0;
  width: 129.5px;
  aspect-ratio: 129.5/165;
  overflow: hidden;
}
.p-about-fv__sliderItem:nth-child(2n) {
  margin-top: 12px;
}

.p-about-fv__sliderItem-img img {
  width: 100%;
  height: auto;
  display: block;
}

.p-about-philosophy {
  margin-top: 126px;
  position: relative;
  padding-top: 40px;
}

.p-about-philosophy__subTtl {
  width: fit-content;
  margin-inline: auto;
  font-size: 14px;
  letter-spacing: 0.1em;
  padding-inline: 18px;
  text-align: center;
  height: 26px;
  border: 1px solid #bdccd4;
  align-content: center;
  border-radius: 100px;
}

.p-about-philosophy__ttl {
  margin-top: 10px;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 31px;
  text-align: center;
}
.p-about-philosophy__ttl span {
  color: #00396e;
  font-size: 24px;
}
.p-about-philosophy__ttl span strong {
  font-size: 34px;
}
.p-about-philosophy__ttl .num {
  font-size: 34px;
}

.p-about-philosophy__square {
  margin-top: 13px;
  margin-inline: auto;
  width: 123.5px;
  height: 13px;
}
.p-about-philosophy__square img {
  width: 100%;
  height: auto;
  display: block;
}

.p-about-philosophy__listContainer {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding-inline: 23px;
  margin-top: 22px;
  padding-bottom: 32px;
}

.p-about-philosophy__list {
  display: flex;
  gap: 15px;
  align-items: center;
}
.p-about-philosophy__list:nth-child(even) {
  flex-direction: row-reverse;
  gap: 2px;
}
.p-about-philosophy__list:last-child {
  font-size: 18px;
  padding-top: 10px;
}
.p-about-philosophy__list:last-child .p-about-philosophy__listTtl {
  font-size: 18px;
  padding-bottom: 14px;
}

.p-about-philosophy__listImg01 {
  width: 139.7425px;
  height: 169.5391px;
  position: absolute;
  top: 120px;
  right: 0;
  z-index: -1;
}

.p-about-philosophy__listImg02 {
  width: 122.9754px;
  height: 181.2119px;
  position: absolute;
  top: 515px;
  left: 52px;
  z-index: -1;
}

.p-about-philosophy__listTtl {
  width: 100px;
  aspect-ratio: 1;
  background-color: #c40018;
  position: relative;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2;
  padding-bottom: 5px;
  letter-spacing: 0.01em;
  text-align: center;
  align-content: center;
  border-radius: 50%;
  color: #fff;
}
.p-about-philosophy__listTtl::before {
  content: "";
  width: 110px;
  aspect-ratio: 1;
  border: 1px solid #c40018;
  border-radius: 50%;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
}
.p-about-philosophy__listTtl .num {
  display: block;
  font-size: 24px;
  font-family: var(--num);
  color: #c2e06e;
}

.p-about-philosophy__listTxt {
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 0.01em;
}
.p-about-philosophy__listTxt span {
  font-size: 18px;
  color: #00396e;
  font-weight: 700;
}

.p-about-philosophy__reason {
  margin-top: 34px;
  margin-inline: var(--pi);
  padding: 25px 23px;
  background-color: #bdccd4;
  border-radius: 16px;
  position: relative;
}

.p-about-philosophy__reasonIcon {
  width: 51.8px;
  height: 41.6px;
  position: absolute;
  top: 0;
  right: 50%;
  translate: 50% -82%;
}

.p-about-philosophy__reasonTtlBox {
  text-align: center;
}

.p-about-philosophy__reasonTxt {
  font-size: 14px;
  letter-spacing: 0.01em;
  line-height: 1.4;
}

.p-about-philosophy__reasonTtl {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1;
  margin-top: 5px;
}
.p-about-philosophy__reasonTtl span {
  font-size: 24px;
  color: #00396e;
  display: inline-block;
  position: relative;
  z-index: 1;
}
.p-about-philosophy__reasonTtl span::before {
  content: "";
  width: 100%;
  height: 11.5px;
  background-color: #ffea16;
  display: block;
  position: absolute;
  left: 50%;
  bottom: 0;
  translate: -52% 50%;
  z-index: -1;
}

.p-about-philosophy__reasonListContainer {
  margin-top: 19px;
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.p-about-philosophy__reasonItem {
  height: 50px;
  border-radius: 12px;
  padding-left: 48px;
  background-color: #fff;
  align-content: center;
  position: relative;
  text-align: center;
}

.p-about-philosophy__reasonItemIcon {
  width: 40px;
  height: 31.8px;
  position: absolute;
  top: 50%;
  left: 14px;
  translate: 0 -50%;
}

.p-about-philosophy__reasonItemTxt {
  font-size: 14px;
  font-weight: 700;
}
.p-about-philosophy__reasonItemTxt span {
  font-size: 16px;
  color: #00396e;
}

.p-about-philosophy__cta {
  margin-top: 10px;
}
.p-about-philosophy__cta .p_top-banner {
  margin-bottom: 0;
}

.p-about-message {
  position: relative;
}
.p-about-message::before {
  content: "";
  display: block;
  height: 1252.6px;
  background-image: url(../img/about_message_bg.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: -1;
}

.p-about-message__ttlBox {
  text-align: center;
  width: fit-content;
  color: #00396e;
  line-height: 1;
  padding-left: 22px;
  padding-top: 64px;
}

.p-about-message__subTtl {
  font-size: 14px;
  font-family: var(--num);
  font-weight: 400;
  text-transform: uppercase;
}

.p-about-message__ttl {
  font-size: 26px;
  font-weight: 700;
  margin-top: 12px;
}

.p-about-message__listContainer {
  margin-top: 84px;
  padding-inline: 28px 23px;
  overflow-x: hidden;
}

.p-about-message__listTtl {
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  line-height: 21px;
  width: fit-content;
}

.p-about-message__listTxt {
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 0.025em;
}

.p-about-message__list01 .p-about-message__listTtl {
  text-align: center;
}
.p-about-message__list01 .p-about-message__listTxt {
  margin-top: 19px;
  color: #fff;
}
.p-about-message__list01 .p-about-message__listTxt span {
  font-size: 18px;
  color: #B7002C;
}

.p-about-message__list02 {
  margin-top: 62px;
}
.p-about-message__list02 .p-about-message__listTtl {
  margin-left: auto;
}
.p-about-message__list02 .p-about-message__listTxt {
  margin-top: 19px;
  text-align: right;
  padding-right: 5px;
  letter-spacing: 0.06em;
  color: #fff;
}

.p-about-message__list03 {
  margin-top: 210px;
}
.p-about-message__list03 .p-about-message__listTtl {
  margin-inline: auto;
  text-align: center;
}
.p-about-message__list03 .p-about-message__listTxt {
  margin-top: 19px;
  padding-inline: 6px 5px;
  color: #fff;
}

.p-about-message__videoBlock {
  margin-top: 56px;
  padding-inline: var(--pi);
  padding-block: 22px 60px;
  background-image: url(../img/about_video_bg.webp);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}

.p-about-message__inner {
  padding-inline: 22px;
}

.p-about-message__videoTtlBox {
  height: 80px;
  max-width: 300px;
  margin-inline: auto;
  text-align: center;
  background-image: url(../img/about_hukidasi_bg.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  padding-top: 12px;
  margin-bottom: 12px;
}

.p-about-message__videoSubTtl {
  display: flex;
  gap: 8px;
  justify-content: center;
  align-items: center;
}
.p-about-message__videoSubTtl .icon {
  width: 17.77px;
  display: flex;
  align-items: center;
}
.p-about-message__videoSubTtl .icon img {
  vertical-align: center;
}
.p-about-message__videoSubTtl .txt {
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
}

.p-about-message__videoTtl {
  font-size: 18px;
  font-weight: 700;
  color: #2d5786;
  margin-top: 2px;
  line-height: 1;
}

.p-about-message__txt {
  font-size: 12px;
  color: #fff;
  margin-top: 3px;
  letter-spacing: 0.025em;
  text-align: center;
}

.p-about-message__videoBox {
  margin-top: 18px;
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
}
.p-about-message__videoBox iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.p-about-voice {
  margin-top: 42px;
}

.p-about-fap {
  margin-top: 10px;
}

.p-about-result {
  padding-block: 28px 26px;
  background-color: #e7e9a1;
}

.p-about-result__inner {
  padding-inline: var(--pi);
}

.p-about-result__ttlBox {
  color: #00396e;
}

.p-about-result__subTtl {
  max-width: 140px;
  height: 26px;
  margin-inline: auto;
  display: flex;
  gap: 6px;
  align-content: center;
  justify-content: center;
  background-color: #fff;
  border: 1px solid #bdccd4;
  border-radius: 100px;
}
.p-about-result__subTtl .icon {
  width: 14px;
  display: flex;
  align-items: center;
}
.p-about-result__subTtl .icon img {
  vertical-align: center;
}
.p-about-result__subTtl .txt {
  text-transform: uppercase;
  font-size: 14px;
  line-height: 1;
  font-family: var(--num);
  display: inline-block;
  align-content: center;
}

.p-about-result__ttl {
  font-size: 26px;
  line-height: 1;
  margin-top: 13px;
  text-align: center;
  font-weight: 700;
}

.p-about-result__ttlIcon {
  width: 123.5px;
  height: 13px;
  margin-inline: auto;
  margin-top: 19px;
}
.p-about-result__ttlIcon img {
  width: 100%;
  height: auto;
  display: block;
}

.p-about-result__listContainer {
  margin-top: 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  overflow-x: hidden;
}

.p-about-result__list {
  padding: 13px 19px 16px 52px;
  background-color: #fff;
  border-radius: 6px;
  position: relative;
}

.p-about-result__listIcon01 {
  width: 30px;
  position: absolute;
  top: 12px;
  left: 12px;
}

.p-about-result__listIcon02 {
  width: 25px;
  position: absolute;
  top: 12px;
  left: 13px;
}

.p-about-result__listIcon03 {
  position: absolute;
  width: 26px;
  top: 9px;
  left: 13px;
}

.p-about-result__listIcon04 {
  width: 30px;
  position: absolute;
  top: 12px;
  left: 12px;
}

.p-about-result__listTtl {
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  color: #1d4294;
}

.p-about-result__listTxt {
  font-size: 14px;
  line-height: 21px;
  letter-spacing: 0.05em;
  margin-top: 6px;
}

.p-about-magazine {
  padding-block: 42px 37px;
  background-color: #e9f1f7;
  position: relative;
  z-index: 1;
}
.p-about-magazine::before {
  content: "";
  display: block;
  height: 583px;
  background-image: url(../img/about_magazine_bg.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: -1;
}
.p-about-magazine::after {
  content: "";
  background-color: #e9f1f7;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: -2;
}

.p-about-magazine__ttlBox {
  color: #B7002C;
}

.p-about-magazine__subTtl {
  max-width: 169px;
  height: 26px;
  margin-inline: auto;
  display: flex;
  gap: 6px;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  border: 1px solid #bdccd4;
  border-radius: 100px;
}
.p-about-magazine__subTtl .icon {
  width: 22px;
  line-height: 1;
}
.p-about-magazine__subTtl .icon img {
  vertical-align: bottom;
}
.p-about-magazine__subTtl .txt {
  text-transform: uppercase;
  font-size: 14px;
  line-height: 1;
  font-family: var(--num);
  display: inline-block;
  align-content: center;
}

.p-about-magazine__ttl {
  font-size: 26px;
  line-height: 1;
  margin-top: 13px;
  text-align: center;
  font-weight: 700;
}

.p-about-magazine__ttlIcon {
  width: 123.5px;
  height: 13px;
  margin-inline: auto;
  margin-top: 19px;
}
.p-about-magazine__ttlIcon img {
  width: 100%;
  height: auto;
  display: block;
}

.p-about-magazine__slider {
  overflow: hidden;
  width: 100%;
  margin-top: 28px;
  padding-bottom: 20px;
}

.p-about-magazine__sliderTrack {
  display: flex;
  gap: 16px;
  width: max-content;
  animation: p-about-magazine-marquee 100s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .p-about-magazine__sliderTrack {
    animation: none;
  }
}

.p-about-magazine__sliderGroup {
  display: flex;
  gap: 18px;
}

@keyframes p-about-magazine-marquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(calc(-50% - 8px));
  }
}
.p-about-magazine__sliderItem {
  flex-shrink: 0;
  width: 280px;
  height: 100%;
}

.p-about-magazine__sliderItem-link {
  display: flex;
  flex-direction: column;
  height: 100%;
  background-color: #fff;
  border-radius: 6px;
  overflow: hidden;
  border: 1px solid #808080;
}

.p-about-magazine__sliderItem-img {
  aspect-ratio: 280/186;
  overflow: hidden;
}
.p-about-magazine__sliderItem-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.p-about-magazine__sliderItem-txtBox {
  padding: 13px 16px;
  flex-grow: 1;
}

.p-about-magazine__sliderItem-cat {
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  color: #2595da;
  letter-spacing: 0.05em;
}

.p-about-magazine__sliderItem-ttl {
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 0.01em;
  margin-top: 6px;
}

.p-about-magazine__btn {
  margin-top: 10px;
  width: 333px;
  max-width: 100%;
  height: 60px;
  margin-inline: auto;
}

.p-about-magazine__btn a {
  display: block;
  width: 100%;
  height: 100%;
  padding-right: 12px;
  align-content: center;
  border: 3px solid #fff;
  border-radius: 30px;
  background-color: #2595DA;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  overflow: hidden;
  position: relative;
  z-index: 2;
}
.p-about-magazine__btn a::before {
  content: "";
  background-image: url(../img/btn_bg_blue.webp);
  background-size: cover;
  mix-blend-mode: hard-light;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: -1;
}

.p-about-magazine__btnIcon {
  width: 24px;
  aspect-ratio: 24/24;
  background-image: url(../img/arrow-right.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  display: block;
  position: absolute;
  top: 50%;
  right: 26px;
  translate: 0 -50%;
}

.p__toTopBlock {
  padding-block: 50px 33px;
}

.p-introduction {
  padding-top: 37px;
  position: relative;
}
.p-introduction::before {
  content: "";
  height: 1366.5px;
  background-image: url(../img/introduction_fv.webp);
  background-size: contain;
  background-position: top center;
  background-repeat: no-repeat;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: -1;
}

.p-introduction-fv__strings {
  width: 238.1px;
  height: 65.8px;
  margin-inline: auto;
}

.p-introduction-fv__ttl {
  font-size: 26px;
  text-align: center;
  font-weight: 700;
  line-height: 36px;
  letter-spacing: 0.01em;
}
.p-introduction-fv__ttl span {
  font-size: 22px;
  font-weight: 700;
}

.p-introduction-fv__txt {
  font-size: 14px;
  margin-top: 24px;
  line-height: 25px;
  text-align: center;
}

.p-introduction-contents {
  margin-top: 115px;
}

.p-introduction-contents__anchorBlock {
  display: flex;
  flex-direction: column;
  gap: 14px;
  align-items: center;
}

.p-introduction-contents__anchorLink {
  width: 333px;
  max-width: 100%;
  height: 60px;
}

.p-introduction-contents__anchorLink a {
  display: block;
  width: 100%;
  height: 100%;
  padding-right: 12px;
  align-content: center;
  border: 3px solid #fff;
  border-radius: 30px;
  background-color: #2d5786;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  overflow: hidden;
  position: relative;
  z-index: 2;
}
.p-introduction-contents__anchorLink a::before {
  content: "";
  background-image: url(../img/btn_bg_blue.webp);
  background-size: cover;
  mix-blend-mode: hard-light;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: -1;
}

.p-introduction-contents__anchorIcon {
  width: 24px;
  aspect-ratio: 24/24;
  background-image: url(../img/arrow-right.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  display: block;
  position: absolute;
  top: 50%;
  right: 26px;
  translate: 0 -50%;
}

.p-introduction-contents__flow {
  margin-top: 45px;
}

.p-introduction-flow__ttlBox {
  color: #2d5786;
}

.p-introduction-flow__subTtl {
  max-width: 110px;
  height: 26px;
  margin-inline: auto;
  display: flex;
  gap: 6px;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  border: 1px solid #bdccd4;
  border-radius: 100px;
}
.p-introduction-flow__subTtl .icon {
  width: 16px;
  line-height: 1;
}
.p-introduction-flow__subTtl .icon img {
  vertical-align: bottom;
}
.p-introduction-flow__subTtl .txt {
  text-transform: uppercase;
  font-size: 14px;
  line-height: 1;
  font-family: var(--num);
  display: inline-block;
  align-content: center;
}

.p-introduction-flow__ttl {
  font-size: 26px;
  line-height: 1;
  margin-top: 13px;
  text-align: center;
  font-weight: 700;
  color: #2d5786;
}

.p-introduction-flow__ttlIcon {
  width: 123.5px;
  height: 13px;
  margin-inline: auto;
  margin-top: 19px;
}
.p-introduction-flow__ttlIcon img {
  width: 100%;
  height: auto;
  display: block;
}

.p-introduction-contents__flowLead {
  margin-top: 21px;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: 0.01em;
  max-width: 300px;
  margin-inline: auto;
}
.p-introduction-contents__flowLead span {
  font-size: 12px;
}

.p-introduction-contents__flowListContainer {
  margin-top: 18px;
  display: flex;
  flex-direction: column;
  gap: 39px;
  padding-block: 32px 26px;
  background-image: url(../img/introduction_flow_bg.webp);
  background-size: contain;
  background-position: top center;
  background-repeat: no-repeat;
  overflow-x: hidden;
}

.p-introduction-contents__flowList {
  position: relative;
}

.p-introduction-contents__flowListImage {
  width: 200px;
}

.p-introduction-contents__flowListContent {
  position: absolute;
  top: 0;
  translate: 0 -11px;
}

.p-introduction-contents__flowList:nth-child(even) {
  padding-left: var(--pi);
}
.p-introduction-contents__flowList:nth-child(even) .p-introduction-contents__flowListContent {
  right: var(--pi);
}
.p-introduction-contents__flowList:nth-child(even) .p-introduction-contents__flowListHukidasi {
  width: auto;
  height: 49px;
  position: absolute;
  top: 2px;
  right: 2px;
}
.p-introduction-contents__flowList:nth-child(even) .p-introduction-contents__flowListHukidasi img {
  width: auto;
  height: 100%;
  max-width: unset;
}

.p-introduction-contents__flowList:nth-child(odd) {
  padding-right: var(--pi);
}
.p-introduction-contents__flowList:nth-child(odd) .p-introduction-contents__flowListImage {
  margin-left: auto;
}
.p-introduction-contents__flowList:nth-child(odd) .p-introduction-contents__flowListContent {
  left: var(--pi);
}
.p-introduction-contents__flowList:nth-child(odd) .p-introduction-contents__flowListHukidasi {
  width: auto;
  height: 49px;
  position: absolute;
  top: 2px;
  left: 2px;
}
.p-introduction-contents__flowList:nth-child(odd) .p-introduction-contents__flowListHukidasi img {
  height: 100%;
  width: auto;
  max-width: unset;
}

.p-introduction-contents__flowListContentTitle {
  width: 125.5px;
  height: 37px;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.01em;
  text-align: center;
  padding-inline: 15px;
  background-color: #ffea16;
  border-radius: 100px;
  align-content: center;
  color: #00396e;
  position: relative;
}
.p-introduction-contents__flowListContentTitle--fz14 {
  font-size: 14px;
  width: 228.2px;
}
.p-introduction-contents__flowListContentTitle--fz16 {
  font-size: 16px;
  width: 197.7px;
}
.p-introduction-contents__flowListContentTitle--right {
  margin-left: auto;
}

.p-introduction-contents__flowList:nth-child(2) .p-introduction-contents__flowListContent {
  top: -17px;
}

.p-introduction-contents__flowList:nth-child(3) .p-introduction-contents__flowListContent,
.p-introduction-contents__flowList:nth-child(4) .p-introduction-contents__flowListContent {
  top: 8px;
}

.p-introduction-contents__flowList:nth-child(4) {
  margin-top: -34px;
}

.p-introduction-contents__flowList:nth-child(5) {
  margin-top: 8px;
}
.p-introduction-contents__flowList:nth-child(5) .p-introduction-contents__flowListContent {
  top: -7px;
}

.p-introduction-contents__flowListContentTxt {
  margin-top: 36px;
  display: flex;
  flex-direction: column;
  gap: 2px;
  align-items: flex-end;
}
.p-introduction-contents__flowListContentTxt--left {
  align-items: flex-start;
}
.p-introduction-contents__flowListContentTxt span {
  font-size: 12px;
  line-height: 23px;
  background-color: #b79400;
  padding-inline: 9px;
  border-radius: 6px;
  color: #fff;
  width: fit-content;
}

.p-introduction-contents__schedule {
  margin-top: 42px;
}

.p-introduction-schedule__ttlBox {
  color: #00396e;
}

.p-introduction-schedule__subTtl {
  max-width: 157px;
  height: 26px;
  margin-inline: auto;
  display: flex;
  gap: 6px;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  border: 1px solid #bdccd4;
  border-radius: 100px;
}
.p-introduction-schedule__subTtl .icon {
  width: 16px;
  line-height: 1;
}
.p-introduction-schedule__subTtl .icon img {
  vertical-align: bottom;
}
.p-introduction-schedule__subTtl .txt {
  text-transform: uppercase;
  font-size: 14px;
  line-height: 1;
  font-family: var(--num);
  display: inline-block;
  align-content: center;
}

.p-introduction-schedule__ttl {
  font-size: 26px;
  line-height: 1;
  margin-top: 13px;
  text-align: center;
  font-weight: 700;
  color: #000;
}

.p-introduction-schedule__ttlIcon {
  width: 123.5px;
  height: 13px;
  margin-inline: auto;
  margin-top: 19px;
}
.p-introduction-schedule__ttlIcon img {
  width: 100%;
  height: auto;
  display: block;
}

.p-introduction-schedule__lead {
  max-width: 300px;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: 0.01em;
  margin-top: 20px;
  margin-inline: auto;
}

.p-introduction-schedule__scheduleContainer {
  overflow-x: auto;
  margin-top: 22px;
  position: relative;
}

.p-introduction-schedule__schedule {
  width: 808.9px;
}

.p-introduction-schedule__scheduleCaption {
  font-size: 14px;
  letter-spacing: 0.01em;
  color: #fff;
  display: flex;
  gap: 4px;
  align-items: center;
  padding-inline: 10px;
  border-radius: 100px;
  background-color: #B7002C;
  position: absolute;
  bottom: 15px;
  right: 15px;
}
.p-introduction-schedule__scheduleCaption img {
  width: 14px;
  vertical-align: center;
}

.p-introduction-schedule__listContainer {
  padding-top: 40px;
  display: flex;
  flex-direction: column;
  gap: 38px;
  overflow: hidden;
}

.p-introduction-schedule__listTtl {
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  line-height: 26px;
  letter-spacing: 0.05em;
  height: 140px;
  align-content: center;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
}
.p-introduction-schedule__listTtl p {
  width: fit-content;
  margin-inline: auto;
}
.p-introduction-schedule__listTtl span {
  font-size: 22px;
}
.p-introduction-schedule__listTtl--01 {
  background-image: url(../img/introduction_schedule01.webp);
}
.p-introduction-schedule__listTtl--02 {
  background-image: url(../img/introduction_schedule02.webp);
}
.p-introduction-schedule__listTtl--03 {
  background-image: url(../img/introduction_schedule03.webp);
}

.p-introduction-schedule__listTtlTxt {
  font-size: 24px;
  height: 50px;
  letter-spacing: 0.1em;
  color: #fff;
  background-color: #B7002C;
  display: flex;
  gap: 10px;
  align-items: center;
  padding-inline: 20px;
  position: absolute;
  top: 0;
  translate: 0 -40%;
}
.p-introduction-schedule__listTtlTxt--left {
  left: 0;
  border-radius: 0 100px 100px 0;
}
.p-introduction-schedule__listTtlTxt--left .icon {
  width: 20px;
  display: flex;
  align-items: center;
}
.p-introduction-schedule__listTtlTxt--right {
  right: 0;
  border-radius: 100px 0 0 100px;
}
.p-introduction-schedule__listTtlTxt--right .icon {
  width: 29px;
  display: flex;
  align-items: center;
}

.p-introduction-schedule__listContent {
  margin-top: 23px;
  width: 280px;
  margin-inline: auto;
}

.p-introduction-schedule__listContentItem {
  font-size: 14px;
  line-height: 22px;
  letter-spacing: 0.01em;
  padding-left: 0.5em;
  position: relative;
}
.p-introduction-schedule__listContentItem::before {
  content: "・";
  display: block;
  position: absolute;
  left: 0;
}
.p-introduction-schedule__listContentItem span {
  font-size: 12px;
  display: block;
  text-indent: -1em;
  padding-left: 1em;
}

.p-introduction-schedule__listRank {
  margin-top: 28px;
  padding-block: 10px 20px;
  background-image: url(../img/introduction_rank_bg.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.p-introduction-schedule__listRankTtl {
  width: 270.8px;
  margin-left: 44px;
}

.p-introduction-schedule__listRankImage01 {
  margin-top: 4px;
  margin-inline: var(--pi);
  position: relative;
}
.p-introduction-schedule__listRankImage01 img {
  width: 158px;
}
.p-introduction-schedule__listRankImage01 figcaption {
  font-size: 14px;
  line-height: 22px;
  text-align: right;
  position: absolute;
  top: 12px;
  right: 10px;
}

.p-introduction-schedule__listRankImage01 img,
.p-introduction-schedule__listRankImage02 img {
  border-radius: 50%;
  object-fit: cover;
  overflow: hidden;
  height: auto;
  display: block;
  aspect-ratio: 1/1;
}

.p-introduction-schedule__listRankImage02 {
  margin-top: 50px;
  margin-inline: var(--pi);
  position: relative;
}
.p-introduction-schedule__listRankImage02 img {
  width: 158px;
  margin-left: auto;
  display: block;
}
.p-introduction-schedule__listRankImage02 figcaption {
  font-size: 14px;
  line-height: 21px;
  position: absolute;
  top: -6px;
  left: 10px;
}

.p-introduction-cta {
  margin-top: 40px;
}

.p-contact-contents__body {
  margin-top: 26px !important;
}

.p-contact-form {
  margin-top: 0;
  padding: 40px 14px 48px;
  background-color: #c8dc7d;
}
.p-contact-form__heading {
  text-align: center;
}
.p-contact-form__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 135px;
  height: 26px;
  padding: 0 12px;
  border: 1px solid #bdccd4;
  border-radius: 13px;
  background-color: #fff;
}
.p-contact-form__badgeIcon {
  display: inline-flex;
  width: 16px;
  height: 16px;
}
.p-contact-form__badgeIcon img {
  width: 100%;
  height: 100%;
}
.p-contact-form__badgeTxt {
  font-family: "Lexend Zetta", sans-serif;
  font-size: 14px;
  color: #00396e;
}
.p-contact-form__ttl {
  margin-top: 12px;
  font-size: 26px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: -0.02em;
  color: #00396e;
}
.p-contact-form__ttl span {
  display: block;
}
.p-contact-form__square {
  margin: 14px auto 0;
  width: 123.5px;
}
.p-contact-form__square img {
  width: 100%;
  height: auto;
}
.p-contact-form__panel {
  margin-top: 24px;
  padding: 20px;
  border-radius: 10px;
  background-color: #fff;
  display: flex;
  flex-direction: column;
  gap: 22px;
  padding-bottom: 50.37px;
}
.p-contact-form__lead {
  margin: 0;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.05em;
  color: #000;
  text-align: justify;
}
.p-contact-form__leadReq {
  color: red;
}
.p-contact-form__body {
  margin-top: 0;
}
.p-contact-form__empty {
  margin: 0;
  font-size: 14px;
  text-align: center;
  color: #666;
}

.p-contact-form__body .wpcf7,
form.p-contact-cf7 .wpcf7 {
  margin: 0;
}
.p-contact-form__body .wpcf7-form,
form.p-contact-cf7 .wpcf7-form {
  display: flex;
  flex-direction: column;
  gap: 22px;
  margin: 0;
  width: 100%;
}
.p-contact-form__body .wpcf7-form > p,
form.p-contact-cf7 .wpcf7-form > p {
  margin: 0;
  display: contents;
}
.p-contact-form__body .wpcf7-form > p:empty,
form.p-contact-cf7 .wpcf7-form > p:empty {
  display: none;
}

form.p-contact-cf7 {
  display: flex;
  flex-direction: column;
  gap: 22px;
  margin: 0;
  width: 100%;
}
form.p-contact-cf7 > p {
  margin: 0;
  display: contents;
}
form.p-contact-cf7 > p:empty {
  display: none;
}

.p-contact-cf7 .screen-reader-response {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}
.p-contact-cf7__field {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}
.p-contact-cf7__field--address {
  gap: 8px;
}
.p-contact-cf7__label {
  display: flex;
  align-items: center;
  gap: 8px;
}
.p-contact-cf7__label--top {
  align-items: flex-start;
}
.p-contact-cf7__label--top .p-contact-cf7__labelTxt {
  line-height: 1.4;
  white-space: normal;
}
.p-contact-cf7__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  min-width: 42px;
  padding: 1.5px 10px;
  border-radius: 3px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.7px;
  line-height: 1.4;
  white-space: nowrap;
  height: 23px;
}
.p-contact-cf7__badge--required {
  background-color: #1d4294;
  color: #fff;
}
.p-contact-cf7__badge--optional {
  background-color: #fff;
  border: 1px solid #00396e;
  color: #1d4294;
}
.p-contact-cf7__labelTxt {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4;
  color: #333;
}
.p-contact-cf7__req {
  color: red;
}
.p-contact-cf7__subLabel {
  display: inline-block;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4;
  color: #333;
  white-space: nowrap;
}
.p-contact-cf7__subField {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}
.p-contact-cf7__subField--zip, .p-contact-cf7__subField--pref {
  width: 113px;
  max-width: 100%;
}
.p-contact-cf7__zipBlock {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: flex-start;
}
.p-contact-cf7__hint {
  margin: 0;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.4;
  color: #333;
}
.p-contact-cf7__nameRow {
  display: flex;
  gap: 15px 25px;
  align-items: center;
}
.p-contact-cf7__nameRow--kana {
  gap: 8px 9px;
}
.p-contact-cf7__nameItem {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
}
.p-contact-cf7__nameRow:not(.p-contact-cf7__nameRow--kana) .p-contact-cf7__nameItem {
  gap: 15px;
}
.p-contact-cf7 .wpcf7-form-control-wrap {
  display: block;
}
.p-contact-cf7 .wpcf7-form-control-wrap input {
  vertical-align: baseline;
}
.p-contact-cf7__nameItem .wpcf7-form-control-wrap {
  width: auto;
}
.p-contact-cf7 input[type=text],
.p-contact-cf7 input[type=email],
.p-contact-cf7 input[type=tel],
.p-contact-cf7 input[type=date],
.p-contact-cf7 input[type=url],
.p-contact-cf7 input[type=number],
.p-contact-cf7 textarea,
.p-contact-cf7 select,
.p-contact-cf7 .p-contact-cf7__input,
.p-contact-cf7 .p-contact-cf7__select,
.p-contact-cf7 .p-contact-cf7__textarea {
  width: 100%;
  min-height: 42px;
  padding: 9px 12px;
  border: 1px solid #c3c3c3;
  border-radius: 5px;
  background-color: #fff;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.4;
  color: #333;
  box-sizing: border-box;
  appearance: none;
}
.p-contact-cf7 input::placeholder,
.p-contact-cf7 textarea::placeholder {
  color: #c3c3c3;
}
.p-contact-cf7 .p-contact-cf7__input--name {
  width: 112px;
  max-width: 100%;
}
.p-contact-cf7 .p-contact-cf7__input--zip,
.p-contact-cf7 .p-contact-cf7__input--pref {
  width: 100%;
}
.p-contact-cf7 select,
.p-contact-cf7 .p-contact-cf7__select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23c3c3c3' d='M6 8L0 0h12z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 12px 8px;
  padding-right: 36px;
  color: #333;
}
.p-contact-cf7 select:invalid,
.p-contact-cf7 .p-contact-cf7__select:invalid {
  color: #c3c3c3;
}
.p-contact-cf7 textarea,
.p-contact-cf7 .p-contact-cf7__textarea {
  min-height: 64.75px;
  resize: vertical;
}
.p-contact-cf7 .p-contact-cf7__textarea--single {
  min-height: 64.75px;
  resize: none;
  overflow: hidden;
}
.p-contact-cf7 input[type=date],
.p-contact-cf7 .p-contact-cf7__input--date {
  color: #333;
}
.p-contact-cf7 input[type=date]::-webkit-datetime-edit-fields-wrapper,
.p-contact-cf7 .p-contact-cf7__input--date::-webkit-datetime-edit-fields-wrapper {
  color: inherit;
}
.p-contact-cf7 input[type=date]:invalid,
.p-contact-cf7 .p-contact-cf7__input--date:invalid {
  color: #c3c3c3;
}
.p-contact-cf7 .wpcf7-radio {
  display: flex;
  flex-wrap: wrap;
  gap: 0 16px;
  margin: 0;
  width: 100%;
}
.p-contact-cf7__field--radioInline .wpcf7-radio {
  flex-wrap: nowrap;
  gap: 0;
}
.p-contact-cf7__field--radioInline .wpcf7-list-item + .wpcf7-list-item {
  margin-left: 16px;
}
.p-contact-cf7__field--radioInline .wpcf7-list-item label {
  font-weight: 500;
}
.p-contact-cf7__radioStack .wpcf7-radio {
  flex-direction: column;
  gap: 0;
}
.p-contact-cf7 .wpcf7-list-item {
  margin: 0;
}
.p-contact-cf7 .wpcf7-list-item label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.05em;
  color: #000;
  cursor: pointer;
}
.p-contact-cf7__radioStack .wpcf7-list-item label {
  font-weight: 700;
}
.p-contact-cf7 .wpcf7-list-item input[type=radio] {
  width: 16px;
  height: 16px;
  margin: 0;
  accent-color: #1d4294;
}
.p-contact-cf7__field--relationship {
  gap: 8px;
}
.p-contact-cf7__addPanel {
  display: flex;
  flex-direction: column;
  gap: 22px;
  width: 100%;
  padding: 20px;
  border-radius: 10px;
  background-color: #fff;
  border: 1px solid #e3e3e3;
  box-sizing: border-box;
}
.p-contact-cf7__consent {
  width: 100%;
}
.p-contact-cf7__consent .wpcf7-checkbox {
  margin: 0;
}
.p-contact-cf7__consent .wpcf7-list-item {
  margin: 0;
}
.p-contact-cf7__consent .wpcf7-list-item label {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4;
  color: #333;
  cursor: pointer;
}
.p-contact-cf7__consent input[type=checkbox] {
  width: 16px;
  height: 16px;
  margin: 0;
  border: 1px solid #c3c3c3;
  border-radius: 3px;
  accent-color: #1d4294;
}
.p-contact-cf7 .cf7-repeater-container {
  display: flex;
  flex-direction: column;
  gap: 22px;
  width: 100%;
  align-self: stretch;
  order: 0;
}
.p-contact-cf7 .cf7-repeater {
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
  padding: 0;
  margin: 0;
}
.p-contact-cf7 .cf7-field-repeater-reponese,
.p-contact-cf7 .cf7-field-repeater-data-html:not(.hidden) {
  display: flex;
  flex-direction: column;
  gap: 22px;
  width: 100%;
}
.p-contact-cf7 .repeater-field-header,
.p-contact-cf7 .repeater-field-header-data,
.p-contact-cf7 .cf7-field-repeater-data-html.hidden {
  display: none !important;
}
.p-contact-cf7 .repeater-field-item {
  display: flex;
  flex-direction: column;
  gap: 22px;
  width: 100%;
}
.p-contact-cf7 .cf7-field-repeater-reponese:not(:empty) {
  display: flex;
  flex-direction: column;
  gap: 22px;
  width: 100%;
}
.p-contact-cf7 .repeater-field-content {
  display: flex;
  flex-direction: column;
  gap: 22px;
  width: 100%;
}
.p-contact-cf7 .repeater-field-footer {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  padding-top: 18px;
  width: 100%;
  margin: 0;
}
.p-contact-cf7 .repeater-field-footer .wpcf7-form-control-wrap,
.p-contact-cf7 .repeater-field-footer input[name=repeater_check_end],
.p-contact-cf7 .repeater-field-footer input[name^=repeater_check_end] {
  display: none !important;
}
.p-contact-cf7 .repeater-field-button-add,
.p-contact-cf7 .p-contact-cf7__repeaterAddBtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1px;
  width: 100%;
  min-height: 46px;
  padding: 10px 12px;
  border: 2px solid #1d4294;
  border-radius: 30px;
  background-color: #2595da;
  color: #fff !important;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 17px;
  font-weight: 500;
  line-height: 1.3;
  text-align: center;
  text-decoration: none !important;
  box-sizing: border-box;
  cursor: pointer;
}
.p-contact-cf7 .p-contact-cf7__repeaterAddTxt {
  flex: 0 1 auto;
}
.p-contact-cf7 .p-contact-cf7__repeaterAddIcon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 23px;
  height: 23px;
}
.p-contact-cf7 .p-contact-cf7__repeaterAddIcon img {
  display: block;
  width: 23px;
  height: 23px;
}
.p-contact-cf7 .repeater-field-button-add:hover,
.p-contact-cf7 .p-contact-cf7__repeaterAddBtn:hover {
  opacity: 0.85;
  color: #fff !important;
}
.p-contact-cf7__privacy {
  display: flex;
  justify-content: center;
  padding-top: 8px;
  width: 100%;
  font-weight: 400;
}
.p-contact-cf7__privacy .wpcf7-acceptance {
  margin: 0;
}
.p-contact-cf7__privacy .wpcf7-list-item {
  margin: 0;
}
.p-contact-cf7__privacy .wpcf7-list-item label {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.05em;
  color: #333;
}
.p-contact-cf7__privacy input[type=checkbox] {
  width: 16px;
  height: 16px;
  margin: 0;
  border: 1px solid #c3c3c3;
  border-radius: 3px;
  accent-color: #1d4294;
}
.p-contact-cf7__privacy a {
  color: #333;
  text-decoration: underline;
  text-decoration-color: #c3c3c3;
  margin-left: 9px;
  cursor: pointer;
}
.p-contact-cf7__submit {
  display: flex;
  justify-content: center;
  padding-top: 2px;
  width: fit-content;
  margin: 0 auto;
}
.p-contact-cf7 .wpcf7-submit, .p-contact-cf7__submitBtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-width: 166px;
  min-height: 46px;
  margin: 0;
  padding: 10px 29.5px 10px;
  border: 2px solid #1d4294;
  border-radius: 30px;
  background-color: #ffea16;
  background-image: url("../img/form-btn-arrow.svg");
  background-repeat: no-repeat;
  background-position: right 26.5px center;
  background-size: 24px 24px;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1.3;
  color: #000;
  cursor: pointer;
  box-sizing: border-box;
}
.p-contact-cf7 .wpcf7-spinner {
  margin-left: 8px;
}
.p-contact-cf7 .wpcf7-not-valid-tip {
  margin-top: 4px;
  font-size: 12px;
  color: #dc3232;
}
.p-contact-cf7 .wpcf7-response-output {
  margin: 0;
  padding: 10px 12px;
  border-radius: 5px;
  font-size: 13px;
}

.p-faq-contents {
  background-color: #BDCCD4;
  padding-bottom: 52px;
}

.p-faq-contents__lead {
  font-weight: 400;
  line-height: 1.4;
  text-align: center;
}

.p-faq-contents__popularSec {
  margin-top: 23px;
}

.p-faq-contents__cateSec {
  margin-top: 25px;
}

.p-faq-contents__headingBox {
  position: relative;
}

.p-faq-contents__headingSecondary {
  font-size: 26px;
  color: #000;
  font-weight: 700;
  line-height: 1.34;
  letter-spacing: 0.05em;
  text-align: center;
}

.p-faq-contents__square {
  display: block;
  width: 116px;
  aspect-ratio: 116/13;
  margin-inline: auto;
  margin-top: 16px;
  line-height: 1;
  font-size: auto;
}

.p-faq-contents__tabContainer {
  margin-top: 32px;
  width: 314px;
  margin-inline: auto;
  display: grid;
  --column: 2;
  grid-template-columns: repeat(var(--column), 1fr);
  gap: 12px;
}

.p-faq-contents_tab a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 8px 6px;
  border-radius: 10px;
  border: 1px solid #2D5786;
  background-color: #fff;
  display: flex;
  flex-direction: column;
  gap: 3px;
  align-items: center;
}
.p-faq-contents_tab a span {
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;
}

.p-faq-contents_tab a.active {
  background-color: #2D5786;
}
.p-faq-contents_tab a.active span {
  color: #fff;
}
.p-faq-contents_tab a.active svg path {
  fill: #fff;
}

.p-faq-contents__cateBlock {
  margin-top: 30px;
  display: none;
}

.p-faq-contents__cateBlock.active {
  display: block;
}

.p-faq-contents__cateTtl {
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #00396E;
  text-align: center;
  line-height: 1.4;
  padding-bottom: 12px;
  position: relative;
}
.p-faq-contents__cateTtl::before {
  content: "";
  height: 2px;
  background-image: radial-gradient(circle, #00396E 50%, transparent 50%);
  background-repeat: repeat-x;
  background-size: 4px 2px;
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  right: 0;
}

.p-faq-contents__listContainer {
  margin-top: 30px;
}

.p-faq-contents__list.is-faq-hidden {
  display: none;
}

.p-faq-contents__moreBtn {
  cursor: pointer;
}

.p-faq-contents__ttl {
  font-size: 16px;
  padding-right: 42px;
}

.p-faq-contents__btn {
  margin-top: 30px;
  width: 340px;
  height: 66px;
}

.p-faq-contents__btn a {
  display: block;
  width: 100%;
  height: 100%;
  padding-right: 12px;
  align-content: center;
  border: 3px solid #fff;
  border-radius: 30px;
  background-color: #2595DA;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  overflow: hidden;
  position: relative;
  z-index: 2;
}
.p-faq-contents__btn a::before {
  content: "";
  background-image: url(../img/btn_bg_blue.webp);
  background-size: cover;
  mix-blend-mode: hard-light;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: -1;
}

.p-faq-contents__btnIcon {
  width: 24px;
  aspect-ratio: 24/24;
  background-image: url(../img/arrow-right.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  display: block;
  position: absolute;
  top: 50%;
  right: 26px;
  translate: 0 -50%;
}

.p-flow-fv {
  padding-top: 48px;
  height: 296px;
}

.p-flow-fv__strings {
  width: 111.5px;
  margin-inline: auto;
}

.p-flow-fv__ttl {
  height: auto;
  font-size: 26px;
}

.p-flow-contents {
  padding-inline: var(--pi);
  margin-top: -10px;
}

.p-school-archive-contents {
  padding: 0 14px 33px;
}

.p-flow-anchor {
  display: grid;
  --column: 3;
  grid-template-columns: repeat(var(--column), 1fr);
  gap: 12px;
  position: relative;
}
.p-flow-anchor::before {
  content: "";
  height: 5px;
  background-color: #2d5786;
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 5px;
  right: 5px;
  z-index: -1;
}

.p-flow-anchor__item {
  height: 105px;
  background-color: #fff;
}
.p-flow-anchor__item a {
  display: block;
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding-top: 12px;
  border-radius: 50%;
  border: 2px solid #2d5786;
}

.p-flow-anchor__num {
  font-family: var(--num);
  font-size: 12px;
  font-weight: 400;
  text-align: center;
  text-transform: uppercase;
  color: #2d5786;
  line-height: 1;
}
.p-flow-anchor__num span {
  font-weight: 700;
  font-size: 24px;
}

.p-flow-anchor__txt {
  font-size: 18px;
  font-weight: 700;
  text-align: center;
  line-height: 17px;
}
.p-flow-anchor__txt .fz14 {
  font-size: 14px;
}
.p-flow-anchor__txt .fz16 {
  font-size: 16px;
}

.p-flow-details {
  padding-top: 57px;
  display: flex;
  flex-direction: column;
  gap: 46px;
}

.p-flow-details__item {
  border-radius: 20px;
  background-color: #e7e9a1;
  padding-bottom: 20px;
  position: relative;
}

.p-flow-details__image {
  height: 123px;
  overflow: hidden;
  border-radius: 20px 20px 0 0;
  background-color: #fff;
}
.p-flow-details__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 20px 20px 0 0;
}
.p-flow-details__image .position-top {
  object-position: top;
}
.p-flow-details__image--lg img {
  border-radius: 0;
  object-position: center 35%;
  transform-origin: center 40%;
}
.p-flow-details__image--lg .position-top {
  object-position: center 23%;
}

.p-flow-details__ttl {
  width: 105px;
  height: 105px;
  background-color: #fff;
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding-top: 12px;
  border-radius: 50%;
  border: 2px solid #2d5786;
  position: absolute;
  top: -26px;
  left: 0;
  z-index: 1;
}

.p-flow-details__txtBox {
  padding-inline: 22.5px;
  margin-top: 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.p-flow-details__txt {
  font-size: 14px;
  line-height: 21px;
  letter-spacing: 0.01em;
}
.p-flow-details__txt a {
  color: #00396e;
}
.p-flow-details__txt .square {
  color: #00396e;
}
.p-flow-details__txt .caption {
  font-size: 12px;
  font-weight: 400;
}

.p-flow-details__btn {
  margin-top: 8px;
  height: 60px;
  border: 3px solid #000000;
  border-radius: 100px;
  position: relative;
}

.p-flow-details__btn a {
  display: block;
  width: 100%;
  height: 100%;
  font-size: 16px;
  padding-right: 12px;
  align-content: center;
  border-radius: 30px;
  background-color: #ffea16;
  font-weight: 700;
  text-align: center;
  overflow: hidden;
  position: relative;
  z-index: 2;
}
.p-flow-details__btn a::before {
  content: "";
  background-image: url(../img/btn_bg_blue.webp);
  background-size: cover;
  mix-blend-mode: color-dodge;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: -1;
}

.p-flow-details__btnIcon {
  right: 14px;
}

.p-flow-details__itemOther {
  margin-top: -12px;
}

.p-flow-other__txt {
  font-size: 14px;
  text-align: center;
  color: #251e1c;
  font-weight: 500;
  margin-top: 5px;
}

.p-flow-other__listContainer {
  padding-top: 32px;
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.p-flow-other__listItem {
  position: relative;
  height: 118.8px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding-left: 12px;
  padding-top: 50px;
}
.p-flow-other__listItem--01 {
  background-image: url(../img/flow_other01.webp);
}
.p-flow-other__listItem--02 {
  background-image: url(../img/flow_other02.webp);
}
.p-flow-other__listItem--03 {
  background-image: url(../img/flow_other03.webp);
}

.p-flow-other__listItem:not(:last-child) {
  position: relative;
}
.p-flow-other__listItem:not(:last-child)::before {
  content: "";
  width: 20.6px;
  height: 13.9px;
  background-image: url(../img/hininchi_mirabo_arrow.svg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: block;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -25px;
}

.p-flow-other__listIcon {
  width: 55.8px;
  height: 55.8px;
  position: absolute;
  top: -20px;
  left: 14px;
}

.p-flow-other__listTxt {
  font-size: 16px;
  line-height: 22px;
  font-weight: 700;
}
.p-flow-other__listTxt span {
  font-size: 12px;
  line-height: 18px;
  letter-spacing: 0.05em;
}
.p-flow-other__listTxt--lh1 {
  line-height: 1;
}
.p-flow-other__listTxt--ls01 {
  letter-spacing: -0.1em;
}

.p-flow-other__videoBlock {
  margin-top: 30px;
  padding-inline: var(--pi);
  padding-block: 22px 60px;
  background-image: url(../img/flow_other_video_bg.webp);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}

.p-flow-other__videoInner {
  padding-inline: 10px;
}

.p-flow-fap {
  margin-top: 36px;
}

.p-flow-faq__ttlSpan {
  font-size: 20px;
}

.p-hininchi {
  padding-top: 31px;
  position: relative;
}
.p-hininchi::before {
  content: "";
  height: 1397.3px;
  background-image: url(../img/hininchi_fv.webp);
  background-size: contain;
  background-position: top center;
  background-repeat: no-repeat;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: -1;
}

.p-hininchi-fv__strings {
  width: 276.7px;
  height: 75px;
  margin-inline: auto;
}

.p-hininchi-fv__ttl {
  font-size: 26px;
  text-align: center;
  font-weight: 700;
  line-height: 36px;
  letter-spacing: 0.01em;
  margin-top: -8px;
}
.p-hininchi-fv__ttl span {
  font-size: 20px;
  font-weight: 700;
}

.p-hininchi-fv__txt {
  font-size: 14px;
  margin-top: 20px;
  line-height: 24px;
  text-align: center;
}

.p-hininchi-fiveForce {
  margin-top: 127px;
}

.p-hininchi-fiveForce__ttl {
  font-size: 20px;
  text-align: center;
  font-weight: 700;
  line-height: 29px;
}
.p-hininchi-fiveForce__ttl span {
  font-size: 28px;
  color: #00396e;
  font-weight: 700;
}

.p-hininchi-fiveForce__ttlIcon {
  width: 123.5px;
  margin-inline: auto;
  margin-top: 2px;
}

.p-hininchi-fiveForce__ttlSecondary {
  margin-top: 20px;
  font-size: 15px;
  font-weight: 700;
  color: #00396e;
  text-align: center;
}

.p-hininchi-fiveForce__lead {
  margin-top: 5px;
  font-size: 14px;
  line-height: 20px;
  max-width: 300px;
  margin-inline: auto;
  letter-spacing: 0.03em;
}
.p-hininchi-fiveForce__lead span {
  font-size: 18px;
  color: #1d4294;
}

.p-hininchi-fiveForce__image {
  width: 347.3px;
  height: 347.3px;
  margin-inline: auto;
  margin-top: 6px;
}

.p-hininchi-fiveForce__reason {
  margin-top: 41px;
  padding-top: 30px;
  position: relative;
}
.p-hininchi-fiveForce__reason::before {
  content: "";
  display: block;
  height: 874px;
  background-image: url(../img/hininchi_reason_bg.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: -1;
}

.p-hininchi-fiveForce__reasonTtlBox {
  display: flex;
  align-items: center;
  gap: 10px;
  width: fit-content;
  margin-inline: auto;
}

.p-hininchi-fiveForce__reasonTtlIcon {
  width: 39.1px;
}

.p-hininchi-fiveForce__reasonTtl {
  font-size: 20px;
  font-weight: 700;
  line-height: 26px;
  letter-spacing: 0.01em;
  color: #fff;
}

.p-hininchi-fiveForce__reasonTxt {
  font-size: 14px;
  line-height: 20px;
  margin-top: 15px;
  letter-spacing: 0.025em;
  color: #fff;
  width: fit-content;
  margin-inline: auto;
}

.p-hininchi-fiveForce__reasonHukidasi {
  width: 371.978px;
  margin-left: auto;
  margin-top: -25px;
  left: 11px;
  position: relative;
}

.p-hininchi-fiveForce__reasonTable {
  width: 343px;
  margin-inline: auto;
  margin-top: 22px;
}

.p-hininchi-fiveForce__mirabo {
  margin-top: 26px;
  padding-top: 43px;
  position: relative;
}
.p-hininchi-fiveForce__mirabo::before {
  content: "";
  display: block;
  height: 938.6px;
  background-image: url(../img/hininchi_mirabo_bg.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: -1;
}

.p-hininchi-fiveForce__miraboTtlBox {
  text-align: center;
  color: #fff;
}

.p-hininchi-fiveForce__miraboTtlTxt {
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 0.02em;
  margin-top: 4px;
}

.p-hininchi-fiveForce__miraboTtl {
  font-size: 20px;
  font-weight: 700;
  line-height: 26px;
  letter-spacing: 0.01em;
  margin-top: 5px;
}
.p-hininchi-fiveForce__miraboTtl small {
  font-size: 14px;
  margin-bottom: 4px;
  display: block;
}
.p-hininchi-fiveForce__miraboTtl span {
  color: #ffea16;
}

.p-hininchi-fiveForce__miraboLead {
  margin-top: 22px;
  font-size: 14px;
  line-height: 20px;
  max-width: 300px;
  margin-inline: auto;
  color: #fff;
}

.p-hininchi-fiveForce__miraboListContainer {
  margin-top: 26px;
  display: flex;
  flex-direction: column;
  gap: 35px;
  max-width: 300px;
  margin-inline: auto;
}

.p-hininchi-fiveForce__miraboList {
  display: grid;
  grid-template-columns: 55.8px 1fr;
  gap: 19px;
  align-items: center;
}

.p-hininchi-fiveForce__miraboList:not(:last-child) {
  position: relative;
}
.p-hininchi-fiveForce__miraboList:not(:last-child)::before {
  content: "";
  width: 20.6px;
  height: 13.9px;
  background-image: url(../img/hininchi_mirabo_arrow.svg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: block;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -25px;
}

.p-hininchi-fiveForce__miraboListTtl {
  font-size: 20px;
  color: #ffea16;
  line-height: 26px;
}
.p-hininchi-fiveForce__miraboListTtl span {
  font-size: 16px;
  letter-spacing: 0.01em;
}

.p-hininchi-fiveForce__miraboListTxt {
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 0.02em;
  color: #fff;
}

.p-hininchi-fiveForce__miraboPoint {
  margin-top: 45px;
  margin-left: 30px;
  position: relative;
}

.p-hininchi-fiveForce__miraboPointImage {
  width: 149.3px;
  position: absolute;
  top: -30px;
  right: 0;
}

.p-hininchi-fiveForce__miraboTtlSecondary {
  font-size: 18px;
  line-height: 28px;
  letter-spacing: 0.01em;
  color: #fff;
  font-weight: 700;
}
.p-hininchi-fiveForce__miraboTtlSecondary span {
  font-size: 20px;
  color: #ffea16;
  font-weight: 700;
}
.p-hininchi-fiveForce__miraboTtlSecondary .green {
  color: #c2e06e;
}

.p-hininchi-fiveForce__miraboTxt {
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 0.02em;
  margin-top: 13px;
  color: #fff;
}

.p-hininchi-fiveForce__connect {
  margin-top: 43px;
  padding-block: 60px 104px;
  background-image: url(../img/hininchi_connect_bg.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  text-align: center;
}

.p-hininchi-fiveForce__connectTtl {
  font-size: 26px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #fff;
}
.p-hininchi-fiveForce__connectTtl span {
  font-size: 22px;
}

.p-hininchi-fiveForce__connectTxt {
  font-size: 16px;
  line-height: 28px;
  color: #fff;
  margin-top: 23px;
}

.p-hininchi-cta {
  margin-top: 20px;
}

.p-hininchi-magazine {
  padding-block: 42px 37px;
  margin-top: 40px;
  position: relative;
  z-index: 1;
}
.p-hininchi-magazine::before {
  content: "";
  display: block;
  height: 583px;
  background-image: url(../img/about_magazine_bg.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: -1;
}

.p-school-archive .p-flow-fv {
  height: 284px;
  padding-top: 78px;
}
.p-school-archive .p-flow-other__videoBlock {
  margin-top: 24px;
}

.p-school-archive-fv__ttl {
  display: flex;
  flex-direction: column;
  gap: 0;
  height: auto;
  padding-bottom: 60px;
  font-size: 26px;
  font-weight: 700;
  line-height: 34px;
  letter-spacing: 0.26px;
  color: #000;
}

.p-school-archive-fv__line {
  display: block;
}

.p-school-archive-contents {
  position: relative;
  margin-top: 0;
  padding: 0 var(--pi) 33px;
  background-color: #e6f6fc;
}
.p-school-archive-contents .p-flow-contents {
  margin-top: 0;
  padding-inline: 0;
}

.p-school-archive-search {
  padding-bottom: 0;
}

.p-school-archive-area {
  margin-top: 32px;
}
.p-school-archive-area__heading {
  text-align: center;
}
.p-school-archive-area__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 135px;
  height: 26px;
  padding-inline: 12px;
  border: 1px solid #bdccd4;
  border-radius: 13px;
  background-color: #fff;
}
.p-school-archive-area__badgeIcon {
  display: flex;
  width: 16px;
  height: 16px;
}
.p-school-archive-area__badgeIcon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.p-school-archive-area__badgeTxt {
  font-family: "Lexend Zetta", sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: #00396e;
}
.p-school-archive-area__ttl {
  margin-top: 8px;
  color: #000;
  font-weight: 700;
  letter-spacing: -0.44px;
}
.p-school-archive-area__ttlLead {
  display: block;
  font-size: 22px;
  line-height: 32px;
}
.p-school-archive-area__ttlMain {
  display: block;
  font-size: 24px;
  line-height: 32px;
  letter-spacing: -0.52px;
}
.p-school-archive-area__square {
  display: flex;
  width: 123.5px;
  height: 13px;
  margin: 12px auto 0;
}
.p-school-archive-area__tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px 7px;
  margin-top: 30px;
}
.p-school-archive-area__tab {
  min-height: 50px;
  padding: 10px 0;
  border: 1px solid #bdccd4;
  border-radius: 10px;
  background-color: #fff;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.32px;
  color: #000;
  cursor: pointer;
  font-family: "Zen Maru Gothic";
  text-align: center;
}
.p-school-archive-area__tab.is-active {
  background-color: #1D4293;
  color: #fff;
}
.p-school-archive-area__panel {
  position: relative;
  display: none;
  margin-top: 16px;
  padding: 20px 26px 24px;
  border: 1px solid #bdccd4;
  border-radius: 10px;
  background-color: #fff;
}
.p-school-archive-area__panel.is-active {
  display: block;
}
.p-school-archive-area__panelHead {
  position: relative;
  z-index: 1;
  padding-right: 48px;
}
.p-school-archive-area__panelLabel {
  display: flex;
  align-items: center;
  gap: 8px;
}
.p-school-archive-area__panelIcon {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  width: 17.86px;
  height: 32.42px;
}
.p-school-archive-area__panelIcon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.p-school-archive-area__panelTxt {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.p-school-archive-area__panelSub {
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.2px;
  line-height: normal;
  color: #000;
}
.p-school-archive-area__panelName {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.36px;
  line-height: normal;
  color: #000;
}
.p-school-archive-area__panelBall {
  position: absolute;
  top: 20px;
  right: 16px;
  z-index: 0;
  width: 41.36px;
  height: 41.36px;
  margin: 0;
  pointer-events: none;
}
.p-school-archive-area__panelBall img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.p-school-archive-area__prefList {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px 9px;
  margin-top: 20px;
}
.p-school-archive-area__prefBtn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  height: 50px;
  padding: 13px 6px 13px 15px;
  border: 1px solid #bdccd4;
  border-radius: 10px;
  background-color: #fff;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.32px;
  line-height: normal;
  color: #000;
  text-align: center;
  cursor: default;
}
.p-school-archive-area__prefBtn.js-school-pref-btn {
  cursor: pointer;
}
.p-school-archive-area__prefBtn.is-disabled {
  color: #bdccd4;
  border-color: #d7e0e5;
  background-color: #f3f6f8;
  cursor: default;
  pointer-events: none;
}
.p-school-archive-area__prefName {
  display: block;
}
.p-school-archive-area__prefArrow {
  position: absolute;
  right: 6px;
  top: 50%;
  display: flex;
  width: 16px;
  height: 16px;
  transform: translateY(-50%);
  line-height: 0;
}
.p-school-archive-area__prefArrow img {
  display: block;
  width: 16px;
  height: 16px;
}

.p-school-archive-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 80px 14px 24px;
  overflow-y: auto;
}
.p-school-archive-modal[hidden] {
  display: none;
}
.p-school-archive-modal__overlay {
  position: fixed;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.45);
}
.p-school-archive-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(100%, 347px);
  border-radius: 10px;
  overflow: hidden;
  background-color: #1D4293;
}
.p-school-archive-modal__close {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  width: 34px;
  height: 34px;
  border: 0;
  background: transparent;
  font-size: 28px;
  line-height: 1;
  color: #00396e;
  cursor: pointer;
}
.p-school-archive-modal__head {
  position: relative;
  padding: 12px 20px 10px;
  background-color: #fff;
}
.p-school-archive-modal__ttl {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.9px;
  color: #000;
  text-align: left;
}
.p-school-archive-modal__note {
  margin-top: 8px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.7px;
  color: #00396e;
}
.p-school-archive-modal__list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 0;
  padding: 12px 16px 16px;
  list-style: none;
}
.p-school-archive-modal__row {
  display: grid;
  gap: 4px;
}
.p-school-archive-modal__rowLabel {
  margin: 0;
  padding: 0 4px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.52px;
  line-height: 1.4;
  color: #ffea16;
}
.p-school-archive-modal__cities {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 7px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.p-school-archive-modal__item {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 35px;
}
.p-school-archive-modal__link {
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.8px;
  line-height: 1.4;
  color: #fff;
  white-space: nowrap;
}
.p-school-archive-modal__divider {
  display: block;
  width: 1px;
  height: 15px;
  flex-shrink: 0;
  background-color: #fff;
}
.p-school-archive-modal__arrow {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  background: url("../img/arrow-white.svg") no-repeat center/contain;
}
.p-school-archive-modal__empty {
  padding: 20px;
  background-color: #fff;
  color: #00396e;
  text-align: center;
}

body.is-school-modal-open {
  overflow: hidden;
}

.p-school-archive-flow {
  background-color: #fff;
}
.p-school-archive-flow .p-flow-contents {
  margin-top: 0;
  padding-inline: var(--pi);
}
.p-school-archive-flow__details {
  padding: 33px 0;
}
.p-school-archive-flow .p-flow-details__itemOther {
  margin-top: 0;
}

.p-school {
  padding-bottom: 40px;
}

.p-school-fv {
  position: relative;
}
.p-school-fv__en {
  position: absolute;
  top: 72px;
  left: 50%;
  transform: translateX(-50%);
  font-family: "Lexend Zetta", sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.2em;
  color: #B7002C;
}

.p-school-contents {
  padding-bottom: 52px;
}

.p-school-contents__heading {
  margin-top: 32px;
  font-size: 20px;
  font-weight: 700;
  color: #B7002C;
  text-align: center;
}

.p-school-search {
  margin-top: 24px;
}
.p-school-search__card {
  background-color: #B7002C;
  border-radius: 16px;
  padding: 24px 20px;
  color: #fff;
}
.p-school-search__card-icon {
  display: block;
  width: 18px;
  margin-inline: auto;
}
.p-school-search__card-title {
  margin-top: 12px;
  font-size: 22px;
  font-weight: 700;
  text-align: center;
}
.p-school-search__card-title small {
  font-size: 16px;
}
.p-school-search__lead {
  margin-top: 12px;
  font-size: 14px;
  line-height: 1.6;
  text-align: center;
}
.p-school-search__field {
  margin-top: 16px;
}
.p-school-search__select {
  width: 100%;
  height: 48px;
  border: none;
  border-radius: 8px;
  padding-inline: 16px;
  font-size: 16px;
  color: #B7002C;
  background-color: #fff;
}
.p-school-search__select.is-placeholder:invalid {
  color: #bdccd4;
}
.p-school-search__submit {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  height: 48px;
  margin-top: 16px;
  border-radius: 999px;
  background-color: #FFEA16;
  color: #B7002C;
  font-size: 16px;
  font-weight: 700;
}

.p-school-pref {
  margin-top: 40px;
}
.p-school-pref__ttl {
  font-size: 22px;
  font-weight: 700;
  color: #B7002C;
  text-align: center;
}
.p-school-pref__lead {
  margin-top: 12px;
  font-size: 14px;
  line-height: 1.7;
  text-align: center;
}
.p-school-pref__grid {
  margin-top: 24px;
  display: grid;
  gap: 20px;
}
.p-school-pref__regionTtl {
  font-size: 16px;
  font-weight: 700;
  color: #B7002C;
  padding-bottom: 8px;
  border-bottom: 2px solid #2595DA;
}
.p-school-pref__list {
  margin-top: 12px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.p-school-pref__item a,
.p-school-pref__item span {
  display: block;
  padding: 10px 6px;
  border-radius: 8px;
  background-color: #fff;
  text-align: center;
  font-size: 14px;
  font-weight: 700;
  color: #B7002C;
}
.p-school-pref__item.is-disabled span {
  color: #bdccd4;
  background-color: #f3f6f8;
}

.p-school-contact {
  margin-top: 32px;
  display: grid;
  gap: 16px;
}
.p-school-contact__box {
  border-radius: 12px;
  background-color: #fff;
  padding: 20px 16px;
}
.p-school-contact__ttl {
  font-size: 16px;
  font-weight: 700;
  color: #B7002C;
}
.p-school-contact__txt, .p-school-contact__time {
  margin-top: 8px;
  font-size: 14px;
  line-height: 1.7;
}
.p-school-contact__num {
  margin-top: 8px;
  font-size: 24px;
  font-weight: 700;
}
.p-school-contact__num a {
  color: #B7002C;
}
.p-school-contact__btn {
  display: inline-flex;
  margin-top: 12px;
  padding: 12px 20px;
  border-radius: 999px;
  background-color: #2595DA;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
}

.p-school-info {
  margin-top: 40px;
}
.p-school-info__ttl {
  font-size: 20px;
  font-weight: 700;
  color: #B7002C;
  text-align: center;
}
.p-school-info__list {
  margin-top: 16px;
  display: grid;
  gap: 12px;
}
.p-school-info__item a {
  display: grid;
  gap: 6px;
  padding: 16px;
  border-radius: 10px;
  background-color: #fff;
}
.p-school-info__date {
  font-size: 13px;
}
.p-school-info__cat {
  display: inline-block;
  width: fit-content;
  padding: 4px 8px;
  border-radius: 4px;
  background-color: #eef7fd;
  color: #B7002C;
  font-size: 12px;
  font-weight: 700;
}
.p-school-info__title {
  font-size: 15px;
  font-weight: 700;
  line-height: 1.5;
  color: #B7002C;
}
.p-school-info__more {
  margin-top: 16px;
  text-align: center;
}
.p-school-info__more a {
  display: inline-flex;
  min-width: 200px;
  justify-content: center;
  padding: 12px 24px;
  border-radius: 999px;
  background-color: #B7002C;
  color: #fff;
  font-weight: 700;
}

.p-school-footTxt {
  margin-top: 32px;
  font-size: 14px;
  line-height: 1.8;
}

.p-school-municipality {
  margin-top: 24px;
}
.p-school-municipality__lead {
  font-size: 14px;
  line-height: 1.7;
  text-align: center;
}
.p-school-municipality__anchor ul {
  margin-top: 20px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
}
.p-school-municipality__anchor ul a,
.p-school-municipality__anchor ul .is-disabled {
  display: inline-block;
  padding: 8px 12px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
}
.p-school-municipality__anchor ul a {
  background-color: #fff;
  color: #B7002C;
}
.p-school-municipality__anchor ul .is-disabled {
  color: #bdccd4;
  background-color: #f3f6f8;
}
.p-school-municipality__row {
  margin-top: 24px;
}
.p-school-municipality__rowTtl {
  font-size: 18px;
  font-weight: 700;
  color: #B7002C;
}
.p-school-municipality__list {
  margin-top: 12px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.p-school-municipality__list a {
  display: block;
  padding: 12px;
  border-radius: 8px;
  background-color: #fff;
  text-align: center;
  font-size: 14px;
  font-weight: 700;
  color: #B7002C;
}

.p-school-list {
  margin-top: 24px;
}
.p-school-list__ttl {
  font-size: 20px;
  font-weight: 700;
  color: #B7002C;
  text-align: center;
}
.p-school-list__lead {
  margin-top: 12px;
  font-size: 14px;
  line-height: 1.7;
  text-align: center;
}
.p-school-list__cards {
  margin-top: 24px;
  display: grid;
  gap: 16px;
}

.p-school-card {
  border-radius: 12px;
  background-color: #fff;
  overflow: hidden;
}
.p-school-card__table {
  padding: 16px;
}
.p-school-card__row {
  display: grid;
  grid-template-columns: 88px 1fr;
  gap: 12px;
  padding-block: 10px;
  border-bottom: 1px solid #e7eef3;
}
.p-school-card__row:last-child {
  border-bottom: none;
}
.p-school-card__row dt {
  font-size: 13px;
  font-weight: 700;
  color: #B7002C;
}
.p-school-card__row dd {
  font-size: 14px;
  line-height: 1.6;
}
.p-school-card__btn a {
  display: block;
  padding: 16px;
  background-color: #2595DA;
  color: #fff;
  text-align: center;
  font-size: 15px;
  font-weight: 700;
}

.p-school-empty {
  margin-top: 24px;
  text-align: center;
}
.p-school-empty__message {
  margin-top: 24px;
  text-align: center;
}
.p-school-empty__btns {
  margin-top: 16px;
  display: grid;
  gap: 12px;
}
.p-school-empty__btns a {
  display: block;
  padding: 12px 20px;
  border-radius: 999px;
  background-color: #B7002C;
  color: #fff;
  font-weight: 700;
}

.p-school-archive-modal__note {
  display: flex;
}

.p-school-taxonomy .p-flow-fv {
  height: 284px;
  padding-top: 78px;
}
.p-school-taxonomy .p-school-archive-contents {
  padding-bottom: 0;
}
.p-school-taxonomy .p-school-archive-search {
  margin-top: 40px;
}

.tax-school_area .p_top-banner,
.single-school .p_top-banner {
  display: none;
}
.tax-school_area .c-cta__toTopBlock,
.single-school .c-cta__toTopBlock {
  padding-top: 49px;
}

.p-school-taxonomy-fv__ttl {
  display: flex;
  flex-direction: column;
  gap: 0;
  height: auto;
  padding-bottom: 60px;
  font-size: 26px;
  font-weight: 700;
  line-height: 34px;
  letter-spacing: 0.26px;
  color: #000;
}

.p-school-taxonomy-fv__line {
  display: block;
}

.p-school-taxonomy-contents {
  position: relative;
  margin-top: 0;
  padding: 0 var(--pi) 33px;
  background-color: #e6f6fc;
}
.p-school-taxonomy-contents .p-top-search {
  padding-top: 0;
  padding-bottom: 0;
  margin-top: -40px;
}

.p-school-taxonomy-results [hidden],
.p-school-taxonomy-results .is-hidden {
  display: none !important;
}
.p-school-taxonomy-results__exact, .p-school-taxonomy-results__nearby {
  display: grid;
  gap: 16px;
}
.p-school-taxonomy-results__head {
  text-align: center;
}
.p-school-taxonomy-results__ttl {
  font-size: 26px;
  font-weight: 700;
  letter-spacing: 2.6px;
  color: #000;
}
.p-school-taxonomy-results__count {
  margin-top: 0;
  font-size: 14px;
  letter-spacing: 0.7px;
  color: #00396e;
}
.p-school-taxonomy-results__countNum {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.4px;
}
.p-school-taxonomy-results__square {
  display: flex;
  width: 123.5px;
  height: 13px;
  margin: 12px auto 0;
}
.p-school-taxonomy-results__cards {
  display: grid;
  gap: 16px;
  margin-top: 16px;
  scroll-margin-top: 76px;
}
.p-school-taxonomy-results__empty {
  margin-top: 24px;
  text-align: center;
  font-size: 14px;
  line-height: 1.7;
  color: #00396e;
}
.p-school-taxonomy-results__pager {
  margin-top: 41px;
}

.p-school-taxonomy-weekday {
  margin-top: 24px;
  padding: 21px 12px;
  border-radius: 20px 20px 0 0;
  background-color: #DEE284;
  scroll-margin-top: 76px;
}
.p-school-taxonomy-weekday__head {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
}
.p-school-taxonomy-weekday__icon {
  display: flex;
  width: 29px;
  height: 29px;
}
.p-school-taxonomy-weekday__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.p-school-taxonomy-weekday__ttl {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.6px;
  color: #00396e;
}
.p-school-taxonomy-weekday__btns {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 12px;
}
.p-school-taxonomy-weekday__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 5px;
  background-color: #fff;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.32px;
  color: #00396e;
  cursor: pointer;
}
.p-school-taxonomy-weekday__btn.is-active {
  background-color: #1d4294;
  color: #fff;
}
.p-school-taxonomy-weekday__btn.is-disabled,
.p-school-taxonomy-weekday__btn:disabled {
  background-color: #d9d9d9;
  color: #8a8a8a;
  cursor: not-allowed;
  pointer-events: none;
  opacity: 1;
}
.p-school-taxonomy-weekday__note {
  margin-top: 12px;
  font-size: 14px;
  letter-spacing: 0.7px;
  text-align: center;
  color: #000;
}

.p-school-taxonomy-card {
  border-radius: 8.516px;
  background-color: #fff;
}
.p-school-taxonomy-card__inner {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 20px 10px;
}
.p-school-taxonomy-card__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px 12px;
  align-items: start;
}
.p-school-taxonomy-card__ttl {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.18px;
  line-height: 1.4;
  color: #00396e;
  text-align: left;
}
.p-school-taxonomy-card__weekdays {
  display: grid;
  grid-template-columns: repeat(4, 22.451px);
  gap: 4.67px 8.42px;
  align-content: start;
}
.p-school-taxonomy-card__weekday {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 22.451px;
  height: 21.516px;
  border: 0.935px solid #bdccd4;
  border-radius: 2.806px;
  background-color: #e9f1f7;
  font-size: 13px;
  font-weight: 500;
  line-height: 1;
  color: #bdccd4;
}
.p-school-taxonomy-card__weekday.is-active {
  border-color: #00396e;
  background-color: #00396e;
  color: #fff;
}
.p-school-taxonomy-card__meta {
  display: grid;
  gap: 5px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.p-school-taxonomy-card__metaItem {
  display: flex;
  align-items: flex-start;
  gap: 5px;
}
.p-school-taxonomy-card__metaItem:first-child {
  gap: 7px;
}
.p-school-taxonomy-card__metaItem:last-child {
  gap: 4px;
  align-items: flex-start;
}
.p-school-taxonomy-card__metaIcon {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
}
.p-school-taxonomy-card__metaIcon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.p-school-taxonomy-card__metaTxt {
  font-size: 15px;
  line-height: 1.5;
  letter-spacing: 0.65px;
  color: #000;
}
.p-school-taxonomy-card__metaTxt--time {
  font-size: 18px;
  letter-spacing: 0;
  line-height: 1.4;
}
.p-school-taxonomy-card__btn {
  display: flex;
  justify-content: center;
  margin-top: 4px;
}
.p-school-taxonomy-card__btn a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  width: 176px;
  height: 36px;
  padding: 8px 12px;
  border-radius: 10px;
  background-color: #B7002C;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 1.12px;
  line-height: 1.2;
  color: #fff;
}
.p-school-taxonomy-card__btnTxt {
  white-space: nowrap;
}
.p-school-taxonomy-card__btnIcon {
  display: block;
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}
.p-school-taxonomy-card__btnIcon img {
  display: block;
  width: 100%;
  height: 100%;
}

.p-school-taxonomy-cityNav {
  margin-top: 40px;
}
.p-school-taxonomy-cityNav__heading {
  text-align: center;
}
.p-school-taxonomy-cityNav__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 135px;
  height: 26px;
  padding-inline: 12px;
  border: 1px solid #bdccd4;
  border-radius: 13px;
  background-color: #fff;
}
.p-school-taxonomy-cityNav__badgeIcon {
  display: flex;
  width: 16px;
  height: 16px;
}
.p-school-taxonomy-cityNav__badgeIcon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.p-school-taxonomy-cityNav__badgeTxt {
  font-family: "Lexend Zetta", sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: #00396e;
}
.p-school-taxonomy-cityNav__ttl {
  margin-top: 8px;
  color: #000;
  font-weight: 700;
}
.p-school-taxonomy-cityNav__ttlLead {
  display: block;
  font-size: 22px;
  line-height: 32px;
  letter-spacing: -0.44px;
}
.p-school-taxonomy-cityNav__ttlMain {
  display: block;
  font-size: 24px;
  line-height: 32px;
  letter-spacing: -0.52px;
}
.p-school-taxonomy-cityNav__lead {
  margin: 12px 0 0;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.28px;
  color: #00396e;
}
.p-school-taxonomy-cityNav__square {
  display: flex;
  width: 123.5px;
  height: 13px;
  margin: 12px auto 0;
}
.p-school-taxonomy-cityNav__panel {
  width: 100%;
  margin: 24px auto 0;
  overflow: hidden;
  border-radius: 20px 20px 0 0;
  background-color: #fff;
}
.p-school-taxonomy-cityNav__pref {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  margin: 0;
  padding: 10px;
  background-color: #1D4293;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 1.28px;
  color: #fff;
  text-align: center;
}
.p-school-taxonomy-cityNav__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 7px;
  margin: 0;
  padding: 0 9px;
  list-style: none;
  background-color: #fff;
}
.p-school-taxonomy-cityNav__item {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 50px;
}
.p-school-taxonomy-cityNav__link {
  font-size: 14px;
  line-height: normal;
  color: #000;
  text-align: center;
  white-space: nowrap;
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-thickness: from-font;
}
.p-school-taxonomy-cityNav__link.is-current {
  color: #1D4293;
}
.p-school-taxonomy-cityNav__divider {
  display: block;
  width: 1px;
  height: 15px;
  flex-shrink: 0;
  background-color: #1d4294;
}

.p-school-taxonomy-news {
  margin-top: 40px;
  margin-inline: calc(var(--pi) * -1);
  padding: 33px var(--pi) 40px;
  background-color: #DEE284;
}
.p-school-taxonomy-news__heading {
  text-align: center;
}
.p-school-taxonomy-news__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-width: 135px;
  height: 26px;
  padding-inline: 10px;
  border: 1px solid #bdccd4;
  border-radius: 20px;
  background-color: #fff;
}
.p-school-taxonomy-news__badgeIcon {
  display: flex;
  width: 16px;
  height: 16px;
}
.p-school-taxonomy-news__badgeIcon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.p-school-taxonomy-news__badgeTxt {
  font-family: "Lexend Zetta", sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: #00396e;
}
.p-school-taxonomy-news__ttl {
  margin-top: 8px;
  color: #000;
  font-weight: 700;
}
.p-school-taxonomy-news__ttlLead {
  display: block;
  font-size: 22px;
  line-height: 32px;
  letter-spacing: 1.1px;
}
.p-school-taxonomy-news__ttlMain {
  display: block;
  font-size: 24px;
  line-height: 32px;
  letter-spacing: 0.48px;
}
.p-school-taxonomy-news__square {
  display: flex;
  width: 123.5px;
  height: 13px;
  margin: 12px auto 0;
}
.p-school-taxonomy-news__list {
  display: grid;
  gap: 20px;
  margin-top: 30px;
}
.p-school-taxonomy-news__item a {
  display: grid;
  gap: 8px;
  padding: 10px;
  border-radius: 10px;
  background-color: #fff;
}
.p-school-taxonomy-news__meta {
  display: flex;
  align-items: center;
  gap: 8px;
}
.p-school-taxonomy-news__date {
  font-size: 14px;
  letter-spacing: 1.4px;
  color: #000;
}
.p-school-taxonomy-news__cat {
  display: inline-flex;
  align-items: center;
  padding: 3px 4px;
  border-radius: 2px;
  background-color: #FFEB19;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.6px;
  color: #00396E;
}
.p-school-taxonomy-news__title {
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0.32px;
  color: #000;
  font-weight: 400;
}
.p-school-taxonomy-news__more {
  margin-top: 24px;
}
.p-school-taxonomy-news__more a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 33px;
  width: min(100%, 333px);
  min-height: 60px;
  margin-inline: auto;
  padding: 8px 25px 8px 71px;
  border: 3px solid #fff;
  border-radius: 30px;
  background-color: #2D5786;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.9px;
  color: #fff;
}
.p-school-taxonomy-news__moreIcon {
  display: flex;
  width: 24px;
  height: 24px;
}
.p-school-taxonomy-news__moreIcon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.p-school-detail-nearby__cards {
  padding: 0 14px;
  padding-bottom: 33px;
}

.p-poricy-contents {
  background-color: #E5EBEE;
  padding-inline: var(--pi);
  padding-bottom: 30px;
  margin-bottom: 16px;
}

.p-poricy-contents__body {
  padding: 15px;
  border-radius: 10px;
  background-color: #fff;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.p-poricy-contents__ttl {
  font-size: 26px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #00396E;
  border-bottom: 2px solid;
}

.p-poricy-contents__txt {
  font-size: 16px;
  font-weight: 400;
  margin-top: 15px;
}
.p-poricy-contents__txt .h4 {
  display: block;
  font-weight: 700;
  border-bottom: 1px dashed;
}

.p-poricy-contents__ttlSecondary {
  padding: 10px;
  border-radius: 5px;
  background-color: #00396E;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
}

.p-poricy-contents__txt span:not(.h4) {
  display: inline-block;
  max-width: 100%;
  text-indent: -2em;
  padding-left: 2em;
  box-sizing: border-box;
}

.p-privacy-contents__txt span:not(.h4) {
  display: inline-block;
  max-width: 100%;
  text-indent: -1em;
  padding-left: 1em;
  box-sizing: border-box;
}

.p-poricy-contents__txt a {
  overflow-wrap: anywhere;
  word-break: break-all;
}

.p-poricy-contents__date {
  font-size: 16px;
  font-weight: 400;
  margin-top: 36px;
  text-align: right;
}

.p-voice-contents {
  background-color: #00396E;
  padding-inline: 14px;
}

.p-voice-contents__banner {
  padding-block: 14px 12px;
}
.p-voice-contents__banner img {
  display: block;
  width: 100%;
  height: auto;
}

.p-voice-contents__bannerTtl {
  color: #B7002C;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.08em;
}
.p-voice-contents__bannerTtl span {
  font-size: 18px;
  letter-spacing: -0.02em;
}

.p-voice-contents__evaluation {
  color: #BE0000;
  font-size: 54px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  translate: 0 -10%;
  flex-grow: 1;
}

.p-voice-contents__num {
  color: #2D5786;
  font-size: 14px;
  font-weight: 700;
}

.p-voice-contents__tabContainer {
  display: grid;
  --column: 2;
  grid-template-columns: repeat(var(--column), 1fr);
  gap: 3px;
  margin-top: 28px;
}

.p-voice-contents__tab a {
  display: block;
  width: 100%;
  height: 42px;
  align-content: center;
  text-align: center;
  font-weight: 500;
  letter-spacing: 0.5em;
  font-size: 14px;
  border-radius: 10px 10px 0 0;
  color: #00396E;
  background-color: #F6E9EF;
}

.p-voice-contents__tab--active a {
  color: #fff;
  background-color: #B7002C;
}

.p-voice-contents__studentBlock,
.p-voice-contents__obBlock {
  display: none;
  padding-bottom: 50px;
}
.p-voice-contents__studentBlock.is-active,
.p-voice-contents__obBlock.is-active {
  display: block;
}

.p-voice-contents__studentBlock {
  border-top: 2px solid #B7002C;
}

.p-voice-contents__obBlock {
  border-top: 2px solid #1D4294;
}

.p-voice-contents__listContainer {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.p-voice-contents__listItem {
  padding: 15px 13px;
  border-radius: 10px;
  background-color: #fff;
  position: relative;
}
.p-voice-contents__listItem:first-child {
  border-radius: 0 0 10px 10px;
}

.p-voice-contents__listItemImg {
  width: 189px;
  height: 188px;
  border-radius: 50%;
  overflow: hidden;
  position: absolute;
  top: 15px;
  left: 13px;
}
.p-voice-contents__listItemImg img {
  object-fit: cover;
  height: 100%;
}

.p-voice-contents__obBlock .p-voice-contents__listItemImg {
  border-radius: 0 50% 50% 50%;
}

.p-voice-contents__listItemTxtBox {
  position: relative;
  z-index: 2;
  padding-bottom: 31px;
}

.p-voice-contents__listItemNum {
  width: fit-content;
  margin-left: auto;
  padding: 6px 18px;
  background-color: #FFEA16;
  border-radius: 100px;
  color: #00396E;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
  margin-top: 29px;
  text-transform: uppercase;
  font-family: var(--num);
  position: relative;
}
.p-voice-contents__listItemNum::before {
  content: "";
  width: 10px;
  height: 6px;
  background-color: #FFEA16;
  clip-path: polygon(10% 0, 0% 100%, 100% 0);
  display: block;
  position: absolute;
  top: 100%;
  left: 30%;
}

.p-voice-contents__listItemName {
  width: fit-content;
  margin-left: auto;
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  line-height: 1.4;
  margin-top: 29px;
  min-height: 73.4px;
}
.p-voice-contents__listItemName span {
  display: inline-block;
  padding: 5px 7px;
  background-color: #A2B61A;
  border-radius: 5px;
}
.p-voice-contents__listItemName span:not(:first-child) {
  margin-top: 3px;
}

.p-voice-contents__listItemCaption {
  display: none;
  width: fit-content;
  margin-left: auto;
  margin-top: 14px;
  font-size: 12px;
  color: #2595DA;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.4;
  min-height: 17px;
}

.p-voice-contents__listItemTxt {
  margin-top: 15px;
  padding-top: 15px;
  border-top: 1px solid #BDCCD4;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.05em;
}
.p-voice-contents__listItemTxt--ob {
  margin-top: 53px;
}

.p-voice-contents__video {
  display: none;
  background-color: #00396E;
  margin-bottom: 16px;
}

.p-sitemap-contents {
  margin-bottom: 50px;
}

.p-sitemap-contents__listContainer {
  display: grid;
  --column: 2;
  grid-template-columns: repeat(var(--column), 1fr);
  gap: 20px 24px;
  align-items: center;
}

.p-sitemap-contents__listItem a {
  display: grid;
  grid-template-columns: 12px 1fr;
  gap: 5px;
  padding-bottom: 9px;
  border-bottom: 1px solid #BDCCD4;
  align-items: center;
}
.p-sitemap-contents__listItem a span {
  font-size: 14px;
  font-weight: 400;
  width: fit-content;
}
@media (hover: hover) and (pointer: fine) {
  .p-sitemap-contents__listItem a:hover {
    border-bottom: 1px solid #2595DA;
  }
}

div.p-sitemap-contents__listItem {
  margin-top: 20px;
  width: fit-content;
}

.p-sitemap-contents__listItemIcon {
  height: 12px;
}
.p-sitemap-contents__listItemIcon img {
  vertical-align: text-top;
}

.mypage_login {
  position: relative;
  text-align: center;
  margin: 40px auto;
  max-width: 700px;
  opacity: 1 !important;
  cursor: pointer;
}

.mypage_login p {
  color: #fff;
  font-weight: bold;
  font-size: 16px;
  line-height: 1.4em;
  letter-spacing: 0.1em;
  position: absolute;
  left: 0;
  right: 0;
  top: 14px;
  margin: auto;
}

.mypage_login_btn {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 40px;
  margin: auto;
}

.mypage_login_btn span {
  display: inline-block;
  border: 4px solid #fff;
  color: #fff;
  padding: 0.5em 2.5em;
  font-weight: bold;
  font-size: 18px;
  transition: 0.3s;
}

.p-info {
  line-height: 1.4;
  margin-bottom: 16px;
}

.p-info-contents {
  background-color: #DEE284;
  padding-bottom: 40px;
}

.single-school_information .p-info-contents {
  background-color: #E5EBEE;
}

.p-info-contents__square {
  width: 124px;
  aspect-ratio: 124/13;
  margin-inline: auto;
  translate: 0 -100%;
  display: block;
  line-height: 1;
  font-size: auto;
}

.p-info-contents__listContainer {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-top: 30px;
}

.p-info-contents__list a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 10px;
  border-radius: 10px;
  background-color: #fff;
}

.p-info-contents__metaBox {
  display: flex;
  gap: 8px;
  align-items: center;
}

.p-info-contents__date {
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.1em;
}

.p-info-contents__category {
  padding: 3px 4px;
  color: #00396E;
  font-size: 12px;
  border-radius: 2px;
  color: #fff;
}

.p-info-contents__category--campaign {
  background-color: #FFEA16;
  color: #00396E;
}

.p-info-contents__category--info {
  background-color: #B7002C;
}

.p-info-contents__category--blog {
  background-color: #1D4294;
}

.p-info-contents__ttl {
  margin-top: 8px;
  font-weight: 400;
}

.p-info-contents__pager {
  margin-top: 41px;
}

.p-single-contents__ttl {
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #00396E;
}

.p-single-contents__metaBox {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 5px;
}

.p-single-contents__metaTime {
  font-size: 14px;
  font-weight: 400;
}

.p-single-contents__cat {
  font-size: 14px;
  color: #00396E;
  padding: 4px;
  border-radius: 5px;
  background-color: #fff;
}

.p-single-contents__square {
  width: 124px;
  aspect-ratio: 124/13;
  margin-inline: auto;
  display: block;
  line-height: 1;
  margin-top: 29px;
}

.p-single-contents__body {
  margin-top: 33px;
  border-radius: 10px;
  overflow: hidden;
  background-color: #fff;
  padding-bottom: 15px;
}

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

.p-single-contents__bodyInner {
  padding-inline: var(--pi);
}
.p-single-contents__bodyInner p {
  margin-top: 15px;
  font-size: 16px;
  font-weight: 400;
}
.p-single-contents__bodyInner span:has(b) {
  display: block;
  margin-top: 15px;
}
.p-single-contents__bodyInner h2 {
  font-size: 16px;
  font-weight: 700;
  padding: 10px 20px;
  color: #fff;
  letter-spacing: 0.02em;
  border-radius: 5px;
  background-color: #B79400;
  margin-top: 30px;
}
.p-single-contents__bodyInner img {
  margin-bottom: 15px;
  border-radius: 5px;
}
.p-single-contents__bodyInner h3 {
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.02em;
  padding-left: 13px;
  margin-top: 31px;
  position: relative;
}
.p-single-contents__bodyInner h3::before {
  content: "";
  width: 3px;
  background-color: #B79400;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
}
.p-single-contents__bodyInner b {
  font-size: 16px;
}
.p-single-contents__bodyInner .simple-box1,
.p-single-contents__bodyInner .simple-box2,
.p-single-contents__bodyInner .simple-box3,
.p-single-contents__bodyInner .simple-box4,
.p-single-contents__bodyInner .simple-box5,
.p-single-contents__bodyInner .simple-box6,
.p-single-contents__bodyInner .simple-box7,
.p-single-contents__bodyInner .simple-box8,
.p-single-contents__bodyInner .simple-box9,
.p-single-contents__bodyInner .concept-box1,
.p-single-contents__bodyInner .concept-box2,
.p-single-contents__bodyInner .concept-box3,
.p-single-contents__bodyInner .concept-box4,
.p-single-contents__bodyInner .concept-box5,
.p-single-contents__bodyInner .concept-box6,
.p-single-contents__bodyInner .kaisetsu-box1,
.p-single-contents__bodyInner .kaisetsu-box2,
.p-single-contents__bodyInner .kaisetsu-box3,
.p-single-contents__bodyInner .kaisetsu-box4,
.p-single-contents__bodyInner .kaisetsu-box5,
.p-single-contents__bodyInner .innerlink-box1 {
  padding: 18px;
  margin: 20px auto;
  line-height: 1.6;
}
.p-single-contents__bodyInner .simple-box1 p,
.p-single-contents__bodyInner .simple-box2 p,
.p-single-contents__bodyInner .simple-box3 p,
.p-single-contents__bodyInner .simple-box4 p,
.p-single-contents__bodyInner .simple-box5 p,
.p-single-contents__bodyInner .simple-box6 p,
.p-single-contents__bodyInner .simple-box7 p,
.p-single-contents__bodyInner .simple-box8 p,
.p-single-contents__bodyInner .simple-box9 p,
.p-single-contents__bodyInner .concept-box1 p,
.p-single-contents__bodyInner .concept-box2 p,
.p-single-contents__bodyInner .concept-box3 p,
.p-single-contents__bodyInner .concept-box4 p,
.p-single-contents__bodyInner .concept-box5 p,
.p-single-contents__bodyInner .concept-box6 p,
.p-single-contents__bodyInner .kaisetsu-box1 p,
.p-single-contents__bodyInner .kaisetsu-box2 p,
.p-single-contents__bodyInner .kaisetsu-box3 p,
.p-single-contents__bodyInner .kaisetsu-box4 p,
.p-single-contents__bodyInner .kaisetsu-box5 p,
.p-single-contents__bodyInner .innerlink-box1 p {
  margin: 0;
}
.p-single-contents__bodyInner .simple-box1 {
  border: 3px solid #ef9b9b;
  border-radius: 4px;
}
.p-single-contents__bodyInner .simple-box2 {
  border: 3px dashed #f2bf7d;
  border-radius: 4px;
}
.p-single-contents__bodyInner .simple-box3 {
  border: 3px double #b5e28a;
  border-radius: 4px;
}
.p-single-contents__bodyInner .simple-box4 {
  border: 1px solid #7badd8;
  border-radius: 4px;
  background: #f9fbfd;
}
.p-single-contents__bodyInner .simple-box5 {
  border: 1px dashed #e896c7;
  border-radius: 4px;
  background: #fefafc;
}
.p-single-contents__bodyInner .simple-box6 {
  background-color: #fffdef;
}
.p-single-contents__bodyInner .simple-box7 {
  border: 10px solid #def1f9;
  border-radius: 4px;
  background-color: #f8fcfe;
}
.p-single-contents__bodyInner .simple-box8 {
  border-left: 5px solid #96ddc1;
  background-color: #f5fcf9;
}
.p-single-contents__bodyInner .simple-box9 {
  background-color: #f9f2fa;
  position: relative;
}
.p-single-contents__bodyInner .simple-box9::before {
  position: absolute;
  content: "";
  display: block;
  right: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #e1c0e8;
  opacity: 0.2;
  z-index: -1;
}
.p-single-contents__bodyInner .simple-box9::after {
  position: absolute;
  content: "";
  display: block;
  right: 0;
  top: 0;
  border-color: #e1c0e8 #e1c0e8 #fff #fff;
  border-width: 0 30px 30px 0;
  border-style: solid;
  width: 0;
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}
.p-single-contents__bodyInner .concept-box1,
.p-single-contents__bodyInner .concept-box2,
.p-single-contents__bodyInner .concept-box3,
.p-single-contents__bodyInner .concept-box4,
.p-single-contents__bodyInner .concept-box5,
.p-single-contents__bodyInner .concept-box6 {
  border-width: 1px;
  border-style: solid;
  position: relative;
  padding-top: 40px;
}
.p-single-contents__bodyInner .concept-box1::before,
.p-single-contents__bodyInner .concept-box2::before,
.p-single-contents__bodyInner .concept-box3::before,
.p-single-contents__bodyInner .concept-box4::before,
.p-single-contents__bodyInner .concept-box5::before,
.p-single-contents__bodyInner .concept-box6::before {
  position: absolute;
  font-size: 22px;
  top: -21px;
  left: 15px;
  padding: 20px 8px 20px 69px;
  background: #fff;
  font-weight: 700;
  line-height: 0;
}
.p-single-contents__bodyInner .concept-box1::after,
.p-single-contents__bodyInner .concept-box2::after,
.p-single-contents__bodyInner .concept-box3::after,
.p-single-contents__bodyInner .concept-box4::after,
.p-single-contents__bodyInner .concept-box5::after,
.p-single-contents__bodyInner .concept-box6::after {
  font-family: "Font Awesome 5 Free";
  font-size: 26px;
  position: absolute;
  top: -30px;
  left: 20px;
  width: 55px;
  height: 55px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  border-radius: 50%;
  padding: 0 5px;
}
.p-single-contents__bodyInner .concept-box1 {
  border-color: #85db8f;
}
.p-single-contents__bodyInner .concept-box1::before {
  content: "ポイント";
  color: #85db8f;
}
.p-single-contents__bodyInner .concept-box1::after {
  content: "\f00c";
  font-weight: 700;
  background: #85db8f;
}
.p-single-contents__bodyInner .concept-box2 {
  border-color: #f7cf6a;
}
.p-single-contents__bodyInner .concept-box2::before {
  content: "注意点";
  color: #f7cf6a;
}
.p-single-contents__bodyInner .concept-box2::after {
  content: "\f071";
  font-weight: 700;
  background: #f7cf6a;
}
.p-single-contents__bodyInner .concept-box3 {
  border-color: #86cee8;
}
.p-single-contents__bodyInner .concept-box3::before {
  content: "良い例";
  color: #86cee8;
}
.p-single-contents__bodyInner .concept-box3::after {
  content: "\f111";
  background: #86cee8;
}
.p-single-contents__bodyInner .concept-box4 {
  border-color: #ed8989;
}
.p-single-contents__bodyInner .concept-box4::before {
  content: "悪い例";
  color: #ed8989;
}
.p-single-contents__bodyInner .concept-box4::after {
  content: "\f00d";
  font-weight: 700;
  background: #ed8989;
}
.p-single-contents__bodyInner .concept-box5 {
  border-color: #9e9e9e;
}
.p-single-contents__bodyInner .concept-box5::before {
  content: "参考";
  color: #9e9e9e;
}
.p-single-contents__bodyInner .concept-box5::after {
  content: "\f02d";
  font-weight: 700;
  background: #9e9e9e;
}
.p-single-contents__bodyInner .concept-box6 {
  border-color: #8eaced;
}
.p-single-contents__bodyInner .concept-box6::before {
  content: "メモ";
  color: #8eaced;
}
.p-single-contents__bodyInner .concept-box6::after {
  content: "\f304";
  font-weight: 700;
  background: #8eaced;
}

.p-single-contents__btn {
  margin-top: 40px;
  height: 60px;
  width: 333px;
  max-width: 100%;
  margin-inline: auto;
}
.p-single-contents__btn a {
  display: block;
  height: 100%;
  width: 100%;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.1em;
  align-content: center;
  padding-right: 18px;
  text-align: center;
  color: #fff;
  border-radius: 100px;
  background-color: #00396E;
  border: 2px solid #fff;
  position: relative;
}
.p-single-contents__btn a::before {
  content: "";
  width: 24px;
  aspect-ratio: 1;
  background-image: url(../img/arrow_yellow.svg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(90deg);
  right: 27px;
}

.p-column-contents__lead {
  max-width: 320px;
  margin-inline: auto;
  font-size: 16px;
  text-align: center;
}

.p-column-contents__catList {
  margin-top: 30px;
  display: flex;
  flex-direction: column;
  gap: 9px;
}

.p-column-contents__catList-item a {
  padding: 10px 15px;
  background-color: #fff;
  border-radius: 10px;
  border: 1px solid #2595da;
  display: flex;
  gap: 15px;
  justify-content: space-between;
  align-items: center;
}

.p-column-contents__catListIcon {
  width: 74px;
  height: 50px;
}

.p-column-contents__catListTxtBox {
  flex: 1;
}

.p-column-contents__catListTtl {
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  color: #B7002C;
}

.p-column-contents__catListTxt {
  font-size: 14px;
  font-weight: 700;
  margin-top: 5px;
}

.p-column-contents__square {
  width: 124px;
  aspect-ratio: 124/13;
  margin-inline: auto;
  display: block;
  line-height: 1;
  margin-top: 29px;
}

.p-column-contents__listContainer {
  margin-top: 30px;
  display: flex;
  flex-direction: column;
  gap: 30px;
}

.p-column-contents__list a {
  display: block;
  height: 100%;
  background-color: #fff;
  border-radius: 6px;
  overflow: hidden;
  border: 1px solid #808080;
}

.p-column-contents__image {
  aspect-ratio: 280/186;
  overflow: hidden;
}

.p-column-contents__txtBox {
  padding: 13px 16px;
}

.p-column-contents__cat {
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  color: #2595da;
  letter-spacing: 0.05em;
}

.p-column-contents__ttl {
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 0.01em;
  margin-top: 6px;
}

/* 吹き出し全体のコンテナ */
.custom-chat-balloon {
  display: flex;
  align-items: flex-start;
  margin: 20px 0;
  width: 100%;
}

/* 左配置・右配置の切り替え */
.custom-chat-balloon.is-left {
  flex-direction: row;
}

.custom-chat-balloon.is-right {
  flex-direction: row-reverse;
}

/* アイコンと名前のブロック */
.custom-chat-meta {
  text-align: center;
  width: 80px;
  flex-shrink: 0;
}

.custom-chat-icon img {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  object-fit: cover;
  display: inline-block;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.custom-chat-name {
  font-size: 11px;
  color: #666;
  margin-top: 4px;
  line-height: 1.2;
}

/* 吹き出しの本体 */
.custom-chat-body {
  position: relative;
  padding: 15px 20px;
  border-radius: 15px;
  max-width: 70%;
  box-sizing: border-box;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

/* 左右の余白調整 */
.custom-chat-balloon.is-left .custom-chat-body {
  margin-left: 15px;
}

.custom-chat-balloon.is-right .custom-chat-body {
  margin-right: 15px;
}

/* 吹き出し内のテキスト */
.custom-chat-text p {
  margin: 0;
  padding: 0;
  line-height: 1.6;
}

.p-school-detail {
  background-color: #fff;
}

.p-school-detail-fv__ttl {
  text-align: center;
}
.p-school-detail-fv__line {
  display: block;
  line-height: 1.3;
  padding: 0 16px;
}

.p-school-detail-contents {
  padding-bottom: 0;
  background: #E6F6FC;
}

.p-school-detail-card {
  padding: 0 14px 40px;
  position: relative;
  z-index: 2;
}
.p-school-detail-card__inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 13px;
  padding: 20px 10px 20px 15px;
  border-radius: 8.5px;
  background-color: #fff;
  overflow: hidden;
}
.p-school-detail-card__ttl {
  padding-bottom: 3px;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1.4;
  color: #00396e;
}
.p-school-detail-card__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 21px;
}
.p-school-detail-card__metaItem {
  display: inline-flex;
  align-items: center;
  gap: 0;
  font-size: 14px;
  line-height: 1.4;
  letter-spacing: 0.05em;
  color: #000;
}
.p-school-detail-card__metaItem:has(.p-school-detail-card__metaIcon--people) {
  gap: 4px;
}
.p-school-detail-card__metaIcon {
  display: inline-flex;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
}
.p-school-detail-card__metaIcon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.p-school-detail-card__metaIcon--people {
  width: 16px;
  height: 16px;
}
.p-school-detail-card__metaTxt {
  letter-spacing: 0.05em;
}
.p-school-detail-card__scheduleBlock {
  display: flex;
  flex-direction: column;
  gap: 13px;
  width: 100%;
}
.p-school-detail-card__scheduleHead {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.05em;
  color: #000;
}
.p-school-detail-card__schedule {
  display: grid;
  gap: 8px;
}
.p-school-detail-card__scheduleItem {
  display: flex;
  align-items: center;
  gap: 5px;
}
.p-school-detail-card__day {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 5px;
  background-color: #1d4294;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.02em;
  flex-shrink: 0;
}
.p-school-detail-card__time {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  width: fit-content;
  max-width: calc(100% - 37px);
  min-height: 32px;
  padding: 6px 10px;
  border: 0.85px solid #bdccd4;
  border-radius: 5px;
  background-color: #fff;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.4;
  color: #000;
}
.p-school-detail-card__timeLine {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  column-gap: 0;
  row-gap: 0;
}
.p-school-detail-card__timeMain {
  font-family: "Lexend Zetta", "Zen Maru Gothic", sans-serif;
  font-weight: 400;
}
.p-school-detail-card__age {
  color: #00396e;
  font-weight: 500;
  font-family: "Zen Maru Gothic", sans-serif;
}
.p-school-detail-card__note {
  padding-top: 10px;
  font-size: 14px;
  line-height: 1.45;
  letter-spacing: 0.1em;
  color: #000;
}
.p-school-detail-card__cta {
  padding-top: 14px;
  padding-bottom: 17px;
  width: 100%;
}
.p-school-detail-card__ctaBtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  width: 100%;
  max-width: 324px;
  padding: 10px 20px;
  border: 2px solid #000;
  border-radius: 30px;
  background-color: #ffea16;
  text-decoration: none;
  color: #000;
}
.p-school-detail-card__ctaBtn:hover {
  opacity: 0.85;
}
.p-school-detail-card__ctaTxt {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1.4;
  white-space: nowrap;
}
.p-school-detail-card__ctaIcon {
  display: inline-block;
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}
.p-school-detail-card__ctaIcon img {
  display: block;
  width: 100%;
  height: 100%;
}

.p-school-detail-access {
  width: 100%;
  max-width: 317px;
}
.p-school-detail-access__ttl {
  display: flex;
  align-items: center;
  gap: 3px;
  margin-top: 5px;
  font-size: 14px;
  font-weight: 500;
  color: #00396e;
}
.p-school-detail-access__ttl::before {
  content: "";
  display: block;
  width: 3px;
  height: 17px;
  background-color: #1d4294;
}
.p-school-detail-access__address {
  margin-top: 12px;
  padding-left: 8px;
  font-size: 13px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #000;
}
.p-school-detail-access__map {
  margin-top: 16px;
  border-radius: 10px;
  overflow: hidden;
  background-color: #e9f1f7;
}
.p-school-detail-access__map iframe {
  display: block;
  width: 100%;
  height: 150px;
  border: 0;
}
.p-school-detail-access__accordion {
  margin: 0 auto;
  margin-top: 16px;
  width: 100%;
}
.p-school-detail-access__accordionPanel {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
  padding: 12px 13px;
  border: 1px solid #bdccd4;
  border-radius: 10px;
  background-color: #fff;
}
.p-school-detail-access__accordionBtn {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  font-size: 10px;
  line-height: normal;
  letter-spacing: 0.05em;
  color: #00396e;
  cursor: pointer;
  text-align: left;
}
.p-school-detail-access__accordionLabel {
  flex: 1;
  min-width: 0;
  word-break: break-word;
}
.p-school-detail-access__accordionIcon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
}
.p-school-detail-access__accordionIcon img {
  display: block;
  width: 16px;
  height: 16px;
  transform: scaleY(-1);
  transition: transform 0.2s ease;
}
.p-school-detail-access__accordionBtn[aria-expanded=true] .p-school-detail-access__accordionIcon img {
  transform: scaleY(1);
}
.p-school-detail-access__accordionBody {
  width: 100%;
}
.p-school-detail-access__schools {
  margin: 0;
  font-size: 10px;
  line-height: normal;
  letter-spacing: 0.05em;
  color: #000;
  word-break: break-word;
}
.p-school-detail-access__area {
  margin: 0;
  font-size: 10px;
  line-height: normal;
  letter-spacing: 0.05em;
  color: #000;
  word-break: break-word;
  margin-top: 10px;
}
.p-school-detail-access__area span {
  color: #00396e;
}

.p-school-detail-coach {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  width: 100%;
  max-width: 317px;
  padding: 15px 10px;
  border: 1px solid #bdccd4;
  border-radius: 10px;
}
.p-school-detail-coach__name {
  font-size: 14px;
  font-weight: 500;
  color: #00396e;
  letter-spacing: 0.05em;
}
.p-school-detail-coach__photo {
  width: 78px;
  height: 75px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
}
.p-school-detail-coach__photo.is-dummy {
  border-radius: 0;
}
.p-school-detail-coach__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-school-detail-form {
  margin-top: 0;
  padding: 40px 14px 48px;
  background-color: #e7e9a1;
}
.p-school-detail-form__heading {
  text-align: center;
}
.p-school-detail-form__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 135px;
  height: 26px;
  padding: 0 12px;
  border: 1px solid #bdccd4;
  border-radius: 13px;
  background-color: #fff;
}
.p-school-detail-form__badgeIcon {
  display: inline-flex;
  width: 16px;
  height: 20px;
}
.p-school-detail-form__badgeIcon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.p-school-detail-form__badgeTxt {
  font-family: "Lexend Zetta", sans-serif;
  font-size: 14px;
  color: #00396e;
}
.p-school-detail-form__ttl {
  margin-top: 12px;
  font-size: 26px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: -0.02em;
  color: #000;
}
.p-school-detail-form__ttl span {
  display: block;
}
.p-school-detail-form__square {
  margin: 14px auto 0;
  width: 123.5px;
}
.p-school-detail-form__square img {
  width: 100%;
  height: auto;
}
.p-school-detail-form__panel {
  margin-top: 24px;
  padding: 20px;
  border-radius: 10px;
  background-color: #fff;
  display: flex;
  flex-direction: column;
  gap: 22px;
  padding-bottom: 50.37px;
}
.p-school-detail-form__lead {
  margin: 0;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.05em;
  color: #000;
  text-align: justify;
}
.p-school-detail-form__leadReq {
  color: red;
}
.p-school-detail-form__body {
  margin-top: 0;
}
.p-school-detail-form__empty {
  margin: 0;
  font-size: 14px;
  text-align: center;
  color: #666;
}

.p-school-detail-form__body .wpcf7,
form.p-school-detail-cf7 .wpcf7 {
  margin: 0;
}
.p-school-detail-form__body .wpcf7-form,
form.p-school-detail-cf7 .wpcf7-form {
  display: flex;
  flex-direction: column;
  gap: 22px;
  margin: 0;
  width: 100%;
}
.p-school-detail-form__body .wpcf7-form > p,
form.p-school-detail-cf7 .wpcf7-form > p {
  margin: 0;
  display: contents;
}
.p-school-detail-form__body .wpcf7-form > p:empty,
form.p-school-detail-cf7 .wpcf7-form > p:empty {
  display: none;
}

form.p-school-detail-cf7 {
  display: flex;
  flex-direction: column;
  gap: 22px;
  margin: 0;
  width: 100%;
}
form.p-school-detail-cf7 > p {
  margin: 0;
  display: contents;
}
form.p-school-detail-cf7 > p:empty {
  display: none;
}

.p-school-detail-cf7 .screen-reader-response {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}
.p-school-detail-cf7__field {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}
.p-school-detail-cf7__field--address {
  gap: 8px;
}
.p-school-detail-cf7__label {
  display: flex;
  align-items: center;
  gap: 8px;
}
.p-school-detail-cf7__label--top {
  align-items: flex-start;
}
.p-school-detail-cf7__label--top .p-school-detail-cf7__labelTxt {
  line-height: 1.4;
  white-space: normal;
}
.p-school-detail-cf7__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  min-width: 42px;
  padding: 1.5px 10px;
  border-radius: 3px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.7px;
  line-height: 1.4;
  white-space: nowrap;
  height: 23px;
}
.p-school-detail-cf7__badge--required {
  background-color: #1d4294;
  color: #fff;
}
.p-school-detail-cf7__badge--optional {
  background-color: #fff;
  border: 1px solid #00396e;
  color: #1d4294;
}
.p-school-detail-cf7__labelTxt {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4;
  color: #333;
}
.p-school-detail-cf7__req {
  color: red;
}
.p-school-detail-cf7__subLabel {
  display: inline-block;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4;
  color: #333;
  white-space: nowrap;
}
.p-school-detail-cf7__subField {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}
.p-school-detail-cf7__subField--zip, .p-school-detail-cf7__subField--pref {
  width: 113px;
  max-width: 100%;
}
.p-school-detail-cf7__zipBlock {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: flex-start;
}
.p-school-detail-cf7__hint {
  margin: 0;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.4;
  color: #333;
}
.p-school-detail-cf7__nameRow {
  display: flex;
  gap: 15px 25px;
  align-items: center;
}
.p-school-detail-cf7__nameRow--kana {
  gap: 8px 9px;
}
.p-school-detail-cf7__nameItem {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
}
.p-school-detail-cf7__nameRow:not(.p-school-detail-cf7__nameRow--kana) .p-school-detail-cf7__nameItem {
  gap: 15px;
}
.p-school-detail-cf7 .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}
.p-school-detail-cf7__nameItem .wpcf7-form-control-wrap {
  width: auto;
}
.p-school-detail-cf7 input[type=text],
.p-school-detail-cf7 input[type=email],
.p-school-detail-cf7 input[type=tel],
.p-school-detail-cf7 input[type=date],
.p-school-detail-cf7 input[type=url],
.p-school-detail-cf7 input[type=number],
.p-school-detail-cf7 textarea,
.p-school-detail-cf7 select,
.p-school-detail-cf7 .p-school-detail-cf7__input,
.p-school-detail-cf7 .p-school-detail-cf7__select,
.p-school-detail-cf7 .p-school-detail-cf7__textarea {
  width: 100%;
  min-height: 42px;
  padding: 9px 12px;
  border: 1px solid #c3c3c3;
  border-radius: 5px;
  background-color: #fff;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.4;
  color: #333;
  box-sizing: border-box;
  appearance: none;
}
.p-school-detail-cf7 input::placeholder,
.p-school-detail-cf7 textarea::placeholder {
  color: #c3c3c3;
}
.p-school-detail-cf7 .p-school-detail-cf7__input--name {
  width: 112px;
  max-width: 100%;
}
.p-school-detail-cf7 .p-school-detail-cf7__input--readonly,
.p-school-detail-cf7 .p-school-detail-cf7__input[readonly] {
  background-color: #f3f3f3;
  color: #555;
  pointer-events: none;
  caret-color: transparent;
}
.p-school-detail-cf7 .p-school-detail-cf7__input--zip,
.p-school-detail-cf7 .p-school-detail-cf7__input--pref {
  width: 100%;
}
.p-school-detail-cf7 select,
.p-school-detail-cf7 .p-school-detail-cf7__select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23c3c3c3' d='M6 8L0 0h12z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 12px 8px;
  padding-right: 36px;
  color: #333;
}
.p-school-detail-cf7 select:invalid,
.p-school-detail-cf7 .p-school-detail-cf7__select:invalid {
  color: #c3c3c3;
}
.p-school-detail-cf7 textarea,
.p-school-detail-cf7 .p-school-detail-cf7__textarea {
  min-height: 64.75px;
  resize: vertical;
}
.p-school-detail-cf7 .p-school-detail-cf7__textarea--single {
  min-height: 64.75px;
  resize: none;
  overflow: hidden;
}
.p-school-detail-cf7 input[type=date],
.p-school-detail-cf7 .p-school-detail-cf7__input--date {
  color: #333;
}
.p-school-detail-cf7 input[type=date]::-webkit-datetime-edit-fields-wrapper,
.p-school-detail-cf7 .p-school-detail-cf7__input--date::-webkit-datetime-edit-fields-wrapper {
  color: inherit;
}
.p-school-detail-cf7 input[type=date]:invalid,
.p-school-detail-cf7 .p-school-detail-cf7__input--date:invalid {
  color: #c3c3c3;
}
.p-school-detail-cf7 .p-school-detail-cf7__datePicker {
  position: relative;
  width: 100%;
}
.p-school-detail-cf7 .p-school-detail-cf7__dateBtn {
  display: block;
  text-align: left;
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%23c3c3c3' d='M4 0h2v2h4V0h2v2h3v14H1V2h3zM3 6v8h10V6z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 16px 16px;
  padding-right: 40px;
}
.p-school-detail-cf7 .p-school-detail-cf7__dateBtn.is-empty {
  color: #c3c3c3;
}
.p-school-detail-cf7 .p-school-detail-cf7__calendar {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  z-index: 20;
  width: 100%;
  max-width: 320px;
  padding: 12px;
  border: 1px solid #c3c3c3;
  border-radius: 8px;
  background-color: #fff;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
  box-sizing: border-box;
}
.p-school-detail-cf7 .p-school-detail-cf7__calendar[hidden] {
  display: none;
}
.p-school-detail-cf7 .p-school-detail-cf7__calendarHead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}
.p-school-detail-cf7 .p-school-detail-cf7__calendarTitle {
  font-size: 16px;
  font-weight: 700;
  color: #333;
}
.p-school-detail-cf7 .p-school-detail-cf7__calendarNav {
  width: 32px;
  height: 32px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background-color: #e9f1f7;
  color: #1d4294;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}
.p-school-detail-cf7 .p-school-detail-cf7__calendarNav:disabled {
  opacity: 0.3;
  cursor: default;
}
.p-school-detail-cf7 .p-school-detail-cf7__calendarGrid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 4px;
  text-align: center;
}
.p-school-detail-cf7 .p-school-detail-cf7__calendarWeek {
  padding: 4px 0;
  font-size: 12px;
  color: #999;
}
.p-school-detail-cf7 .p-school-detail-cf7__calendarWeek.is-open {
  font-weight: 700;
  color: #1d4294;
}
.p-school-detail-cf7 .p-school-detail-cf7__calendarDay {
  aspect-ratio: 1;
  width: 100%;
  min-height: 0;
  padding: 0;
  border: 1px solid #1d4294;
  border-radius: 50%;
  background-color: #fff;
  color: #1d4294;
  font-family: inherit;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
}
.p-school-detail-cf7 .p-school-detail-cf7__calendarDay:hover:not(:disabled) {
  background-color: #e9f1f7;
}
.p-school-detail-cf7 .p-school-detail-cf7__calendarDay.is-selected {
  background-color: #1d4294;
  color: #fff;
}
.p-school-detail-cf7 .p-school-detail-cf7__calendarDay:disabled {
  border-color: transparent;
  background-color: transparent;
  color: #ccc;
  font-weight: 400;
  cursor: default;
}
.p-school-detail-cf7 .p-school-detail-cf7__calendarFoot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: 10px;
}
.p-school-detail-cf7 .p-school-detail-cf7__calendarNote {
  margin: 0;
  font-size: 12px;
  line-height: 1.4;
  color: #555;
}
.p-school-detail-cf7 .p-school-detail-cf7__calendarClear {
  flex-shrink: 0;
  padding: 4px 8px;
  border: 0;
  background: none;
  color: #1d4294;
  font-family: inherit;
  font-size: 12px;
  text-decoration: underline;
  cursor: pointer;
}
.p-school-detail-cf7 .wpcf7-radio {
  display: flex;
  flex-wrap: wrap;
  gap: 0 16px;
  margin: 0;
  width: 100%;
}
.p-school-detail-cf7__field--radioInline .wpcf7-radio {
  flex-wrap: nowrap;
  gap: 0;
}
.p-school-detail-cf7__field--radioInline .wpcf7-list-item + .wpcf7-list-item {
  margin-left: 16px;
}
.p-school-detail-cf7__field--radioInline .wpcf7-list-item label {
  font-weight: 500;
}
.p-school-detail-cf7__radioStack .wpcf7-radio {
  flex-direction: column;
  gap: 0;
}
.p-school-detail-cf7 .wpcf7-list-item {
  margin: 0;
}
.p-school-detail-cf7 .wpcf7-list-item label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.05em;
  color: #000;
  cursor: pointer;
}
.p-school-detail-cf7__radioStack .wpcf7-list-item label {
  font-weight: 700;
}
.p-school-detail-cf7 .wpcf7-list-item input[type=radio] {
  width: 16px;
  height: 16px;
  margin: 0;
  accent-color: #1d4294;
}
.p-school-detail-cf7__field--relationship {
  gap: 8px;
}
.p-school-detail-cf7__addPanel {
  display: flex;
  flex-direction: column;
  gap: 22px;
  width: 100%;
  padding: 20px;
  border-radius: 10px;
  background-color: #fff;
  border: 1px solid #e3e3e3;
  box-sizing: border-box;
}
.p-school-detail-cf7__consent {
  width: 100%;
}
.p-school-detail-cf7__consent .wpcf7-checkbox {
  margin: 0;
}
.p-school-detail-cf7__consent .wpcf7-list-item {
  margin: 0;
}
.p-school-detail-cf7__consent .wpcf7-list-item label {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4;
  color: #333;
  cursor: pointer;
}
.p-school-detail-cf7__consent input[type=checkbox] {
  width: 16px;
  height: 16px;
  margin: 0;
  border: 1px solid #c3c3c3;
  border-radius: 3px;
  accent-color: #1d4294;
}
.p-school-detail-cf7 .cf7-repeater-container {
  display: flex;
  flex-direction: column;
  gap: 22px;
  width: 100%;
  align-self: stretch;
  order: 0;
}
.p-school-detail-cf7 .cf7-repeater {
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
  padding: 0;
  margin: 0;
}
.p-school-detail-cf7 .cf7-field-repeater-reponese,
.p-school-detail-cf7 .cf7-field-repeater-data-html:not(.hidden) {
  display: flex;
  flex-direction: column;
  gap: 22px;
  width: 100%;
}
.p-school-detail-cf7 .repeater-field-header,
.p-school-detail-cf7 .repeater-field-header-data,
.p-school-detail-cf7 .cf7-field-repeater-data-html.hidden {
  display: none !important;
}
.p-school-detail-cf7 .repeater-field-item {
  display: flex;
  flex-direction: column;
  gap: 22px;
  width: 100%;
}
.p-school-detail-cf7 .cf7-field-repeater-reponese:not(:empty) {
  display: flex;
  flex-direction: column;
  gap: 22px;
  width: 100%;
}
.p-school-detail-cf7 .repeater-field-content {
  display: flex;
  flex-direction: column;
  gap: 22px;
  width: 100%;
}
.p-school-detail-cf7 .repeater-field-footer {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  padding-top: 18px;
  width: 100%;
  margin: 0;
}
.p-school-detail-cf7 .repeater-field-footer .wpcf7-form-control-wrap,
.p-school-detail-cf7 .repeater-field-footer input[name=repeater_check_end],
.p-school-detail-cf7 .repeater-field-footer input[name^=repeater_check_end] {
  display: none !important;
}
.p-school-detail-cf7 .repeater-field-button-add,
.p-school-detail-cf7 .p-school-detail-cf7__repeaterAddBtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  gap: 2px;
  width: 100%;
  min-height: 46px;
  padding: 10px 12px;
  border: 2px solid #00396e;
  border-radius: 30px;
  background-color: #00396e;
  color: #fff !important;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 17px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.01em;
  text-align: center;
  text-decoration: none !important;
  white-space: nowrap;
  box-sizing: border-box;
  cursor: pointer;
}
.p-school-detail-cf7 .repeater-field-button-add::after,
.p-school-detail-cf7 .p-school-detail-cf7__repeaterAddBtn::after {
  content: "";
  flex-shrink: 0;
  display: block;
  width: 23px;
  height: 23px;
  background-image: url("../img/top-banner-arrow1.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 23px 23px;
  transform: rotate(90deg);
}
.p-school-detail-cf7 .p-school-detail-cf7__repeaterAddTxt {
  flex: 0 1 auto;
  white-space: nowrap;
}
.p-school-detail-cf7 .p-school-detail-cf7__repeaterAddIcon {
  display: none;
}
.p-school-detail-cf7 .repeater-field-button-add:hover,
.p-school-detail-cf7 .p-school-detail-cf7__repeaterAddBtn:hover {
  opacity: 0.85;
  color: #fff !important;
}
.p-school-detail-cf7__privacy {
  display: flex;
  justify-content: center;
  padding-top: 8px;
  width: 100%;
}
.p-school-detail-cf7__privacy .wpcf7-acceptance {
  margin: 0;
}
.p-school-detail-cf7__privacy .wpcf7-list-item {
  margin: 0;
}
.p-school-detail-cf7__privacy .wpcf7-list-item label {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.05em;
  color: #333;
}
.p-school-detail-cf7__privacy input[type=checkbox] {
  width: 16px;
  height: 16px;
  margin: 0;
  border: 1px solid #c3c3c3;
  border-radius: 3px;
  accent-color: #1d4294;
}
.p-school-detail-cf7__privacy a {
  color: #333;
  text-decoration: underline;
  text-underline-offset: 2px;
  cursor: pointer;
}
.p-school-detail-cf7__submit {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  padding-top: 2px;
  width: fit-content;
  margin: 0 auto;
}
.p-school-detail-cf7__submit > p {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  position: relative;
  margin: 0;
}
.p-school-detail-cf7 .wpcf7-submit, .p-school-detail-cf7__submitBtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-width: 166px;
  min-height: 46px;
  margin: 0;
  padding: 10px 29.5px 10px;
  border: 2px solid #1d4294;
  border-radius: 30px;
  background-color: #ffea16;
  background-image: url("../img/submit-btn-arrow.svg");
  background-repeat: no-repeat;
  background-position: right 26.5px center;
  background-size: 24px 24px;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1.3;
  color: #000;
  cursor: pointer;
  box-sizing: border-box;
}
.p-school-detail-cf7 .wpcf7-spinner,
.p-school-detail-cf7 .ajax-loader {
  position: absolute;
  top: 50%;
  left: 100%;
  margin: 0 0 0 8px;
  transform: translateY(-50%);
  pointer-events: none;
}
.p-school-detail-cf7 .wpcf7-not-valid-tip {
  margin-top: 4px;
  font-size: 12px;
  color: #dc3232;
}
.p-school-detail-cf7 .wpcf7-response-output {
  margin: 0;
  padding: 10px 12px;
  border-radius: 5px;
  font-size: 13px;
}

.p-school-detail .p-school-taxonomy-cityNav {
  background-color: #e6f6fc;
  padding: 40px 14px 48px;
  margin: 0;
}

.p-school-detail-faq {
  margin-top: 0;
  padding: 40px 14px 56px;
  background-color: #ffea16;
}
.p-school-detail-faq__heading {
  text-align: center;
}
.p-school-detail-faq__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 80px;
  height: 26px;
  padding: 0 12px;
  border-radius: 13px;
  background-color: #fff;
  border: 1px solid #bdccd4;
}
.p-school-detail-faq__badgeTxt {
  font-family: "Lexend Zetta", sans-serif;
  font-size: 14px;
  color: #00396e;
}
.p-school-detail-faq__ttl {
  margin-top: 12px;
  font-size: 26px;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #00396e;
  text-align: center;
}
.p-school-detail-faq__list {
  margin-top: 28px;
}
.p-school-detail-faq__more {
  margin-top: 28px;
  text-align: center;
}
.p-school-detail-faq__more a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-width: 260px;
  min-height: 50px;
  padding: 10px 20px;
  border-radius: 30px;
  background-color: #B7002C;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
}
.p-school-detail-faq__moreIcon {
  display: inline-flex;
  width: 24px;
  height: 24px;
}
.p-school-detail-faq__moreIcon img {
  width: 100%;
  height: 100%;
}
.p-school-detail-faq .p_top-faqItem__question-text {
  flex: 1;
  padding-right: 40px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  color: #00396e;
}
.p-school-detail-faq .p_top-faqItem.is-open .p_top-faqItem__question-text {
  color: #fff;
}

.p-school-detail-nearby {
  margin-top: 32px;
}
.p-school-detail-nearby__head {
  text-align: center;
}
.p-school-detail-nearby__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 135px;
  height: 26px;
  padding-inline: 12px;
  border: 1px solid #bdccd4;
  border-radius: 13px;
  background-color: #fff;
}
.p-school-detail-nearby__badgeIcon {
  display: flex;
  width: 16px;
  height: 16px;
}
.p-school-detail-nearby__badgeIcon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.p-school-detail-nearby__badgeTxt {
  font-family: "Lexend Zetta", sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: #00396e;
}
.p-school-detail-nearby__ttl {
  margin-top: 8px;
  font-size: 26px;
  font-weight: 700;
  letter-spacing: 2.6px;
  color: #00396e;
}
.p-school-detail-nearby__lead {
  margin-top: 8px;
  font-size: 14px;
  line-height: 1.7;
  letter-spacing: 0.28px;
  color: #00396e;
}
.p-school-detail-nearby__square {
  display: flex;
  width: 123.5px;
  height: 13px;
  margin: 12px auto 0;
}
.p-school-detail-nearby__cards {
  display: grid;
  gap: 16px;
  margin-top: 16px;
}
.p-school-detail-nearby__note {
  margin: 0;
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: 0.24px;
  color: #00396e;
}
.p-school-detail-nearby__item {
  display: grid;
  gap: 8px;
}
.p-school-detail-nearby__distance {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.28px;
  color: #00396e;
}

.p-school-detail-cf7__privacy .wpcf7-list-item-label {
  border-bottom: 1px solid #c3c3c3;
}
.p-school-detail-cf7__privacy .wpcf7-form-control-wrap {
  display: flex;
}
.p-school-detail-cf7__privacy .wpcf7-form-control {
  margin: 0 auto;
}

/*# sourceMappingURL=style.css.map */
