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

*:where(:not(fieldset, progress, meter)) {
  border-width: 0;
  border-style: solid;
  background-origin: border-box;
  background-repeat: no-repeat;
}

html {
  block-size: 100%;
  -webkit-text-size-adjust: 100%;
  font-size: 62.5%;
  scroll-padding-top: 2rem;
  scrollbar-gutter: stable;
}
@media screen and (max-width: 768px) {
  html {
    scroll-padding-top: 8rem;
  }
}

@media (prefers-reduced-motion: no-preference) {
  html {
    scroll-behavior: smooth;
  }
}
body {
  min-height: 100vh;
  min-height: 100dvh;
  min-block-size: 100%;
  color: #2d2d2d;
  font-family: "Noto sans JP", sans-serif;
  font-size: 1.6rem;
  line-height: 1.7;
  overflow-wrap: anywhere;
  -webkit-font-smoothing: antialiased;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
  font: inherit;
}

img,
picture,
svg,
video {
  display: block;
  max-width: 100%;
  height: auto;
}

canvas,
audio,
iframe,
embed,
object {
  display: block;
}

ul,
ol {
  list-style: none;
}

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

a,
button {
  transition: opacity 0.3s ease;
}

@media (any-hover: hover) {
  a:hover,
  button:not(:disabled):hover {
    opacity: 0.75;
  }
}
a:active,
button:not(:disabled):active {
  opacity: 0.75;
}

button,
input,
select,
textarea {
  color: inherit;
  font: inherit;
  font-size: inherit;
  letter-spacing: inherit;
}

button {
  appearance: none;
  background-color: transparent;
}

:where(input[type=file])::-webkit-file-upload-button {
  color: inherit;
  font: inherit;
  font-size: inherit;
  letter-spacing: inherit;
}

textarea {
  resize: vertical;
}

@supports (resize: block) {
  textarea {
    resize: block;
  }
}
p,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word;
}

:where(a[href],
area,
button,
input,
label[for],
select,
summary,
textarea) {
  cursor: pointer;
  touch-action: manipulation;
}

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

summary {
  display: block;
  list-style: none;
}

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

@media (prefers-reduced-motion: no-preference) {
  .faq-group details {
    interpolate-size: allow-keywords;
  }
  .faq-group details::details-content {
    overflow: hidden;
    transition: block-size 0.3s ease, content-visibility 0.3s allow-discrete;
    block-size: 0;
  }
  .faq-group details[open]::details-content {
    block-size: auto;
  }
  .faq-group details summary::after {
    transition: background-size 0.3s ease;
  }
}
:where(input[type=file])::-webkit-file-upload-button,
:where(input[type=file])::file-selector-button {
  cursor: pointer;
}

:focus-visible {
  outline: 3px solid #005fcc;
  outline-offset: 5px;
}

:where([role=tabpanel],
[data-subpage-panel],
section,
article,
main,
header):focus {
  outline: none;
}

@media (prefers-reduced-motion: no-preference) {
  :focus-visible {
    transition: outline-offset 145ms cubic-bezier(0.25, 0, 0.4, 1);
  }
  :where(:not(:active)):focus-visible {
    transition-duration: 0.25s;
  }
}
:where(button,
button[type],
input[type=button],
input[type=submit],
input[type=reset]),
:where(input[type=file])::-webkit-file-upload-button,
:where(input[type=file])::file-selector-button {
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
  user-select: none;
  text-align: center;
}

:where(button,
button[type],
input[type=button],
input[type=submit],
input[type=reset])[disabled] {
  cursor: not-allowed;
}

.skip-link {
  position: fixed;
  top: 8px;
  left: 8px;
  z-index: 10000;
  padding: 12px 16px;
  color: #ffffff;
  background: #000000;
  font-weight: 700;
  transform: translateY(calc(-100% - 16px));
}
.skip-link:focus-visible {
  transform: translateY(0);
}

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

.tap-target {
  display: inline-flex;
  min-width: 44px;
  min-height: 44px;
  align-items: center;
  justify-content: center;
}

.sp {
  display: none;
}

.under-1100 {
  display: none;
}

@media screen and (max-width: 1100px) {
  .under-1100 {
    display: revert;
  }
}
@media screen and (max-width: 768px) {
  .sp {
    display: revert;
  }
  .pc {
    display: none;
  }
}
@media (forced-colors: active) {
  :focus-visible {
    outline-color: Highlight;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
  .skip-link {
    transition: none;
  }
}
.footer {
  width: 100%;
  font-size: 1.4rem;
}
@media screen and (min-width: 1441px) {
  .footer {
    position: relative;
    left: calc(var(--wide-screen-gutter) * -1);
    width: 100vw;
  }
}
@media screen and (max-width: 768px) {
  .footer {
    left: auto;
  }
}
.footer__cta {
  display: flex;
  min-height: calc(96 / 1440 * 100cqw);
  align-items: center;
  justify-content: center;
  gap: calc(24 / 1440 * 100cqw);
  padding: calc(24 / 1440 * 100cqw) calc(10 / 1440 * 100cqw);
  background: #21205a;
}
.footer__cta a {
  position: relative;
  display: flex;
  width: 30rem;
  align-items: center;
  justify-content: center;
  padding: 0.9rem 4rem;
  border: 3px solid #ffffff;
  border-radius: 999px;
  color: #ffffff;
  background: #c6a86b;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
  letter-spacing: -0.02em;
  transition: all 0.3s ease;
}
.footer__cta a:nth-child(2) {
  border-color: #ffffff;
  background: #73c94a;
}
.footer__cta a:nth-child(3) {
  border-color: #ffffff;
  background: #c23642;
}
.footer__cta a:hover, .footer__cta a:active {
  opacity: 1;
}
.footer__cta a:hover span, .footer__cta a:active span {
  translate: 0.3rem 0;
}
.footer__cta a:hover:first-child, .footer__cta a:active:first-child {
  border-color: #c23642;
  background: #b3872c;
}
.footer__cta a:hover:nth-child(2), .footer__cta a:active:nth-child(2) {
  border-color: #c23642;
  background: #509b1f;
}
.footer__cta a:hover:nth-child(3), .footer__cta a:active:nth-child(3) {
  border-color: #c23642;
}
.footer__cta a span {
  position: absolute;
  top: 50%;
  right: calc(20 / 1440 * 100cqw);
  width: 1.8rem;
  height: 2px;
  margin: 0;
  border-radius: 999px;
  background: currentColor;
  transform: translateY(-50%);
  translate: 0 0;
  transition: translate 0.3s ease;
}
.footer__cta a span::before, .footer__cta a span::after {
  position: absolute;
  top: 50%;
  right: 0;
  width: 1rem;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  content: "";
  transform-origin: calc(100% - 1px) center;
}
.footer__cta a span::before {
  transform: translateY(-50%) rotate(45deg);
}
.footer__cta a span::after {
  transform: translateY(-50%) rotate(-45deg);
}
@media screen and (min-width: 769px) and (max-width: 1100px) {
  .footer__cta {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
  .footer__cta a {
    justify-self: center;
  }
  .footer__cta a:first-child {
    grid-column: 1/-1;
  }
}
@media screen and (max-width: 768px) {
  .footer__cta {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem calc(16 / 390 * 100cqw);
    padding: 1.6rem calc(10 / 390 * 100cqw);
  }
  .footer__cta a {
    width: 100%;
    height: 5.2rem;
    padding: 0.35rem 1.5rem;
    font-size: 1.5rem;
    text-align: center;
  }
  .footer__cta a:first-child {
    grid-column: 1/-1;
    width: calc(220 / 390 * 100cqw);
    height: 4rem;
    padding-block: 0.5rem;
    justify-self: center;
    margin-bottom: 0;
    font-size: 1.8rem;
  }
  .footer__cta a:first-child span {
    right: calc(19 / 390 * 100cqw);
  }
  .footer__cta a:not(:first-child) {
    line-height: 1.3;
  }
  .footer__cta a span {
    right: calc(13 / 390 * 100cqw);
    width: 1.2rem;
    height: 1px;
    background: currentColor;
  }
  .footer__cta a span::before, .footer__cta a span::after {
    right: -1px;
    width: 0.7rem;
    height: 1px;
    border-radius: 0;
    transform-origin: right center;
  }
}
.footer__line {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  background: #07b53b;
}
.footer__line:not(.global-menu__line) {
  grid-template-columns: repeat(2, 25%);
  justify-content: center;
}
.footer__line:not(.global-menu__line) a:first-child {
  border-left: 1px solid #fff;
}
.footer__line:not(.global-menu__line) a:last-child {
  border-right: 1px solid #fff;
}
@media screen and (max-width: 768px) {
  .footer__line:not(.global-menu__line) {
    grid-template-columns: repeat(2, 1fr);
  }
  .footer__line:not(.global-menu__line) a:first-child {
    border-left: 0;
  }
  .footer__line:not(.global-menu__line) a:last-child {
    border-right: 0;
  }
}
.footer__line a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: calc(13 / 1440 * 100cqw);
  padding: calc(12 / 1440 * 100cqw) calc(10 / 1440 * 100cqw) calc(13 / 1440 * 100cqw);
  border-right: 1px solid #fff;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
  letter-spacing: -0.02em;
  transition: background-color 0.3s ease;
}
.footer__line a:last-child {
  border-right: 0;
}
.footer__line a:hover, .footer__line a:active {
  opacity: 1;
  background-color: #05842B;
}
.footer__line a:hover .footer__line-arrow, .footer__line a:active .footer__line-arrow {
  translate: 0.3rem 0;
}
@media screen and (max-width: 768px) {
  .footer__line a {
    min-height: 7.8rem;
    gap: 0.9rem;
    padding: 1.6rem calc(4 / 390 * 100cqw) 1.5rem;
    font-size: 1.4rem;
  }
}
.footer__line-suffix {
  display: inline;
}
@media screen and (max-width: 768px) {
  .footer__line-suffix {
    display: block;
  }
}
.footer__line-arrow {
  position: relative;
  display: block;
  width: calc(17.3 / 1440 * 100cqw);
  height: 2px;
  flex-shrink: 0;
  border-radius: 999px;
  background: currentColor;
  translate: 0 0;
  transition: translate 0.3s ease;
}
.footer__line-arrow::before, .footer__line-arrow::after {
  position: absolute;
  top: 50%;
  right: 0;
  width: 0.7rem;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  content: "";
  transform-origin: calc(100% - 1px) center;
}
.footer__line-arrow::before {
  transform: translateY(-50%) rotate(45deg);
}
.footer__line-arrow::after {
  transform: translateY(-50%) rotate(-45deg);
}
@media screen and (max-width: 768px) {
  .footer__line-arrow {
    width: calc(10.4 / 390 * 100cqw);
  }
}
.footer__nav {
  display: flex;
  flex-direction: column;
  padding: calc(24 / 1440 * 100cqw) calc(20 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .footer__nav {
    padding: calc(24 / 390 * 100cqw) calc(20 / 390 * 100cqw);
  }
}
.footer__identity {
  display: flex;
  height: calc(57 / 1440 * 100cqw);
  align-items: center;
  gap: calc(4 / 1440 * 100cqw);
  font-size: 1rem;
  font-weight: 600;
}
.footer__identity img {
  width: calc(40 / 1440 * 100cqw);
  height: calc(40 / 1440 * 100cqw);
  object-fit: contain;
}
@media screen and (max-width: 768px) {
  .footer__identity {
    height: calc(57 / 390 * 100cqw);
    gap: calc(4 / 390 * 100cqw);
  }
  .footer__identity img {
    width: calc(40 / 390 * 100cqw);
    height: calc(40 / 390 * 100cqw);
  }
}
.footer__sns {
  display: flex;
  align-items: center;
  gap: calc(20 / 1440 * 100cqw);
}
.footer__sns a {
  display: grid;
  width: calc(38 / 1440 * 100cqw);
  height: calc(38 / 1440 * 100cqw);
  place-items: center;
  border-radius: 50%;
  background: #fff;
}
.footer__sns a:nth-child(2) {
  width: calc(28 / 1440 * 100cqw);
  height: calc(28 / 1440 * 100cqw);
  background: #2d2d2d;
}
.footer__sns img {
  width: calc(22.8 / 1440 * 100cqw);
  height: calc(22.8 / 1440 * 100cqw);
  object-fit: contain;
}
.footer__sns a:nth-child(2) img {
  width: 100%;
  height: 100%;
}
.footer__sns a:nth-child(3) img {
  height: calc(16 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .footer__sns {
    gap: calc(20 / 390 * 100cqw);
  }
  .footer__sns a {
    width: calc(38 / 390 * 100cqw);
    height: calc(38 / 390 * 100cqw);
  }
  .footer__sns a:nth-child(2) {
    width: calc(28 / 390 * 100cqw);
    height: calc(28 / 390 * 100cqw);
  }
  .footer__sns img {
    width: calc(22.8 / 390 * 100cqw);
    height: calc(22.8 / 390 * 100cqw);
  }
  .footer__sns a:nth-child(3) img {
    height: calc(16 / 390 * 100cqw);
  }
}
.footer__links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: calc(9 / 1440 * 100cqw) calc(11 / 1440 * 100cqw);
  padding-right: calc(18 / 1440 * 100cqw);
}
@media screen and (min-width: 769px) and (max-width: 1100px) {
  .footer__links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (max-width: 768px) {
  .footer__links {
    display: flex;
    flex-direction: column;
    gap: calc(9 / 390 * 100cqw);
  }
}
.footer__group > a {
  display: flex;
  align-items: center;
  gap: calc(10 / 1440 * 100cqw);
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.3;
}
@media (any-hover: hover) {
  .footer__group > a:hover .footer__group-arrow {
    translate: 0.3rem 0;
  }
}
.footer__group > a:active .footer__group-arrow {
  translate: 0.3rem 0;
}
.footer__group p {
  padding-left: calc(18 / 1440 * 100cqw);
  margin-top: calc(11 / 1440 * 100cqw);
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 2;
  overflow-wrap: normal;
  word-break: keep-all;
}
@media screen and (max-width: 768px) {
  .footer__group > a {
    gap: calc(9 / 390 * 100cqw);
    font-size: 1.6rem;
  }
  .footer__group p {
    padding-left: calc(18 / 390 * 100cqw);
    margin-top: calc(11 / 390 * 100cqw);
    font-size: 1.4rem;
    line-height: 2;
  }
}
.footer__service-name {
  white-space: nowrap;
}
.footer__group-arrow {
  position: relative;
  display: block;
  width: calc(11.7 / 1440 * 100cqw);
  height: 2px;
  flex-shrink: 0;
  border-radius: 999px;
  background: #21205a;
  translate: 0 0;
  transition: translate 0.3s ease;
}
.footer__group-arrow::before, .footer__group-arrow::after {
  position: absolute;
  top: 50%;
  right: 0;
  width: 0.7rem;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  content: "";
  transform-origin: calc(100% - 1px) center;
}
.footer__group-arrow::before {
  transform: translateY(-50%) rotate(45deg);
}
.footer__group-arrow::after {
  transform: translateY(-50%) rotate(-45deg);
}
@media screen and (max-width: 768px) {
  .footer__group-arrow {
    width: calc(11.7 / 390 * 100cqw);
  }
}
.footer__address {
  display: flex;
  justify-content: center;
  gap: calc(24 / 1440 * 100cqw);
  padding: calc(22 / 1440 * 100cqw) calc(20 / 1440 * 100cqw) calc(24 / 1440 * 100cqw);
  background: #ededed;
}
.footer__address p {
  display: flex;
  align-items: flex-start;
  gap: calc(20 / 1440 * 100cqw);
}
.footer__address b {
  font-size: 1.6rem;
  line-height: 1.4;
  white-space: nowrap;
}
.footer__address span {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.6;
  white-space: nowrap;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 768px) {
  .footer__address {
    flex-direction: column;
    gap: calc(22 / 390 * 100cqw);
    padding: calc(22 / 390 * 100cqw) calc(20 / 390 * 100cqw);
  }
  .footer__address p {
    flex-direction: column;
    gap: calc(10 / 390 * 100cqw);
  }
  .footer__address b {
    font-size: 1.6rem;
  }
  .footer__address span {
    font-size: 1.4rem;
  }
}
.footer__legal {
  padding: calc(24 / 1440 * 100cqw);
  text-align: center;
}
.footer__legal p {
  display: flex;
  justify-content: center;
  gap: calc(3 / 1440 * 100cqw);
  font-size: 1.4rem;
}
.footer__legal small {
  display: block;
  font-size: 1.2rem;
}
@media screen and (max-width: 768px) {
  .footer__legal {
    padding: calc(21 / 390 * 100cqw);
  }
  .footer__legal p {
    gap: calc(3 / 390 * 100cqw);
    font-size: 1.4rem;
  }
}

.header {
  position: sticky;
  top: 0;
  float: left;
  z-index: 20;
  display: flex;
  width: calc(160 / 1440 * 100cqw);
  height: 100vh;
  flex-direction: column;
  align-items: center;
  padding-top: calc(56 / 1440 * 100cqw);
  background: #ffffff;
}
@media screen and (min-width: 1441px) {
  .header {
    margin-left: calc(var(--wide-screen-gutter) * -1);
  }
}
@media (min-width: 769px) and (max-width: 1100px) {
  .header {
    padding-top: calc(48 / 1440 * 100cqw);
  }
}
@media screen and (max-width: 768px) {
  .header {
    position: fixed;
    float: none;
    inset: 0 0 auto;
    display: flex;
    width: 100%;
    height: 8rem;
    flex-direction: row;
    justify-content: space-between;
    padding: calc(10 / 390 * 100cqw);
  }
  .header::before {
    position: absolute;
    z-index: 16;
    background: #ffffff;
    content: "";
    inset: 0;
    pointer-events: none;
  }
  .header > .header__brand,
  .header > .header__social,
  .header > .menu-button {
    z-index: 17;
  }
  .header > .header__brand,
  .header > .menu-button {
    position: relative;
  }
}
.header__brand {
  display: grid;
  grid-template-areas: "name" "logo" "schools";
  justify-items: center;
  gap: calc(8 / 1440 * 100cqw);
  color: #2d2d2d;
  font-weight: 600;
  line-height: 1.3;
  text-align: center;
  text-decoration: none;
}
.header__brand:hover, .header__brand:active {
  opacity: 0.75;
}
@media screen and (max-width: 768px) {
  .header__brand {
    display: flex;
    align-items: center;
    align-self: stretch;
    gap: 0.4rem;
    text-align: left;
  }
}
.header__brand-text {
  display: contents;
}
@media screen and (max-width: 768px) {
  .header__brand-text {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
  }
}
.header__brand-name {
  grid-area: name;
  font-size: calc(14 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .header__brand-name {
    font-size: 0.8rem;
  }
}
.header__brand-schools {
  display: flex;
  grid-area: schools;
  flex-direction: column;
  gap: calc(8 / 1440 * 100cqw);
  font-size: calc(16 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .header__brand-schools {
    gap: 0.2rem;
    font-size: 0.8rem;
    line-height: 1;
  }
}
.header__logo {
  grid-area: logo;
  width: calc(100 / 1440 * 100cqw);
  height: calc(100 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .header__logo {
    width: 4rem;
    height: 4rem;
  }
}
.header__social {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(17 / 1440 * 100cqw);
  margin-top: calc(31 / 1440 * 100cqw);
}
@media (min-width: 769px) and (max-width: 1100px) {
  .header__social {
    margin-top: calc(26 / 1440 * 100cqw);
  }
}
@media screen and (max-width: 768px) {
  .header__social {
    position: absolute;
    top: 50%;
    right: 6.6rem;
    flex-direction: row;
    gap: 1.2rem;
    margin-top: 0;
    transform: translateY(-50%);
  }
}
.header__social a {
  display: grid;
  width: calc(54 / 1440 * 100cqw);
  height: calc(54 / 1440 * 100cqw);
  place-items: center;
  border-radius: 50%;
}
@media screen and (max-width: 768px) {
  .header__social a {
    width: 3.6rem;
    height: 3.6rem;
  }
}
.header__social a:nth-child(1) img {
  width: calc(32 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .header__social a:nth-child(1) img {
    width: 2.16rem;
  }
}
.header__social a:nth-child(2) img {
  width: calc(40 / 1440 * 100cqw);
  height: calc(40 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .header__social a:nth-child(2) img {
    width: 2.4rem;
    height: 2.4rem;
  }
}
@media screen and (max-width: 768px) {
  .header__social a:nth-child(3) {
    height: auto;
  }
}
.header__social a:nth-child(3) img {
  width: calc(32 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .header__social a:nth-child(3) img {
    width: 2.16rem;
  }
}
.header__social img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.menu-button {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: center;
  gap: calc(10 / 1440 * 100cqw);
  margin-top: calc(29 / 1440 * 100cqw);
  border: 0;
  background: transparent;
  color: #2d2d2d;
  cursor: pointer;
  font: inherit;
  font-size: 1.6rem;
}
@media (min-width: 769px) and (max-width: 1100px) {
  .menu-button {
    gap: calc(12 / 1440 * 100cqw);
    margin-top: calc(26 / 1440 * 100cqw);
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 768px) {
  .menu-button {
    width: 3.6rem;
    gap: 0.7rem;
    margin-top: 0;
    font-size: 1.3rem;
  }
}
.menu-button__bars {
  position: relative;
  display: block;
  width: calc(40 / 1440 * 100cqw);
  height: calc(30 / 1440 * 100cqw);
  transition: width 0.35s ease;
}
@media screen and (max-width: 768px) {
  .menu-button__bars {
    height: 2.2rem;
    width: 100%;
  }
}
@media (prefers-reduced-motion: reduce) {
  .menu-button__bars {
    transition: none;
  }
}
.menu-button__bars span {
  position: absolute;
  left: 0;
  display: block;
  width: 100%;
  height: calc(3 / 1440 * 100cqw);
  min-height: 2px;
  background: currentcolor;
  border-radius: 999px;
  transform-origin: center;
  transition: top 0.22s ease 0.18s, transform 0.22s ease, opacity 0.15s ease 0.18s;
}
.menu-button__bars span:nth-child(1) {
  top: 0;
}
.menu-button__bars span:nth-child(2) {
  top: 50%;
  transform: translateY(-50%);
}
.menu-button__bars span:nth-child(3) {
  top: 100%;
  transform: translateY(-100%);
}
@media screen and (max-width: 768px) {
  .menu-button__bars span {
    height: 2px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .menu-button__bars span {
    transition: none;
  }
}
.menu-button__label {
  font-size: 1.5rem;
  letter-spacing: 0.08em;
  white-space: nowrap;
  font-family: "Inter", sans-serif;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1;
}
@media (min-width: 769px) and (max-width: 1100px) {
  .menu-button__label {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 768px) {
  .menu-button__label {
    font-size: 1.3rem;
  }
}

.header.is-menu-open .menu-button {
  width: 100%;
  justify-content: flex-start;
  margin-top: calc(5 / 1440 * 100cqw);
  padding: calc(24 / 1440 * 100cqw) 0;
  background: #ededed;
}
@media screen and (max-width: 768px) {
  .header.is-menu-open .menu-button {
    width: 3.6rem;
    height: auto;
    gap: 0.4rem;
    margin-top: 0;
    padding: 0;
    background: transparent;
  }
}
@media screen and (max-width: 768px) {
  .header.is-menu-open .menu-button__bars {
    width: 3.2rem;
    height: 2.2rem;
  }
}
.header.is-menu-open .menu-button__bars span {
  top: 50%;
  transition: top 0.22s ease, transform 0.22s ease 0.18s, opacity 0.15s ease;
}
.header.is-menu-open .menu-button__bars span:nth-child(1) {
  transform: translateY(-50%) rotate(45deg);
}
.header.is-menu-open .menu-button__bars span:nth-child(2) {
  opacity: 0;
  transform: translateY(-50%) scaleX(0);
}
.header.is-menu-open .menu-button__bars span:nth-child(3) {
  transform: translateY(-50%) rotate(-45deg);
}
@media (prefers-reduced-motion: reduce) {
  .header.is-menu-open .menu-button__bars span {
    transition: none;
  }
}

.global-menu-root {
  position: fixed;
  z-index: 15;
  top: 0;
  left: 0;
  width: 100vw;
  max-width: 100%;
  height: 100vh;
  height: 100dvh;
  pointer-events: none;
}
.global-menu-root__stage {
  width: 100%;
  height: 100%;
}

.global-menu {
  display: block;
  position: absolute;
  z-index: 15;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 8rem 6rem;
  overflow-y: auto;
  background: #ededed;
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
  transform: translate3d(-1.6rem, 0, 0);
  transition: opacity 0.3s ease, visibility 0s linear 0.3s, transform 0.3s ease;
}
@media screen and (max-width: 768px) {
  .global-menu {
    padding: 9rem calc(24 / 390 * 100cqw) 0rem;
    transform: translate3d(0, -1.2rem, 0);
  }
}
.global-menu.is-open {
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
  transform: none;
  transition: opacity 0.3s ease, visibility 0s linear 0s, transform 0.3s ease;
}
@media (prefers-reduced-motion: reduce) {
  .global-menu {
    transform: none;
    transition: none;
  }
}
.global-menu__grid {
  display: grid;
  width: 100%;
  max-width: 100rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  gap: 4rem;
}
@media (min-width: 769px) and (max-width: 1100px) {
  .global-menu__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (max-width: 768px) {
  .global-menu__grid {
    display: flex;
    width: 100%;
    max-width: none;
    min-height: calc(100vh - 9rem);
    min-height: calc(100dvh - 9rem);
    flex-direction: column;
    gap: 0rem;
  }
}
.global-menu__group {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: flex-start;
  gap: 2.4rem;
}
@media screen and (max-width: 768px) {
  .global-menu__group {
    width: 100%;
    gap: 0;
    border-bottom: 2px dashed #c23642;
  }
  .global-menu__group:last-of-type {
    margin-bottom: 3.2rem;
  }
}
.global-menu__heading {
  display: flex;
  width: 100%;
  align-items: center;
  gap: calc(14 / 1440 * 100cqw);
  padding: 1.6rem 0;
  color: #2d2d2d;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.3;
  border-bottom: 2px dashed #c23642;
}
@media (any-hover: hover) {
  .global-menu__heading:hover .global-menu__heading-arrow {
    translate: 0.3rem 0;
  }
}
.global-menu__heading:active .global-menu__heading-arrow {
  translate: 0.3rem 0;
}
@media (min-width: 769px) and (max-width: 1100px) {
  .global-menu__heading {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 768px) {
  .global-menu__heading {
    gap: 1.2rem;
    padding: 2.2rem 0;
    font-size: 1.8rem;
    border-bottom: none;
  }
}
@media screen and (max-width: 768px) and (any-hover: hover) {
  .global-menu__heading:hover .global-menu__heading-arrow {
    translate: 0 0.3rem;
  }
}
@media screen and (max-width: 768px) {
  .global-menu__heading:active .global-menu__heading-arrow {
    translate: 0 0.3rem;
  }
}
.global-menu__heading-arrow {
  position: relative;
  display: block;
  width: calc(18 / 1440 * 100cqw);
  height: 2px;
  flex: 0 0 auto;
  border-radius: 999px;
  background: currentColor;
  translate: 0 0;
  transition: translate 0.3s ease;
}
.global-menu__heading-arrow::before, .global-menu__heading-arrow::after {
  position: absolute;
  top: 50%;
  right: 0;
  width: calc(9 / 1440 * 100cqw);
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  content: "";
  transform-origin: calc(100% - 1px) center;
}
.global-menu__heading-arrow::before {
  transform: translateY(-50%) rotate(45deg);
}
.global-menu__heading-arrow::after {
  transform: translateY(-50%) rotate(-45deg);
}
@media screen and (max-width: 768px) {
  .global-menu__heading-arrow {
    width: 1.8rem;
    order: 2;
    margin-left: auto;
    transform: rotate(90deg);
    transition: transform 0.3s ease;
  }
  .global-menu__heading-arrow::before, .global-menu__heading-arrow::after {
    width: 0.9rem;
  }
  .global-menu__heading[aria-expanded=true] .global-menu__heading-arrow {
    transform: rotate(-90deg);
  }
}
.global-menu__links {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.8rem;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .global-menu__links {
    font-size: 1.8rem;
  }
  .js .global-menu__links {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    transition: max-height 0.35s ease, opacity 0.25s ease, visibility 0s linear 0.35s;
  }
  .js .global-menu__links.is-open {
    max-height: 40rem;
    opacity: 1;
    visibility: visible;
    transition-delay: 0s;
    padding-bottom: 2.2rem;
  }
}
.global-menu__links a {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding-left: calc(18 / 1440 * 100cqw);
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .global-menu__links a {
    padding-left: 1.4rem;
  }
}
.global-menu__links a::before {
  color: #21205a;
  content: "・";
}
.global-menu__links a::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: calc(calc(18 / 1440 * 100cqw) + 1em + 1rem);
  height: 1px;
  background: currentColor;
  content: "";
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.3s ease;
}
@media screen and (max-width: 768px) {
  .global-menu__links a::after {
    left: calc(1.4rem + 1em + 1rem);
  }
}
@media (any-hover: hover) {
  .global-menu__links a:hover::after {
    transform: scaleX(1);
  }
}
.global-menu__links a:active::after {
  transform: scaleX(1);
}
.global-menu__top-link {
  display: none;
}
@media screen and (max-width: 768px) {
  .global-menu__top-link {
    display: list-item;
  }
}
.global-menu__line {
  display: none;
}
@media screen and (max-width: 768px) {
  .global-menu__line {
    display: grid;
    width: calc(100% + calc(48 / 390 * 100cqw));
    grid-template-columns: repeat(2, 1fr);
    margin: auto calc(-24 / 390 * 100cqw) 0;
  }
}
.global-menu__actions {
  display: flex;
  width: calc(300 / 1440 * 100cqw);
  flex-direction: column;
  gap: calc(20 / 1440 * 100cqw);
  margin-left: calc(13 / 1440 * 100cqw);
  padding-top: calc(52 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .global-menu__actions {
    display: grid;
    width: calc(100% + calc(48 / 390 * 100cqw));
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem calc(16 / 390 * 100cqw);
    margin-left: calc(-24 / 390 * 100cqw);
    padding: 1.6rem calc(10 / 390 * 100cqw) calc(1.6rem + env(safe-area-inset-bottom));
    background: #21205a;
  }
}
.global-menu__action {
  position: relative;
  display: flex;
  width: 300px;
  height: 4.8rem;
  align-items: center;
  justify-content: center;
  border: 3px solid #ffffff;
  border-radius: 999px;
  background: #ffffff;
  color: #21205a;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.02em;
  transition: all 0.3s ease;
}
.global-menu__action:hover, .global-menu__action:active {
  opacity: 1;
}
.global-menu__action:hover span, .global-menu__action:active span {
  translate: 0.3rem 0;
}
@media screen and (max-width: 768px) {
  .global-menu__action {
    width: 100%;
    height: 5.2rem;
    padding: 0.35rem 1.5rem;
    font-size: 1.5rem;
    text-align: center;
  }
}
.global-menu__action span {
  position: absolute;
  top: 50%;
  right: calc(16 / 1440 * 100cqw);
  width: 1.6rem;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  font-size: 0;
  transform: translateY(-50%);
  translate: 0 0;
  transition: translate 0.3s ease;
}
.global-menu__action span::before, .global-menu__action span::after {
  position: absolute;
  top: 50%;
  right: -1px;
  width: 0.9rem;
  height: 2px;
  background: currentColor;
  content: "";
  transform-origin: right center;
}
.global-menu__action span::before {
  transform: translateY(-50%) rotate(45deg);
}
.global-menu__action span::after {
  transform: translateY(-50%) rotate(-45deg);
}
@media screen and (max-width: 768px) {
  .global-menu__action span {
    right: calc(13 / 390 * 100cqw);
    width: 1.2rem;
    height: 1px;
  }
  .global-menu__action span::before, .global-menu__action span::after {
    width: 0.7rem;
    height: 1px;
  }
}
.global-menu__action--morinoki {
  border-color: #ffffff;
  background: #73c94a;
  color: #ffffff;
}
.global-menu__action--morinoki:hover, .global-menu__action--morinoki:active {
  border-color: #c23642;
  background: #509b1f;
}
.global-menu__action--kusunoki {
  border-color: #ffffff;
  background: #c23642;
  color: #ffffff;
}
.global-menu__action--kusunoki:hover, .global-menu__action--kusunoki:active {
  border-color: #c23642;
}
.global-menu__action--contact {
  border-color: #ffffff;
  color: #ffffff;
  background: #c6a86b;
}
.global-menu__action--contact:hover, .global-menu__action--contact:active {
  border-color: #c23642;
  background: #b3872c;
}
@media screen and (max-width: 768px) {
  .global-menu__action--contact {
    width: calc(220 / 390 * 100cqw);
    height: 4rem;
    grid-column: 1/-1;
    justify-self: center;
    padding-block: 0.5rem;
    font-size: 1.8rem;
  }
  .global-menu__action--contact span {
    right: calc(19 / 390 * 100cqw);
  }
}
.global-menu__emblem {
  position: absolute;
  right: calc(100 / 1440 * 100cqw);
  bottom: calc(100 / 1440 * 100cqw);
  width: calc(120 / 1440 * 100cqw);
  height: calc(77 / 1440 * 100cqw);
  object-fit: contain;
}
@media screen and (max-width: 768px) {
  .global-menu__emblem {
    display: none;
  }
}

html.is-menu-open,
html.is-menu-open body {
  overscroll-behavior: none;
}

.top-inner {
  padding-inline: 12px;
}
@media screen and (min-width: 769px) {
  .top-inner {
    padding-inline: 80px;
    max-width: 1360px;
    margin: 0 auto;
  }
}

.inner {
  padding-inline: 12px;
}
@media screen and (min-width: 769px) {
  .inner {
    padding-inline: 80px;
    max-width: 1260px;
    margin: 0 auto;
  }
}

.lower-page__inner {
  padding-top: 30px;
  margin-bottom: 80px;
}
@media screen and (min-width: 769px) {
  .lower-page__inner {
    padding-top: 60px;
    margin-bottom: 80px;
  }
}

.lp {
  overflow: clip;
  background: #ffffff;
}
.lp__stage {
  position: relative;
  container-type: inline-size;
  width: 100%;
  max-width: 1440px;
  min-height: 100vh;
  margin-inline: auto;
  overflow: clip;
  background: #ffffff;
}
@media screen and (max-width: 768px) {
  .lp__stage {
    padding-top: 8rem;
  }
}
@media screen and (min-width: 1441px) {
  .lp__stage {
    --wide-screen-gutter: calc((100vw - 1440px) / 2);
    --content-viewport-width: calc(100vw - calc(160 / 1440 * 100cqw));
    overflow: visible;
  }
}
.lp__body {
  display: flow-root;
}

.main-content {
  width: calc(100% - 160 / 1440 * 100cqw);
  margin-left: calc(160 / 1440 * 100cqw);
}
@media screen and (min-width: 1441px) {
  .main-content {
    position: relative;
    left: calc(var(--wide-screen-gutter) * -1);
    width: var(--content-viewport-width);
  }
}
@media screen and (max-width: 768px) {
  .main-content {
    width: 100%;
    margin-left: 0;
  }
}

/* 基本ボタン
------------------------------------- */
.button {
  position: relative;
  display: flex;
  width: calc(230 / 1440 * 100cqw);
  min-width: 21rem;
  min-height: calc(48 / 1440 * 100cqw);
  align-items: center;
  justify-content: center;
  padding: 1.05rem 0.5rem;
  border: 2px solid #21205a;
  border-radius: 999px;
  color: #21205a;
  background: #fff;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.02em;
  transition: color 0.3s ease, background-color 0.3s ease;
}
.button__arrow {
  position: absolute;
  right: calc(24 / 1440 * 100cqw);
  width: 1.6rem;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  font-size: 0;
  translate: 0 0;
  transition: translate 0.3s ease;
}
.button__arrow::before, .button__arrow::after {
  position: absolute;
  top: 50%;
  right: 0;
  width: 1rem;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  content: "";
  transform-origin: calc(100% - 1px) center;
}
.button__arrow::before {
  transform: translateY(-50%) rotate(45deg);
}
.button__arrow::after {
  transform: translateY(-50%) rotate(-45deg);
}
@media screen and (max-width: 768px) {
  .button__arrow {
    right: calc(12 / 390 * 100cqw);
    width: 1.1rem;
  }
  .button__arrow::before, .button__arrow::after {
    width: 0.7rem;
    transform-origin: calc(100% - 0.7px) center;
  }
}
@media (any-hover: hover) {
  a:hover .button, button:hover .button, .button:hover {
    color: #fff;
    background-color: #21205a;
  }
  a:hover .button .button__arrow, button:hover .button .button__arrow, .button:hover .button__arrow {
    translate: 0.3rem 0;
  }
}
a:active .button, button:active .button, .button:active {
  color: #fff;
  background-color: #21205a;
}
a:active .button .button__arrow, button:active .button .button__arrow, .button:active .button__arrow {
  translate: 0.3rem 0;
}
a:focus-visible .button, button:focus-visible .button {
  color: #fff;
  background-color: #21205a;
}
@media screen and (max-width: 768px) {
  .button {
    width: calc(170 / 390 * 100cqw);
    min-width: auto;
    min-height: calc(32 / 390 * 100cqw);
    padding: 0.4rem 0.5rem;
    font-size: 1.5rem;
  }
}

/* お問い合わせ追従ボタン
------------------------------------- */
.floating-contact {
  position: fixed;
  z-index: 10;
  bottom: calc(40 / 1440 * 100cqw);
  right: calc(40 / 1440 * 100cqw);
  transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease;
}
@media screen and (min-width: 1441px) {
  .floating-contact {
    right: 40px;
    bottom: 40px;
  }
}
@media screen and (max-width: 768px) {
  .floating-contact {
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px 10px calc(16px + env(safe-area-inset-bottom));
    background: #21205a;
  }
  .js .floating-contact {
    visibility: hidden;
    pointer-events: none;
    opacity: 0;
    transform: translateY(100%);
  }
}
@media screen and (max-width: 768px) {
  .js .floating-contact--visible {
    visibility: visible;
    pointer-events: auto;
    opacity: 1;
    transform: translateY(0);
  }
}
.js .floating-contact--hidden {
  visibility: hidden;
  pointer-events: none;
  opacity: 0;
  transform: translateY(2rem);
}
@media screen and (max-width: 768px) {
  .js .floating-contact--hidden {
    transform: translateY(100%);
  }
}
@media screen and (min-width: 769px) {
  .floating-contact--compact .floating-contact__button {
    transform: scale(0.6);
  }
}
@media (prefers-reduced-motion: reduce) {
  .floating-contact {
    transition: none;
  }
}
.floating-contact__button {
  display: flex;
  width: calc(180 / 1440 * 100cqw);
  height: calc(180 / 1440 * 100cqw);
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.8rem;
  border: calc(10 / 1440 * 100cqw) solid #c23642;
  border-radius: 50%;
  color: #21205a;
  background: #fff;
  font-size: 2.4rem;
  font-weight: 700;
  transform-origin: right bottom;
  transition: border-color 0.3s ease, background-color 0.3s ease, color 0.3s ease, opacity 0.3s ease, transform 0.3s ease;
}
@media (prefers-reduced-motion: reduce) {
  .floating-contact__button {
    transition: none;
  }
}
@media screen and (min-width: 1441px) {
  .floating-contact__button {
    width: 180px;
    height: 180px;
    border-width: 10px;
  }
}
.floating-contact__button:hover, .floating-contact__button:active {
  color: #fff;
  background-color: #21205a;
  opacity: 1;
}
.floating-contact__button:hover .floating-contact__arrow, .floating-contact__button:active .floating-contact__arrow {
  color: #bebebe;
  translate: 0.3rem 0;
}
@media screen and (min-width: 769px) and (max-width: 1100px) {
  .floating-contact__button {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 768px) {
  .floating-contact__button {
    position: relative;
    display: flex;
    width: 210px;
    height: 40px;
    flex-direction: row;
    gap: 0;
    border: 3px solid #c23642;
    border-radius: 999px;
    color: #21205a;
    background: #ffffff;
    font-family: "Inter", sans-serif;
    font-size: 1.8rem;
    line-height: 1.3;
    letter-spacing: -0.02em;
    transform: translateX(5px);
  }
  .floating-contact__button:hover, .floating-contact__button:active {
    border-color: #c23642;
    color: #21205a;
    background-color: #ffffff;
  }
  .floating-contact__button:hover .floating-contact__arrow, .floating-contact__button:active .floating-contact__arrow {
    color: #21205a;
    translate: 0.3rem 0;
  }
}
.floating-contact__arrow {
  position: relative;
  display: block;
  width: 2rem;
  height: 2px;
  flex-shrink: 0;
  border-radius: 999px;
  background: currentColor;
  translate: 0 0;
  transition: color 0.3s ease, translate 0.3s ease;
}
.floating-contact__arrow::before, .floating-contact__arrow::after {
  position: absolute;
  top: 50%;
  right: 0;
  width: 1rem;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  content: "";
  transform-origin: calc(100% - 1px) center;
}
.floating-contact__arrow::before {
  transform: translateY(-50%) rotate(45deg);
}
.floating-contact__arrow::after {
  transform: translateY(-50%) rotate(-45deg);
}
@media screen and (max-width: 768px) {
  .floating-contact__arrow {
    position: absolute;
    top: 50%;
    right: 20px;
    width: 11px;
    height: 1.3px;
    transform: translateY(-50%);
  }
  .floating-contact__arrow::before, .floating-contact__arrow::after {
    width: 6px;
    height: 1.3px;
    transform-origin: calc(100% - 0.65px) center;
  }
}

/* ページトップへ
------------------------------------- */
.page-top {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: fit-content;
  margin: calc(63 / 1440 * 100cqw) calc(39 / 1440 * 100cqw) calc(35 / 1440 * 100cqw) auto;
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: -0.02em;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .page-top {
    width: calc(83 / 390 * 100cqw);
    margin: 7rem calc(14 / 390 * 100cqw) 1.8rem auto;
    font-size: 1.1rem;
  }
}
.page-top__image {
  width: calc(91 / 1440 * 100cqw);
  height: auto;
}
@media screen and (max-width: 768px) {
  .page-top__image {
    width: 5rem;
    height: auto;
  }
}
.page-top__label {
  position: relative;
  display: flex;
  align-items: center;
  padding-right: 2rem;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .page-top__label {
    padding-right: 1.2rem;
  }
}
.page-top__label::before {
  position: absolute;
  top: 50%;
  right: 0;
  width: 0.8rem;
  height: 0.8rem;
  border-top: 2px solid currentColor;
  border-left: 2px solid currentColor;
  border-radius: 1px;
  content: "";
  transform: translateY(-70%) rotate(45deg);
  transition: transform 0.3s ease;
}
@media screen and (max-width: 768px) {
  .page-top__label::before {
    width: 0.6rem;
    height: 0.6rem;
    border-width: 1.5px 0 0 1.5px;
  }
}
.page-top__label::after {
  position: absolute;
  top: 50%;
  right: calc(0.4rem - 1px);
  width: 2px;
  height: 1.5rem;
  border-radius: 999px;
  background: currentColor;
  content: "";
  transform: translateY(-45%);
  transition: transform 0.3s ease;
}
@media screen and (max-width: 768px) {
  .page-top__label::after {
    right: calc(0.3rem - 0.75px);
    width: 1.5px;
    height: 1.2rem;
  }
}
@media (any-hover: hover) {
  .page-top:hover .page-top__label::before {
    transform: translateY(calc(-70% - 3px)) rotate(45deg);
  }
  .page-top:hover .page-top__label::after {
    transform: translateY(calc(-45% - 3px));
  }
}
.page-top:active .page-top__label::before {
  transform: translateY(calc(-70% - 3px)) rotate(45deg);
}
.page-top:active .page-top__label::after {
  transform: translateY(calc(-45% - 3px));
}

.subpage-header {
  position: relative;
  display: grid;
}
@media screen and (max-width: 768px) {
  .subpage-header {
    display: block;
  }
}
.subpage-header > .breadcrumb-wrapper {
  grid-column: 1;
  grid-row: 2;
}
.subpage-header__visual {
  position: relative;
  aspect-ratio: 2560/800;
  overflow: hidden;
  grid-area: 1/1;
}
.subpage-header__visual > picture {
  display: block;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 768px) {
  .subpage-header__visual {
    aspect-ratio: 780/400;
  }
}
.subpage-header__picture {
  display: block;
  width: 100%;
  height: 100%;
}
.subpage-header__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.subpage-header__title {
  position: absolute;
  top: calc(110 / 1440 * 100cqw);
  left: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: calc(16 / 1440 * 100cqw) calc(100 / 1440 * 100cqw) calc(18 / 1440 * 100cqw);
  border-radius: 0 calc(20 / 1440 * 100cqw) 0 calc(20 / 1440 * 100cqw);
  background: rgba(255, 255, 255, 0.7);
  font-size: 3.6rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.8;
  transform: translateX(-50%);
  white-space: nowrap;
}
@media (min-width: 769px) and (max-width: 1200px) {
  .subpage-header__title {
    font-size: 2.6rem;
  }
}
@media screen and (max-width: 768px) {
  .subpage-header__title {
    top: 50%;
    width: auto;
    min-height: 0;
    min-width: calc(162 / 390 * 100cqw);
    padding: 0.8rem calc(48 / 390 * 100cqw);
    border-radius: 0 calc(12 / 390 * 100cqw) 0 calc(12 / 390 * 100cqw);
    font-size: 2.2rem;
    transform: translate(-50%, -50%);
  }
}
.subpage-header__nav {
  position: relative;
  top: auto;
  bottom: auto;
  left: auto;
  z-index: 1;
  display: flex;
  width: fit-content;
  background: #ffffff;
  grid-area: 1/1;
  align-self: end;
  justify-self: center;
  transform: none;
}
@media screen and (max-width: 768px) {
  .subpage-header__nav {
    position: relative;
    top: auto;
    bottom: auto;
    left: auto;
    display: grid;
    gap: 0.8rem calc(8 / 390 * 100cqw);
    width: 100%;
    padding: 2rem calc(15 / 390 * 100cqw);
    grid-template-columns: repeat(2, 1fr);
    transform: none;
  }
}
.subpage-header__nav-link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(16 / 1440 * 100cqw);
  padding: calc(10 / 1440 * 100cqw) calc(22 / 1440 * 100cqw) calc(10 / 1440 * 100cqw) calc(24 / 1440 * 100cqw);
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: -0.02em;
  line-height: 1.8;
  transition: opacity 0.3s ease, background-color 0.3s ease, color 0.3s ease;
  white-space: nowrap;
}
@media (any-hover: hover) {
  .subpage-header__nav-link:not(.subpage-header__nav-link--current):hover {
    opacity: 1;
    color: #fff;
    background-color: #c6a86b;
  }
  .subpage-header__nav-link:not(.subpage-header__nav-link--current):hover .subpage-header__nav-arrow {
    translate: 0 0.3rem;
  }
}
.subpage-header__nav-link:not(.subpage-header__nav-link--current):active {
  opacity: 1;
  color: #fff;
  background-color: #c6a86b;
}
.subpage-header__nav-link:not(.subpage-header__nav-link--current):active .subpage-header__nav-arrow {
  translate: 0 0.3rem;
}
@media (min-width: 769px) and (max-width: 1200px) {
  .subpage-header__nav-link {
    width: auto;
    gap: 0.8rem;
    padding: 0.8rem;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 768px) {
  .subpage-header__nav-link {
    width: auto;
    justify-content: space-between;
    gap: 0;
    padding: 1.3rem calc(14 / 390 * 100cqw);
    border: 1px solid #21205a;
    font-size: 1.3rem;
    color: #21205a;
  }
}
.subpage-header__nav-link--current {
  background: #21205a;
  color: #fff !important;
}
@media (any-hover: hover) {
  .subpage-header__nav-link--current:hover {
    opacity: 1;
    background: #21205a;
    color: #fff;
  }
}
.subpage-header__nav-link--current:active {
  opacity: 1;
  background: #21205a;
  color: #fff;
}
.subpage-header__nav-arrow {
  position: relative;
  display: block;
  width: calc(15 / 1440 * 100cqw);
  height: 2px;
  flex-shrink: 0;
  border-radius: 999px;
  background: currentColor;
  transform: rotate(90deg);
  translate: 0 0;
  transition: translate 0.3s ease;
}
.subpage-header__nav-arrow::before, .subpage-header__nav-arrow::after {
  position: absolute;
  top: 50%;
  right: 0;
  width: calc(11 / 1440 * 100cqw);
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  content: "";
  transform-origin: calc(100% - 1px) center;
}
.subpage-header__nav-arrow::before {
  transform: translateY(-50%) rotate(45deg);
}
.subpage-header__nav-arrow::after {
  transform: translateY(-50%) rotate(-45deg);
}
@media (min-width: 769px) and (max-width: 1200px) {
  .subpage-header__nav-arrow {
    width: 1rem;
  }
  .subpage-header__nav-arrow::before, .subpage-header__nav-arrow::after {
    width: 0.7rem;
  }
}
@media screen and (max-width: 768px) {
  .subpage-header__nav-arrow {
    width: 1.2rem;
  }
  .subpage-header__nav-arrow::before, .subpage-header__nav-arrow::after {
    width: 0.85rem;
  }
}

.breadcrumb-wrapper {
  position: relative;
}

.breadcrumb {
  display: flex;
  width: calc(1280 / 1440 * 100cqw);
  margin: calc(56 / 1440 * 100cqw) auto 0;
  color: #2d2d2d;
  font-size: 1.4rem;
  letter-spacing: -0.02em;
  line-height: 1.8;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
@media screen and (max-width: 768px) {
  .breadcrumb {
    width: auto;
    margin: 1.5rem calc(15 / 390 * 100cqw) 0;
    font-size: 1.2rem;
  }
}
.breadcrumb ol {
  display: flex;
  min-width: max-content;
  align-items: center;
  flex-wrap: nowrap;
}
.breadcrumb li {
  display: inline-flex;
  align-items: center;
}
.breadcrumb li + li::before {
  display: inline-block;
  width: 0.7rem;
  height: 0.7rem;
  margin: 0 1.2rem;
  border-right: 1px solid #a6a6a6;
  border-bottom: 1px solid #a6a6a6;
  content: "";
  transform: rotate(-45deg);
}
@media screen and (max-width: 768px) {
  .breadcrumb li + li::before {
    width: 0.6rem;
    height: 0.6rem;
    margin-inline: 1rem;
  }
}
.breadcrumb li a {
  text-decoration: underline;
}

.breadcrumb-scroll-indicator {
  display: none;
}
.breadcrumb-scroll-indicator.is-visible {
  position: absolute;
  right: 0;
  bottom: -20px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  padding-inline: 13px;
  color: #c6a86b;
  font-size: 1.2rem;
  font-weight: 500;
}
.breadcrumb-scroll-indicator.is-visible img {
  width: 18px;
}

.article__block {
  margin-bottom: 50px;
}
@media screen and (min-width: 769px) {
  .article__block {
    margin-bottom: 60px;
  }
}

.article__page .article__title {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (min-width: 769px) {
  .article__page .article__title {
    font-size: 3rem;
  }
}
.article__page .article__title--lv2 {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
  padding-bottom: 20px;
  position: relative;
  margin-bottom: 30px;
}
@media screen and (min-width: 769px) {
  .article__page .article__title--lv2 {
    font-size: 2.4rem;
  }
}
.article__page .article__title--lv2::after {
  content: "";
  width: 100px;
  height: 3px;
  background: #c6a86b;
  position: absolute;
  left: 0;
  bottom: 0;
}
.article__page .article__title--lv3 {
  font-size: 1.6rem;
  line-height: 1.4;
  font-weight: 700;
  display: flex;
  gap: 16px;
  margin-bottom: 20px;
  align-items: stretch;
}
@media screen and (min-width: 769px) {
  .article__page .article__title--lv3 {
    font-size: 2rem;
  }
}
.article__page .article__title--lv3::before {
  content: "";
  width: 6px;
  background: #c6a86b;
}
.article__page .list-ul {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
@media screen and (min-width: 769px) {
  .article__page .list-ul {
    padding: 0 30px;
  }
}
.article__page .list-ul ul {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.article__page .list-ul ul li {
  display: flex;
  gap: 8px;
  line-height: 1.7;
}
.article__page .list-ul ul li::before {
  margin-top: 8px;
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #5575b5;
  flex-shrink: 0;
}
.article__page .list-ul .note {
  font-size: 1.4rem;
  line-height: 1.7;
  display: flex;
  gap: 10px;
}
.article__page .list-ul .note::before {
  content: "※";
}
.article__page .list-ol {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
@media screen and (min-width: 769px) {
  .article__page .list-ol {
    padding: 0 30px;
  }
}
.article__page .list-ol ol {
  display: flex;
  flex-direction: column;
  list-style: none;
  counter-reset: num;
  gap: 10px;
}
.article__page .list-ol ol li {
  counter-increment: num;
  line-height: 1.7;
  display: flex;
  gap: 16px;
}
@media screen and (min-width: 769px) {
  .article__page .list-ol ol li {
    gap: 14px;
  }
}
.article__page .list-ol ol li::before {
  content: counter(num) ".";
  font-weight: 700;
  width: 2ch;
  text-align: left;
  flex-shrink: 0;
}
.article__page .list-ol .note {
  font-size: 1.4rem;
  line-height: 1.7;
  display: flex;
  gap: 10px;
}
.article__page .list-ol .note::before {
  content: "※";
}
.article__page .image-caption__image {
  width: 100%;
}
.article__page .image-caption__caption {
  font-size: 1.4rem;
  line-height: 1.7;
  background: #f0f0f0;
  padding: 10px;
}
@media screen and (min-width: 769px) {
  .article__page .image-caption__caption {
    padding: 10px 20px;
  }
}
.article__page .image-ttl-txt__image {
  width: 100%;
}
.article__page .image-ttl-txt__ttl {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.7;
  margin-top: 16px;
}
.article__page .image-ttl-txt__txt {
  font-size: 1.4rem;
  line-height: 1.7;
  margin-top: 10px;
}
.article__page .image-ttl-txt-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 50px;
}
@media screen and (min-width: 769px) {
  .article__page .image-ttl-txt-list {
    grid-template-columns: repeat(3, 1fr);
    gap: calc(40 / 1440 * 100cqw);
  }
}
.article__page .image-ttl-txt-list .image-ttl-txt__image {
  aspect-ratio: 340/240;
}
.article__page .image-ttl-txt-list .image-ttl-txt__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.article__page .ttl-txt-list {
  padding: 29px;
  border: 1px solid #5575b5;
}
@media screen and (min-width: 769px) {
  .article__page .ttl-txt-list {
    padding: 40px;
  }
}
.article__page .ttl-txt-list__header {
  margin-bottom: 20px;
}
.article__page .ttl-txt-list__heading {
  font-size: 2rem;
  line-height: 1.4;
  font-weight: 700;
  padding-left: 32px;
  position: relative;
}
.article__page .ttl-txt-list__heading::before {
  content: "";
  position: absolute;
  top: 4px;
  left: 0;
  width: 16px;
  height: 20px;
  background: url("/assets/images/common/icon-book.svg") no-repeat center/contain;
}
.article__page .ttl-txt-list__list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.article__page .ttl-txt-list__item {
  padding-left: 18px;
  line-height: 1.7;
  position: relative;
}
.article__page .ttl-txt-list__item::before {
  position: absolute;
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #5575b5;
  top: 8px;
  left: 0;
}
.article__page .ttl-txt-list__ttl {
  font-weight: 700;
}
.article__page .bordered-ttl-txt {
  padding: 30px;
  border: 1px solid #bebebe;
}
.article__page .bordered-ttl-txt__ttl {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 20px;
}
.article__page .bordered-ttl-txt__txt {
  line-height: 1.7;
}
.article__page .article__text-block .article__text {
  line-height: 1.7;
}
.article__page .article__text-block .article__text + .article__text {
  margin-top: 20px;
}
.article__page .table--icon table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 50px;
  color: #000000;
}
@media screen and (min-width: 769px) {
  .article__page .table--icon table {
    margin-bottom: 60px;
  }
}
.article__page .table--icon table tr {
  display: block;
}
.article__page .table--icon table tr:first-child {
  border-top: 1px solid #bebebe;
}
.article__page .table--icon table th {
  display: block;
  padding: 9px;
  background: #e4e4e4;
  text-align: center;
  border-left: 1px solid #bebebe;
  border-right: 1px solid #bebebe;
  border-bottom: 1px solid #bebebe;
  border-top: none;
  line-height: 1.7;
  vertical-align: middle;
}
.article__page .table--icon table td {
  display: block;
  padding: 9px 16px;
  border-left: 1px solid #bebebe;
  border-right: 1px solid #bebebe;
  border-bottom: 1px solid #bebebe;
  border-top: none;
  line-height: 1.6;
  vertical-align: top;
}
@media screen and (min-width: 769px) {
  .article__page .table--icon table {
    display: table;
    width: 100%;
  }
  .article__page .table--icon table tr {
    display: table-row;
    margin-bottom: 0;
  }
  .article__page .table--icon table th, .article__page .table--icon table td {
    display: table-cell;
    padding: 16px;
  }
  .article__page .table--icon table th {
    width: 180px;
    line-height: 1.3;
  }
  .article__page .table--icon table td {
    width: auto;
  }
}
.article__page .table--icon .link {
  display: inline;
  line-height: 1.6;
  vertical-align: middle;
}
@media screen and (min-width: 769px) {
  .article__page .table--icon .link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    line-height: 1.8;
  }
}
.article__page .table--icon .link::after {
  content: "";
  display: inline-block;
  margin-left: 6px;
  vertical-align: top;
  flex-shrink: 0;
  width: 20px;
  height: 23px;
}
@media screen and (min-width: 769px) {
  .article__page .table--icon .link::after {
    margin-left: 10px;
    width: 24px;
    height: 27px;
  }
}
.article__page .table--icon .link--external::after {
  width: 20px;
  height: 20px;
  background: url("/assets/images/common/icon-external.svg") no-repeat center center/contain;
}
@media screen and (min-width: 769px) {
  .article__page .table--icon .link--external::after {
    width: 22px;
    height: 22px;
  }
}
.article__page .table--icon .link--pdf::after {
  background: url("/assets/images/common/icon-pdf.svg") no-repeat center center/contain;
}
.article__page .table--icon .link--xls::after {
  background: url("/assets/images/common/icon-xls.svg") no-repeat center center/contain;
}
.article__page .table--icon .link--word::after {
  background: url("/assets/images/common/icon-word.svg") no-repeat center center/contain;
}
.article__page .table--icon .link--none::after {
  display: none;
}
.article__page .table--icon a.link {
  text-decoration: underline;
  text-underline-offset: 0.1em;
}
.article__page .article__media--two-column {
  display: flex;
  flex-direction: column;
  gap: 30px;
}
@media screen and (min-width: 769px) {
  .article__page .article__media--two-column {
    flex-direction: row;
  }
}
.article__page .article__media--two-column .article__media-figure {
  display: flex;
  flex-direction: column;
  gap: 7px;
}
@media screen and (min-width: 769px) {
  .article__page .article__media--two-column .article__media-figure {
    width: 41.8181818182%;
    flex-shrink: 0;
    gap: 12px;
  }
}
.article__page .article__media-img {
  aspect-ratio: 460/280;
}
.article__page .article__media-img img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}
@media screen and (min-width: 769px) {
  .article__page .article__media--reverse {
    flex-direction: row-reverse;
  }
}
.article__page .article__media-body {
  display: flex;
  flex-direction: column;
  flex: 1;
}
.article__page .article__media--boxed {
  padding: 20px;
  border: 1px dashed #c6a86b;
}
@media screen and (min-width: 769px) {
  .article__page .article__media--boxed {
    padding: 40px;
  }
}
@media screen and (min-width: 769px) {
  .article__page .article__media--boxed .article__media-figure {
    width: 45.0980392157%;
  }
}
.article__page .article__media .article__title--lv3:not(:first-of-type) {
  /* 2つ目以降 */
  margin-top: 60px;
}
.article__page .article__media .article__text {
  margin-bottom: 20px;
}
.article__page .article__media .article__text-bold {
  font-weight: 700;
}
.article__page .article__media-caption {
  font-size: 1.2rem;
  line-height: 1.7;
}
@media screen and (min-width: 769px) {
  .article__page .article__media-caption {
    font-size: 1.4rem;
  }
}
.article__page .ttl-text-circle-img {
  background: #eaf1fe;
  padding: 20px;
}
@media screen and (min-width: 769px) {
  .article__page .ttl-text-circle-img {
    padding: 40px;
  }
}
@media screen and (min-width: 769px) {
  .article__page .ttl-text-circle-img .article__title--lv3 {
    margin-bottom: 30px;
  }
}
.article__page .ttl-text-circle-img .ttl-text-circle__wrap {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
@media screen and (min-width: 769px) {
  .article__page .ttl-text-circle-img .ttl-text-circle__wrap {
    flex-direction: row;
    gap: 30px;
  }
}
@media screen and (min-width: 769px) {
  .article__page .ttl-text-circle-img .ttl-text-circle__wrap.reverse {
    flex-direction: row-reverse;
  }
}
.article__page .ttl-text-circle-img .ttl-text-circle__img-wrap {
  display: flex;
  flex-direction: column;
  text-align: center;
  align-items: center;
  gap: 10px;
}
.article__page .ttl-text-circle-img .ttl-text-circle__img {
  width: 184px;
  height: 184px;
  border-radius: 50%;
  overflow: hidden;
}
.article__page .ttl-text-circle-img .ttl-text-circle__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.article__page .ttl-text-circle-img .ttl-text-circle__text-sm {
  font-size: 1.4rem;
  line-height: 1.4;
}
.article__page .ttl-text-circle-img .ttl-text-circle__text-lg {
  line-height: 1.4;
}
.article__page .ttl-text-circle-img .ttl-text-circle__text {
  line-height: 1.7;
  display: flex;
  flex-direction: column;
  gap: 20px;
  flex: 1;
}
.article__page .ttl-img-cap-text {
  display: flex;
  flex-direction: column;
  gap: 30px;
}
@media screen and (min-width: 769px) {
  .article__page .ttl-img-cap-text {
    flex-direction: row;
    gap: 40px;
  }
}
.article__page .ttl-img-cap-text__card {
  flex: 1;
}
.article__page .ttl-img-cap-text__image {
  aspect-ratio: 350/198;
}
.article__page .ttl-img-cap-text__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.article__page .ttl-img-cap-text__caption {
  font-size: 1.4rem;
  line-height: 1.7;
  margin-top: 20px;
}
.article__page .ttl-img-cap-text .article__text-block {
  margin-top: 30px;
}
.article__page .ttl-txt-list__2colum {
  padding: 20px;
  border: 1px solid #5575b5;
}
@media screen and (min-width: 769px) {
  .article__page .ttl-txt-list__2colum {
    padding: 40px 40px 30px 40px;
  }
}
.article__page .ttl-txt-list__2colum .ttl-txt-list__list {
  gap: 0;
}
@media screen and (min-width: 769px) {
  .article__page .ttl-txt-list__2colum .ttl-txt-list__list {
    display: block;
    columns: 2;
    column-gap: 30px;
  }
}
.article__page .ttl-txt-list__2colum .ttl-txt-list__item {
  padding-left: 18px;
  line-height: 1.7;
  position: relative;
}
@media screen and (min-width: 769px) {
  .article__page .ttl-txt-list__2colum .ttl-txt-list__item {
    margin-bottom: 10px;
  }
}
.article__page .ttl-txt-list__2colum .ttl-txt-list__item::before {
  position: absolute;
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #5575b5;
  top: 8px;
  left: 0;
}

.post-navigation {
  margin: 0 auto 80px;
  max-width: 960px;
  position: relative;
}
.post-navigation__top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  margin-bottom: 20px;
}
@media screen and (min-width: 769px) {
  .post-navigation__top {
    height: 58px;
    margin-bottom: 0;
  }
}
.post-navigation__item a {
  display: flex;
  align-items: center;
  gap: 16px;
  color: #0b2760;
}
@media screen and (min-width: 769px) {
  .post-navigation__item a {
    font-size: 2rem;
  }
}
.post-navigation__prev a::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 13.5px;
  background: url(/assets/images/common/pager-prev.svg) no-repeat center center/contain;
  translate: 0 0;
  transition: translate 0.3s ease;
}
@media screen and (min-width: 769px) {
  .post-navigation__prev a::before {
    width: 14px;
    height: 27px;
  }
}
@media (any-hover: hover) {
  .post-navigation__prev a:hover::before {
    translate: -0.3rem 0;
  }
}
.post-navigation__prev a:active::before {
  translate: -0.3rem 0;
}
.post-navigation__next a::after {
  content: "";
  display: inline-block;
  width: 7px;
  height: 13.5px;
  background: url(/assets/images/common/pager-next.svg) no-repeat center center/contain;
  translate: 0 0;
  transition: translate 0.3s ease;
}
@media screen and (min-width: 769px) {
  .post-navigation__next a::after {
    width: 14px;
    height: 27px;
  }
}
@media (any-hover: hover) {
  .post-navigation__next a:hover::after {
    translate: 0.3rem 0;
  }
}
.post-navigation__next a:active::after {
  translate: 0.3rem 0;
}
.post-navigation__home {
  margin: 0 auto;
  display: flex;
  gap: 12px;
  justify-content: center;
  align-items: center;
  padding: 8px;
  width: fit-content;
  min-width: 200px;
  color: #0b2760;
  border: 1px solid #0b2760;
  text-align: center;
}
.post-navigation__home img {
  width: 7px;
}
@media screen and (min-width: 769px) {
  .post-navigation__home img {
    width: 9px;
  }
}
@media screen and (min-width: 769px) {
  .post-navigation__home {
    font-size: 2rem;
    gap: 20px;
    padding: 13px;
    min-width: 300px;
  }
}
.post-navigation__home::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 14px;
  background: url(/assets/images/common/icon-nav__home.svg) no-repeat center center/contain;
}
@media screen and (min-width: 769px) {
  .post-navigation__home::before {
    width: 9px;
    height: 18px;
  }
}
.post-navigation {
  /* PC表示 */
}
@media screen and (min-width: 769px) {
  .post-navigation__home-wrapper {
    position: absolute;
    left: 50%;
    transform: translate(-50%, -50%);
    top: 50%;
    width: auto;
  }
  .post-navigation__next {
    margin-left: auto;
  }
}

.subpage-container {
  width: calc(100% - 100px);
  max-width: 1000px;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .subpage-container {
    width: auto;
    max-width: none;
    margin-inline: calc(15 / 390 * 100cqw);
  }
}

.subpage-heading,
.recruit-heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.4rem;
  margin-top: calc(56 / 1440 * 100cqw);
}
.subpage-heading::before,
.recruit-heading::before {
  display: block;
  width: calc(75 / 1440 * 100cqw);
  height: 2px;
  background-color: #21205a;
  content: "";
}
@media screen and (max-width: 768px) {
  .subpage-heading::before,
  .recruit-heading::before {
    height: 1px;
    width: calc(60 / 390 * 100cqw);
  }
}
.subpage-heading h1,
.subpage-heading h2,
.recruit-heading h1,
.recruit-heading h2 {
  font-size: 3.2rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.8;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .subpage-heading,
  .recruit-heading {
    gap: 1.4rem;
    margin-top: 3rem;
  }
  .subpage-heading::before,
  .recruit-heading::before {
    width: calc(60 / 390 * 100cqw);
  }
  .subpage-heading h1,
  .subpage-heading h2,
  .recruit-heading h1,
  .recruit-heading h2 {
    font-size: 2.2rem;
    line-height: 1.9;
  }
}

/* ページネーション
------------------------------------- */
.pagination {
  text-align: center;
  display: flex;
  gap: 30px;
  justify-content: center;
  align-items: center;
  font-size: 2rem;
  padding: 20px 25px;
}
@media screen and (min-width: 769px) {
  .pagination {
    gap: 45px;
  }
}
.pagination .first,
.pagination .last {
  width: 28px;
}
.pagination .prev,
.pagination .next {
  width: 14px;
}

.page-numbers {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  text-decoration: underline;
  text-decoration-thickness: 1px;
}
.page-numbers.current {
  text-decoration: none;
}

.main-content--home .hero {
  position: relative;
  border-bottom-left-radius: calc(44 / 1440 * 100cqw);
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .main-content--home .hero {
    height: auto;
    border-radius: 0;
    aspect-ratio: 16/9;
  }
}
.main-content--home .hero__image {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .main-content--home .hero__image {
    position: absolute;
    inset: -1px;
    width: calc(100% + 2px);
    max-width: none;
    height: calc(100% + 2px);
    object-fit: cover;
  }
}
.main-content--home .hero__scroll {
  position: absolute;
  bottom: calc(40 / 1440 * 100cqw);
  left: calc(160 / 1440 * 100cqw);
  height: calc(120 / 1440 * 100cqw);
  padding-left: 1rem;
  font-size: calc(24 / 1440 * 100cqw);
  line-height: 1;
  writing-mode: vertical-rl;
  font-weight: 700;
}
.js .main-content--home .hero__scroll {
  opacity: 0;
  transform: translateY(-2rem);
  visibility: hidden;
  transition: opacity 0.5s ease, transform 0.5s ease, visibility 0s linear 0.5s;
}
.js .main-content--home .hero__scroll.is-visible {
  opacity: 1;
  transform: translateY(0);
  visibility: visible;
  transition-delay: 0s;
}
.main-content--home .hero__scroll::before {
  --hero-scroll-arrow-rotation: 0deg;
  position: absolute;
  top: 0;
  left: 0;
  width: 2px;
  height: 100%;
  background: #2d2d2d;
  content: "";
  animation: hero-scroll-arrow 1.6s ease-in-out infinite;
}
.main-content--home .hero__scroll::after {
  --hero-scroll-arrow-rotation: 45deg;
  position: absolute;
  bottom: 1px;
  left: -5px;
  width: 12px;
  height: 12px;
  border-right: 2px solid #2d2d2d;
  border-bottom: 2px solid #2d2d2d;
  content: "";
  animation: hero-scroll-arrow 1.6s ease-in-out infinite;
}
@media screen and (max-width: 768px) {
  .main-content--home .hero__scroll {
    bottom: calc(19 / 390 * 100cqw);
    left: calc(20 / 390 * 100cqw);
    height: calc(80 / 390 * 100cqw);
    padding-left: 0.8rem;
    font-size: 1.3rem;
    font-weight: 400;
  }
}
@media (prefers-reduced-motion: reduce) {
  .js .main-content--home .hero__scroll {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
    transition: none;
  }
  .main-content--home .hero__scroll::before, .main-content--home .hero__scroll::after {
    animation: none;
  }
}
@keyframes hero-scroll-arrow {
  0%, 100% {
    transform: translateY(0) rotate(var(--hero-scroll-arrow-rotation));
  }
  50% {
    transform: translateY(0.6rem) rotate(var(--hero-scroll-arrow-rotation));
  }
}
.main-content--home .hero__stop {
  --hero-stop-y: 0;
  position: absolute;
  top: calc(307 / 1440 * 100cqw);
  right: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: calc(6 / 1440 * 100cqw);
  background: #fff;
  font-size: calc(16 / 1440 * 100cqw);
  font-weight: 700;
  border-radius: 20px 0 0 20px;
  padding: 20px 16px;
  line-height: 1;
}
.js .main-content--home .hero__stop {
  opacity: 0;
  pointer-events: none;
  transform: translate(100%, var(--hero-stop-y));
  visibility: hidden;
  transition: opacity 0.6s ease, transform 0.6s ease, visibility 0s linear 0.6s;
}
.js .main-content--home .hero__stop.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translate(0, var(--hero-stop-y));
  visibility: visible;
  transition-delay: 0s;
}
.main-content--home .hero__stop span {
  writing-mode: vertical-rl;
  letter-spacing: 0.12em;
}
.main-content--home .hero__stop.is-paused {
  color: #fff;
  background-color: #000;
}
@media screen and (max-width: 768px) {
  .main-content--home .hero__stop {
    --hero-stop-y: -50%;
    top: 50%;
    gap: 0.6rem;
    padding: 20px 10px;
    font-size: 1.3rem;
  }
  .main-content--home .hero__stop span {
    letter-spacing: 0.1em;
  }
}
@media (prefers-reduced-motion: reduce) {
  .js .main-content--home .hero__stop {
    opacity: 1;
    pointer-events: auto;
    transform: translate(0, var(--hero-stop-y));
    visibility: visible;
    transition: none;
  }
}
.main-content--home .hero__stop-icon {
  width: calc(10 / 1440 * 100cqw);
  height: calc(14 / 1440 * 100cqw);
  display: flex;
  justify-content: center;
  align-items: center;
  object-fit: contain;
}
@media screen and (max-width: 768px) {
  .main-content--home .hero__stop-icon {
    width: 10px;
    height: 14px;
  }
}
.main-content--home .hero-contact {
  display: none;
}
@media screen and (max-width: 768px) {
  .main-content--home .hero-contact {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: calc(16 / 390 * 100cqw) calc(10 / 390 * 100cqw);
    background: #21205a;
  }
}
.main-content--home .hero-contact__button {
  position: relative;
  display: flex;
  width: calc(210 / 390 * 100cqw);
  height: calc(40 / 390 * 100cqw);
  align-items: center;
  justify-content: center;
  border: 3px solid #ffffff;
  border-radius: 999px;
  background: #ffffff;
  color: #21205a;
  font-family: "Inter", sans-serif;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.02em;
  transform: translateX(calc(5 / 390 * 100cqw));
  transition: all 0.3s ease;
}
.main-content--home .hero-contact__button:hover, .main-content--home .hero-contact__button:active {
  border-color: #c6a86b;
  opacity: 1;
}
.main-content--home .hero-contact__button:hover .hero-contact__arrow, .main-content--home .hero-contact__button:active .hero-contact__arrow {
  translate: 0.3rem 0;
}
.main-content--home .hero-contact__arrow {
  position: absolute;
  top: 50%;
  right: calc(20 / 390 * 100cqw);
  width: calc(11 / 390 * 100cqw);
  height: 1.3px;
  border-radius: 999px;
  background: currentColor;
  transform: translateY(-50%);
  translate: 0 0;
  transition: translate 0.3s ease;
}
.main-content--home .hero-contact__arrow::before, .main-content--home .hero-contact__arrow::after {
  position: absolute;
  top: 50%;
  right: 0;
  width: calc(6 / 390 * 100cqw);
  height: 1.3px;
  border-radius: 999px;
  background: currentColor;
  content: "";
  transform-origin: calc(100% - 0.65px) center;
}
.main-content--home .hero-contact__arrow::before {
  transform: translateY(-50%) rotate(45deg);
}
.main-content--home .hero-contact__arrow::after {
  transform: translateY(-50%) rotate(-45deg);
}
.main-content--home .categories {
  background-color: #ededed;
  padding-bottom: 4rem;
}
@media screen and (max-width: 768px) {
  .main-content--home .categories {
    padding-bottom: 0;
    background-color: #fff;
  }
}
.main-content--home .categories__inner {
  display: grid;
  grid-template-columns: repeat(4, 19.4444444444vw);
  justify-content: space-between;
  padding: calc(29 / 1440 * 100cqw) calc(40 / 1440 * 100cqw) 0;
}
@media screen and (min-width: 769px) and (max-width: 1100px) {
  .main-content--home .categories__inner {
    max-width: 70rem;
    margin: 0 auto;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .main-content--home .categories__inner {
    grid-template-columns: repeat(2, 1fr);
    gap: calc(5 / 390 * 100cqw) 0;
    padding: 0;
  }
}
.main-content--home .school-guide {
  display: contents;
}
@media screen and (max-width: 768px) {
  .main-content--home .school-guide {
    display: flex;
    flex-direction: column;
  }
  .main-content--home .school-guide .categories {
    order: -1;
  }
}
.main-content--home .category-card {
  position: relative;
  display: block;
}
.main-content--home .category-card img {
  width: 100%;
  transition: all 0.3s ease;
}
.main-content--home .category-card__button {
  margin: 0 auto;
  transform: translateY(-50%);
}
.main-content--home .category-card:hover, .main-content--home .category-card:active {
  opacity: 1;
}
.main-content--home .category-card:hover img, .main-content--home .category-card:active img {
  opacity: 1;
}
.main-content--home .message {
  position: relative;
  margin-top: calc(183 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .main-content--home .message {
    display: flex;
    min-height: 0;
    flex-direction: column;
    margin-top: calc(42 / 390 * 100cqw);
  }
}
.main-content--home .message__photos {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  isolation: isolate;
  background: #ededed;
}
.main-content--home .message__photos::before {
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  width: 100%;
  aspect-ratio: 1281/189;
  background: #fff url("../images/home/message-background.svg") top center/100% 100% no-repeat;
  content: "";
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .main-content--home .message__photos {
    order: 2;
    margin-top: 0;
    padding-bottom: calc(30 / 390 * 100cqw);
    background: #ededed;
  }
  .main-content--home .message__photos::before {
    content: none;
  }
}
.main-content--home .message__photo {
  position: relative;
  z-index: 1;
  width: 32.6388888889vw;
  flex-shrink: 0;
  overflow: hidden;
  aspect-ratio: 470/300;
}
.main-content--home .message__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.main-content--home .message__photo--left {
  border-top-right-radius: calc(43 / 1440 * 100cqw);
}
.main-content--home .message__photo--right {
  border-bottom-left-radius: calc(43 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .main-content--home .message__photo {
    width: 50%;
    overflow: hidden;
    aspect-ratio: auto;
  }
  .main-content--home .message__photo img {
    height: calc(125 / 390 * 100cqw);
  }
  .main-content--home .message__photo--left {
    border-radius: 0;
  }
  .main-content--home .message__photo--right {
    border-radius: 0;
  }
}
.main-content--home .message__inner {
  display: flex;
  width: 100%;
  flex: none;
  flex-direction: column;
  align-items: center;
  margin-top: -1px;
  background-color: #ededed;
  padding: calc(148 / 1440 * 100cqw) 2.5641025641cqw 0;
}
@media screen and (min-width: 1441px) {
  .main-content--home .message__inner {
    padding-top: calc(15rem - 20.8333333333vw + 300 / 1440 * 100cqw);
  }
}
.main-content--home .message__inner h2 {
  position: absolute;
  top: calc(73 / 1440 * 100cqw);
  left: 50%;
  z-index: 2;
  transform: translateX(-50%);
}
.main-content--home .message__inner h2 img {
  width: calc(180 / 1440 * 100cqw);
}
.main-content--home .message__inner p {
  margin-top: 2rem;
  font-size: 2rem;
  font-weight: 700;
  line-height: 2.2;
  text-align: center;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 768px) {
  .main-content--home .message__inner {
    position: relative;
    width: 100%;
    flex: none;
    isolation: isolate;
    margin-top: 0;
    padding-top: 0;
    padding-inline: calc(10 / 390 * 100cqw);
  }
  .main-content--home .message__inner::before {
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    width: 100%;
    height: calc(74 / 390 * 100cqw);
    background: #fff url("../images/home/message-background-sp.svg") top center/100% 100% no-repeat;
    content: "";
    pointer-events: none;
  }
  .main-content--home .message__inner h2 {
    position: relative;
    top: auto;
    left: auto;
    z-index: 1;
    transform: none;
  }
  .main-content--home .message__inner h2 img {
    width: calc(80 / 390 * 100cqw);
  }
  .main-content--home .message__inner p {
    margin: 2rem 0 3rem;
    font-size: 1.6rem;
  }
}
.main-content--home .message__emblem {
  position: absolute;
  top: -6.3rem;
  left: 50%;
  z-index: 2;
  width: calc(180 / 1440 * 100cqw);
  object-fit: contain;
  transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .main-content--home .message__emblem {
    position: relative;
    top: auto;
    left: auto;
    z-index: 1;
    width: calc(120 / 390 * 100cqw);
    height: auto;
    margin-bottom: calc(8 / 390 * 100cqw);
    background: none;
    transform: none;
  }
}
.main-content--home .message__line {
  width: 2px;
  height: calc(43 / 1440 * 100cqw);
  border-radius: 999px;
  background: #2d2d2d;
}
@media screen and (max-width: 768px) {
  .main-content--home .message__line {
    height: calc(30 / 390 * 100cqw);
    margin-top: calc(7 / 390 * 100cqw);
  }
}
.main-content--home .gallery {
  position: relative;
  isolation: isolate;
  padding-bottom: calc(100 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .main-content--home .gallery {
    padding-bottom: calc(40 / 390 * 100cqw);
  }
}
.main-content--home .gallery::before {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  aspect-ratio: 1280/190;
  background: #ededed url("../images/home/gallery-background.svg") top center/100% 100% no-repeat;
  content: "";
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .main-content--home .gallery::before {
    background-image: url("../images/home/gallery-background-sp.svg");
  }
}
.main-content--home .gallery__heading {
  text-align: center;
}
.main-content--home .gallery__heading h2 {
  font-family: "Inter", sans-serif;
  color: #21205a;
  font-size: 4.8rem;
  font-weight: 700;
  line-height: 1.8;
  padding-top: calc(36 / 1440 * 100cqw);
}
.main-content--home .gallery__heading p {
  font-size: 2rem;
  line-height: 1.8;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 768px) {
  .main-content--home .gallery__heading h2 {
    padding-top: calc(38 / 390 * 100cqw);
    font-size: 3.6rem;
    line-height: 1.8;
  }
  .main-content--home .gallery__heading p {
    font-size: 1.6rem;
    line-height: 1.8;
  }
}
.main-content--home .gallery__viewport {
  margin-top: calc(59 / 1440 * 100cqw);
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .main-content--home .gallery__viewport {
    margin-top: calc(33 / 390 * 100cqw);
  }
}
.main-content--home .gallery__rows {
  display: flex;
  flex-direction: column;
  gap: calc(30 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .main-content--home .gallery__rows {
    gap: 1.8rem;
  }
}
.main-content--home .gallery__track {
  display: flex;
  width: max-content;
  gap: calc(30 / 1440 * 100cqw);
  will-change: transform;
}
@media (prefers-reduced-motion: reduce) {
  .main-content--home .gallery__track {
    transform: none !important;
    will-change: auto;
  }
}
@media screen and (max-width: 768px) {
  .main-content--home .gallery__track {
    gap: 1.8rem;
  }
}
.main-content--home .gallery-card {
  position: relative;
  display: block;
  width: calc(360 / 1440 * 100cqw);
  height: calc(240 / 1440 * 100cqw);
  flex: 0 0 auto;
  overflow: hidden;
  border-top-right-radius: calc(40 / 1440 * 100cqw);
  border-bottom-left-radius: calc(40 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .main-content--home .gallery-card {
    width: 21.6rem;
    height: 14.4rem;
    border-top-right-radius: 2.4rem;
    border-bottom-left-radius: 2.4rem;
  }
}
.main-content--home .gallery-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.main-content--home .social-band {
  display: flex;
  height: calc(240 / 1440 * 100cqw);
  justify-content: center;
  gap: calc(36 / 1440 * 100cqw);
  background: #ededed;
  padding: calc(27.5 / 1440 * 100cqw) calc(20 / 1440 * 100cqw) calc(37.5 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .main-content--home .social-band {
    height: calc(133 / 390 * 100cqw);
    gap: calc(10 / 390 * 100cqw);
    padding: calc(16 / 390 * 100cqw) calc(18.5 / 390 * 100cqw) calc(24 / 390 * 100cqw);
  }
}
.main-content--home .social-band__dog {
  width: calc(176 / 1440 * 100cqw);
  height: calc(175 / 1440 * 100cqw);
  object-fit: contain;
}
@media screen and (max-width: 768px) {
  .main-content--home .social-band__dog {
    width: calc(60 / 390 * 100cqw);
    height: auto;
  }
}
.main-content--home .social-band__flower {
  width: calc(176 / 1440 * 100cqw);
  object-fit: contain;
}
@media screen and (max-width: 768px) {
  .main-content--home .social-band__flower {
    width: calc(60 / 390 * 100cqw);
    height: auto;
  }
}
.main-content--home .social-band__center {
  display: flex;
  margin-top: calc(14 / 1440 * 100cqw);
  flex-direction: column;
  gap: calc(33 / 1440 * 100cqw);
  text-align: center;
}
.main-content--home .social-band__center h2 {
  font-size: 2rem;
  line-height: 1.8;
  white-space: nowrap;
}
.main-content--home .social-band__center > div {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(45 / 1440 * 100cqw);
}
.main-content--home .social-band__center a {
  display: grid;
  width: calc(64 / 1440 * 100cqw);
  height: calc(64 / 1440 * 100cqw);
  place-items: center;
  border-radius: 50%;
}
.main-content--home .social-band__center img {
  width: calc(53 / 1440 * 100cqw);
  height: calc(53 / 1440 * 100cqw);
  object-fit: contain;
}
.main-content--home .social-band__center a:nth-child(2) img {
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 768px) {
  .main-content--home .social-band__center {
    width: calc(214 / 390 * 100cqw);
    gap: calc(7 / 390 * 100cqw);
    margin-top: 0;
  }
  .main-content--home .social-band__center h2 {
    font-size: 1.6rem;
  }
  .main-content--home .social-band__center > div {
    gap: calc(20 / 390 * 100cqw);
  }
  .main-content--home .social-band__center a {
    width: calc(58 / 390 * 100cqw);
    height: calc(58 / 390 * 100cqw);
  }
  .main-content--home .social-band__center a:nth-child(2) {
    width: calc(41 / 390 * 100cqw);
    height: calc(41 / 390 * 100cqw);
  }
  .main-content--home .social-band__center img {
    width: calc(35 / 390 * 100cqw);
    height: auto;
  }
  .main-content--home .social-band__center a:nth-child(2) img {
    width: 100%;
    height: 100%;
  }
}
.main-content--home .blog {
  position: relative;
  display: grid;
  width: 100%;
  max-width: 1280px;
  grid-template-columns: repeat(auto-fill, 28.5rem);
  grid-auto-rows: 1fr;
  gap: 4rem 2.4rem;
  padding: 7.2rem 3.3rem 2.5rem 3.5rem;
  margin-top: 10rem;
  margin-inline: auto;
}
@media screen and (min-width: 1441px) {
  .main-content--home .blog {
    max-width: none;
    overflow: hidden;
  }
}
@media screen and (min-width: 769px) and (max-width: 1100px) {
  .main-content--home .blog {
    row-gap: 3.7rem;
  }
}
@media screen and (max-width: 768px) {
  .main-content--home .blog {
    min-height: 0;
    grid-template-columns: repeat(2, calc(164 / 390 * 100cqw));
    gap: calc(24 / 390 * 100cqw) calc(27 / 390 * 100cqw);
    padding: calc(34 / 390 * 100cqw) calc(14 / 390 * 100cqw) calc(9 / 390 * 100cqw);
    margin-top: calc(37 / 390 * 100cqw);
  }
}
.main-content--home .blog__heading {
  position: relative;
  align-self: stretch;
  width: 29rem;
  height: 46rem;
  margin-top: -7.2rem;
  margin-left: -3.5rem;
  padding: 10rem 4.6rem 0;
  border-top-right-radius: 3.6rem;
  background: #21205a;
  color: #fff;
}
.main-content--home .blog__heading h2 {
  font-size: 5rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: -0.02em;
}
.main-content--home .blog__heading p {
  margin-top: 0.7rem;
  font-size: 2rem;
  line-height: 1.6;
  letter-spacing: -0.02em;
}
.main-content--home .blog__heading > a {
  width: 100%;
  position: relative;
  display: block;
  text-align: center;
  margin: 2.8rem auto 0;
  border: 3px solid #fff;
  border-radius: 999px;
  background: #fff;
  color: #21205a;
  font-size: 2rem;
  line-height: 1.3;
  letter-spacing: -0.02em;
  font-weight: 700;
  padding: 0.85rem;
  transition: all 0.3s ease;
}
.main-content--home .blog__heading > a:hover, .main-content--home .blog__heading > a:active {
  border-color: #c23642;
  background-color: #fff;
  color: #21205a;
  opacity: 1;
}
.main-content--home .blog__heading > a:hover .blog__arrow, .main-content--home .blog__heading > a:active .blog__arrow {
  translate: 0.3rem 0;
}
@media screen and (min-width: 769px) and (max-width: 1100px) {
  .main-content--home .blog__heading {
    height: calc(100% + 7.2rem);
  }
  .main-content--home .blog__heading h2 {
    font-size: 3.2rem;
  }
  .main-content--home .blog__heading p {
    font-size: 1.5rem;
  }
  .main-content--home .blog__heading > a {
    margin: 2.8rem 0 0;
    width: 14rem;
    font-size: 1.4rem;
    text-align: left;
    padding: 0.7rem 2.7rem;
  }
}
@media screen and (max-width: 768px) {
  .main-content--home .blog__heading {
    width: calc(185 / 390 * 100cqw);
    height: calc(100% + calc(34 / 390 * 100cqw));
    margin-top: calc(-34 / 390 * 100cqw);
    margin-left: calc(-14 / 390 * 100cqw);
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 2rem 2rem 2rem calc(26 / 390 * 100cqw);
    border-top-right-radius: calc(24 / 390 * 100cqw);
    text-align: left;
  }
  .main-content--home .blog__heading h2 {
    font-size: 3.2rem;
  }
  .main-content--home .blog__heading p {
    margin-top: 0.4rem;
    font-size: 1.5rem;
  }
  .main-content--home .blog__heading > a {
    width: 13.3rem;
    margin: calc(18 / 390 * 100cqw) 0 0;
    font-size: 1.4rem;
    text-align: left;
    padding: 0.7rem 2.7rem;
  }
}
.main-content--home .blog__arrow {
  position: absolute;
  top: 50%;
  right: 2rem;
  width: 1.6rem;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  transform: translateY(-50%);
  translate: 0 0;
  transition: translate 0.3s ease;
}
.main-content--home .blog__arrow::before, .main-content--home .blog__arrow::after {
  position: absolute;
  top: 50%;
  right: 0;
  width: 1rem;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  content: "";
  transform-origin: calc(100% - 1px) center;
}
.main-content--home .blog__arrow::before {
  transform: translateY(-50%) rotate(45deg);
}
.main-content--home .blog__arrow::after {
  transform: translateY(-50%) rotate(-45deg);
}
@media screen and (max-width: 768px) {
  .main-content--home .blog__arrow {
    right: 2rem;
    width: 1.1rem;
  }
  .main-content--home .blog__arrow::before, .main-content--home .blog__arrow::after {
    width: 0.7rem;
    transform-origin: calc(100% - 0.7px) center;
  }
}
.main-content--home .blog__grid {
  display: contents;
}
.main-content--home .blog__grid > .blog-card:first-child {
  grid-column: 2;
}
@media screen and (max-width: 768px) {
  .main-content--home .blog__grid > .blog-card:first-child {
    grid-column: 2;
  }
}
.main-content--home .blog-card {
  height: 100%;
}
.main-content--home .blog-card a {
  position: relative;
  display: flex;
  height: 100%;
  flex-direction: column;
}
.main-content--home .blog-card time {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  gap: 0.8rem;
  color: #707070;
  font-size: 1.6rem;
  line-height: 1.4;
  letter-spacing: 0.02em;
  writing-mode: vertical-rl;
  font-family: "Inter", sans-serif;
}
@media screen and (max-width: 768px) {
  .main-content--home .blog-card time {
    gap: 0.7rem;
    font-size: 1.2rem;
    line-height: 1;
    letter-spacing: 0.02em;
  }
}
.main-content--home .blog-card img {
  flex-shrink: 0;
  width: 25rem;
  height: 21rem;
  margin-left: 3.5rem;
  border-top-right-radius: 3.6rem;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .main-content--home .blog-card img {
    width: calc(150 / 390 * 100cqw);
    height: calc(125 / 390 * 100cqw);
    margin-left: calc(19 / 390 * 100cqw);
    border-top-right-radius: calc(22 / 390 * 100cqw);
  }
}
.main-content--home .blog-card div {
  position: relative;
  left: 0;
  flex: 1;
  width: 26rem;
  min-height: 25rem;
  margin-top: -5.5rem;
  padding: 2.4rem 2rem;
  border: 1px solid #21205a;
  border-bottom-left-radius: 3.6rem;
  background: #fbfbfb;
}
@media screen and (max-width: 768px) {
  .main-content--home .blog-card div {
    width: calc(154 / 390 * 100cqw);
    margin-top: calc(-19 / 390 * 100cqw);
    padding: calc(9 / 390 * 100cqw) calc(12 / 390 * 100cqw);
    border-bottom-left-radius: calc(22 / 390 * 100cqw);
  }
}
.main-content--home .blog-card__title {
  display: -webkit-box;
  overflow: hidden;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: -0.02em;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
@media screen and (max-width: 768px) {
  .main-content--home .blog-card__title {
    font-size: 1.5rem;
    -webkit-line-clamp: 3;
  }
}
.main-content--home .blog-card__excerpt {
  display: -webkit-box;
  overflow: hidden;
  margin-top: 0.9rem;
  font-size: 1.8rem;
  line-height: 1.6;
  letter-spacing: -0.02em;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
@media screen and (max-width: 768px) {
  .main-content--home .blog-card__excerpt {
    font-size: 1.5rem;
    margin-top: 0.6rem;
    -webkit-line-clamp: 4;
  }
}
.main-content--home .blog-card__category {
  display: flex;
  gap: 0.7rem;
  margin-top: 0.9rem;
  font-size: 1.6rem;
  line-height: 1.6;
}
.main-content--home .blog-card__category::before {
  content: "・";
}
@media screen and (max-width: 768px) {
  .main-content--home .blog-card__category::before {
    margin-inline: -0.25em;
  }
}
@media screen and (max-width: 768px) {
  .main-content--home .blog-card__category {
    font-size: 1.1rem;
    margin-top: 0.7rem;
    gap: 0;
    white-space: nowrap;
  }
}

.main-content--about .about-tab-panel[hidden] {
  display: none;
}
.main-content--about #message .director-message__content {
  display: grid;
  min-height: calc(982 / 1440 * 100cqw);
  margin-top: calc(100 / 1440 * 100cqw);
  grid-template-areas: "lead portrait" "body portrait";
  grid-template-columns: minmax(0, 56.8%) minmax(0, 40%);
  grid-template-rows: auto 1fr;
  column-gap: 3.2%;
}
@media screen and (max-width: 768px) {
  .main-content--about #message .director-message__content {
    min-height: 0;
    margin-top: 2rem;
    grid-template-areas: "portrait" "lead" "body";
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    row-gap: 2rem;
  }
}
.main-content--about #message .director-message__lead {
  grid-area: lead;
  font-size: 2.6rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.8;
}
@media (min-width: 769px) and (max-width: 1200px) {
  .main-content--about #message .director-message__lead {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 768px) {
  .main-content--about #message .director-message__lead {
    min-width: 0;
    font-size: 1.9rem;
    line-height: 1.9;
  }
}
.main-content--about #message .director-message__body {
  display: flex;
  flex-direction: column;
  grid-area: body;
  gap: 1.9em;
  margin-top: 4rem;
  font-size: 1.6rem;
  letter-spacing: -0.02em;
  line-height: 1.8;
}
.main-content--about #message .director-message__body strong {
  font-weight: 700;
}
@media (min-width: 769px) and (max-width: 1200px) {
  .main-content--about #message .director-message__body br {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .main-content--about #message .director-message__body {
    min-width: 0;
    gap: 1.9em;
    margin-top: 0;
    font-size: 1.3rem;
    line-height: 1.9;
  }
  .main-content--about #message .director-message__body br {
    display: none;
  }
}
.main-content--about #message .director-message__portrait {
  position: sticky;
  top: 2rem;
  align-self: start;
  width: 100%;
  height: auto;
  aspect-ratio: 400/682;
  grid-area: portrait;
}
@media screen and (max-width: 768px) {
  .main-content--about #message .director-message__portrait {
    position: relative;
    top: auto;
    width: 100%;
    max-width: 40rem;
    min-width: 0;
    aspect-ratio: 400/600;
    margin: 0 auto;
    overflow: hidden;
    border-radius: 0 calc(23 / 390 * 100cqw) 0 0;
  }
}
.main-content--about #message .director-message__photo {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .main-content--about #message .director-message__photo {
    height: 100%;
    object-fit: cover;
    object-position: center;
  }
}
.main-content--about #message .director-message__picture {
  display: block;
  width: 100%;
  height: 100%;
}
.main-content--about #message .director-message__dog {
  position: absolute;
  right: calc(20 / 1440 * 100cqw);
  bottom: 0;
  width: calc(200 / 1440 * 100cqw);
  height: calc(128 / 1440 * 100cqw);
  object-fit: contain;
}
@media screen and (max-width: 768px) {
  .main-content--about #message .director-message__dog {
    display: none;
  }
}
.main-content--about #message .director-profile {
  margin-top: calc(100 / 1440 * 100cqw);
  padding: calc(32 / 1440 * 100cqw);
  background: #ededed;
  font-size: 1.6rem;
  letter-spacing: -0.02em;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .main-content--about #message .director-profile {
    margin-top: 8rem;
    padding: 2.2rem calc(22 / 390 * 100cqw) 2.6rem;
    border-radius: 0 calc(23 / 390 * 100cqw) 0 calc(23 / 390 * 100cqw);
    font-size: 1.3rem;
    line-height: 1.9;
  }
}
.main-content--about #message .director-profile__summary {
  display: grid;
  background: #ffffff;
  grid-template-columns: repeat(2, minmax(0, 48.1%));
  justify-content: space-between;
}
@media (min-width: 769px) and (max-width: 1100px) {
  .main-content--about #message .director-profile__summary {
    display: flex;
    flex-direction: column;
  }
}
@media screen and (max-width: 768px) {
  .main-content--about #message .director-profile__summary {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
    padding: 2rem calc(20 / 390 * 100cqw);
  }
}
.main-content--about #message .director-profile__details {
  padding: calc(32 / 1440 * 100cqw);
}
.main-content--about #message .director-profile__details h3 {
  margin-bottom: 2.4rem;
  font-size: 2.2rem;
  font-weight: 700;
}
.main-content--about #message .director-profile__details strong {
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .main-content--about #message .director-profile__details {
    min-width: 0;
    padding: 0;
    overflow-wrap: anywhere;
  }
  .main-content--about #message .director-profile__details h3 {
    margin-bottom: 1.2rem;
    font-size: 1.7rem;
    line-height: 1.9;
  }
}
.main-content--about #message .director-profile__photo img {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .main-content--about #message .director-profile__photo img {
    height: 100%;
    object-fit: cover;
  }
}
@media screen and (max-width: 768px) {
  .main-content--about #message .director-profile__photo {
    height: calc(180 / 390 * 100cqw);
    overflow: hidden;
    order: -1;
  }
}
.main-content--about #message .director-profile__biography {
  display: flex;
  flex-direction: column;
  gap: 1.9em;
  margin-top: calc(32 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .main-content--about #message .director-profile__biography {
    min-width: 0;
    gap: 1.9em;
    margin-top: 1.6rem;
  }
  .main-content--about #message .director-profile__biography br {
    display: none;
  }
}
.main-content--about #kindergartens .founding-story {
  display: grid;
  margin-top: calc(100 / 1440 * 100cqw);
  grid-template-columns: minmax(0, 65%) minmax(0, 31%);
  column-gap: 4%;
}
@media screen and (max-width: 768px) {
  .main-content--about #kindergartens .founding-story {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
    margin-top: 2.4rem;
  }
}
.main-content--about #kindergartens .founding-story__content {
  min-width: 0;
}
@media screen and (max-width: 768px) {
  .main-content--about #kindergartens .founding-story__content {
    display: contents;
  }
}
.main-content--about #kindergartens .founding-story__content h3 {
  margin-bottom: 2.5rem;
  font-size: 2.6rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .main-content--about #kindergartens .founding-story__content h3 {
    margin-bottom: 2.4rem;
    font-size: 2rem;
    line-height: 1.9;
    order: 1;
  }
}
.main-content--about #kindergartens .founding-story__body {
  font-size: 1.6rem;
  letter-spacing: -0.02em;
  line-height: 1.8;
}
.main-content--about #kindergartens .founding-story__body strong {
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .main-content--about #kindergartens .founding-story__body {
    width: 100%;
    margin-bottom: 2.4rem;
    font-size: 1.4rem;
    line-height: 1.9;
    order: 2;
  }
}
.main-content--about #kindergartens .founding-story__portrait {
  width: 100%;
  overflow: hidden;
  border-radius: 0 calc(40 / 1440 * 100cqw) 0 0;
}
.main-content--about #kindergartens .founding-story__portrait img {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .main-content--about #kindergartens .founding-story__portrait {
    width: 18rem;
    height: auto;
    aspect-ratio: auto;
    margin: 0 auto 2.4rem;
    border-radius: 0 calc(14.768 / 390 * 100cqw) 0 0;
    order: 3;
  }
}
.main-content--about #kindergartens .founding-story__quote {
  width: 100%;
  margin-top: 2.8rem;
  padding: calc(32 / 1440 * 100cqw);
  border-radius: 0 0 0 calc(40 / 1440 * 100cqw);
  background: #ededed;
  font-size: 1.6rem;
  letter-spacing: -0.02em;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .main-content--about #kindergartens .founding-story__quote {
    margin-top: 0;
    padding: 2.2rem calc(22 / 390 * 100cqw) 2.4rem;
    border-radius: 0 0 0 calc(23 / 390 * 100cqw);
    font-size: 1.3rem;
    line-height: 1.9;
    order: 4;
  }
}
.main-content--about #kindergartens .founding-story__quote-source {
  margin-top: 1.5rem;
  font-size: 1.4rem;
  text-align: right;
  font-weight: 600;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 768px) {
  .main-content--about #kindergartens .founding-story__quote-source {
    margin-top: 1.5rem;
    font-size: 1.2rem;
  }
}
.main-content--about #kindergartens .school-history {
  margin-top: calc(100 / 1440 * 100cqw);
}
.main-content--about #kindergartens .school-history > h3 {
  font-size: 2.6rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .main-content--about #kindergartens .school-history > h3 {
    font-size: 2rem;
    line-height: 1.9;
  }
}
@media screen and (max-width: 768px) {
  .main-content--about #kindergartens .school-history {
    margin-top: 11.1rem;
  }
}
.main-content--about #kindergartens .school-history__content {
  display: grid;
  margin-top: 3.2rem;
  grid-template-columns: minmax(0, 65%) minmax(0, 31%);
  column-gap: 4%;
  align-items: start;
}
@media screen and (max-width: 768px) {
  .main-content--about #kindergartens .school-history__content {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
    margin-top: 2.4rem;
  }
}
.main-content--about #kindergartens .school-history__list {
  width: 100%;
  font-size: 1.6rem;
  letter-spacing: -0.02em;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .main-content--about #kindergartens .school-history__list {
    font-size: 1.3rem;
    line-height: 1.9;
  }
}
.main-content--about #kindergartens .school-history__item {
  display: grid;
  align-items: start;
  padding-block: calc(18 / 1440 * 100cqw);
  border-bottom: 1px solid #e7e7e7;
  grid-template-columns: calc(110 / 1440 * 100cqw) minmax(0, 1fr);
  gap: calc(32 / 1440 * 100cqw);
}
.main-content--about #kindergartens .school-history__item:last-child {
  border-bottom: 0;
}
.main-content--about #kindergartens .school-history__item dt {
  color: #21205a;
  font-weight: 700;
}
.main-content--about #kindergartens .school-history__item dd {
  display: flex;
  gap: 1em;
}
@media screen and (max-width: 768px) {
  .main-content--about #kindergartens .school-history__item {
    min-height: 0;
    padding: 1.4rem 0;
    border-bottom: 1px solid #e7e7e7;
    background: transparent;
    grid-template-columns: calc(72 / 390 * 100cqw) minmax(0, 1fr);
    gap: calc(12 / 390 * 100cqw);
  }
  .main-content--about #kindergartens .school-history__item:last-child {
    border-bottom: 0;
  }
  .main-content--about #kindergartens .school-history__item:nth-child(even) {
    background: transparent;
  }
  .main-content--about #kindergartens .school-history__item dt {
    color: #21205a;
    font-weight: 600;
  }
}
.main-content--about #kindergartens .school-history__month {
  flex-shrink: 0;
}
.main-content--about #kindergartens .school-history__photo {
  display: flex;
  width: 100%;
  height: auto;
  flex-direction: column;
  overflow: hidden;
  border-radius: 0 0 0 calc(40 / 1440 * 100cqw);
}
.main-content--about #kindergartens .school-history__photo img {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 768px) {
  .main-content--about #kindergartens .school-history__photo img {
    height: 100%;
    object-fit: cover;
  }
}
@media screen and (max-width: 768px) {
  .main-content--about #kindergartens .school-history__photo img:not(:first-child) {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .main-content--about #kindergartens .school-history__photo {
    width: 100%;
    height: calc(260 / 390 * 100cqw);
    margin-inline: auto;
    border: 0;
    border-radius: 0 0 0 calc(23 / 390 * 100cqw);
  }
}
.main-content--about #kindergartens .kindergarten-guide {
  margin-top: calc(100 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .main-content--about #kindergartens .kindergarten-guide {
    margin-top: 11.1rem;
  }
}
.main-content--about #kindergartens .kindergarten-guide__heading {
  display: flex;
  align-items: center;
  gap: calc(14 / 1440 * 100cqw);
  font-size: 2.6rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.8;
}
.main-content--about #kindergartens .kindergarten-guide__heading::before {
  width: calc(24 / 1440 * 100cqw);
  height: 2px;
  flex-shrink: 0;
  background: #c6a86b;
  content: "";
}
@media screen and (max-width: 768px) {
  .main-content--about #kindergartens .kindergarten-guide__heading {
    gap: calc(10 / 390 * 100cqw);
    font-size: 2rem;
    line-height: 1.9;
  }
  .main-content--about #kindergartens .kindergarten-guide__heading::before {
    width: calc(20 / 390 * 100cqw);
  }
}
.main-content--about #kindergartens .kindergarten-guide__content {
  display: grid;
  margin-top: calc(32 / 1440 * 100cqw);
  grid-template-columns: minmax(0, 58%) minmax(0, 38%);
  gap: 4%;
  align-items: start;
}
@media screen and (max-width: 768px) {
  .main-content--about #kindergartens .kindergarten-guide__content {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    margin-top: 2.2rem;
  }
}
.main-content--about #kindergartens .kindergarten-guide--kusunoki .kindergarten-guide__content {
  grid-template-columns: minmax(0, 38%) minmax(0, 58%);
}
@media screen and (max-width: 768px) {
  .main-content--about #kindergartens .kindergarten-guide--kusunoki .kindergarten-guide__content {
    display: flex;
  }
  .main-content--about #kindergartens .kindergarten-guide--kusunoki .kindergarten-guide__content .kindergarten-gallery {
    order: -1;
  }
}
.main-content--about #kindergartens .kindergarten-guide__text {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: 2.1rem;
  font-size: 1.6rem;
  letter-spacing: -0.02em;
  line-height: 1.8;
}
.main-content--about #kindergartens .kindergarten-guide__text h4 {
  font-size: 2.2rem;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .main-content--about #kindergartens .kindergarten-guide__text {
    gap: 2rem;
    font-size: 1.4rem;
    line-height: 1.9;
  }
  .main-content--about #kindergartens .kindergarten-guide__text h4 {
    font-size: 1.7rem;
    line-height: 1.9;
  }
}
.main-content--about #kindergartens .kindergarten-guide__map {
  display: inline-flex;
  min-width: calc(248 / 1440 * 100cqw);
  min-height: calc(57 / 1440 * 100cqw);
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding: 1.4rem calc(28 / 1440 * 100cqw) 1.4rem calc(32 / 1440 * 100cqw);
  border: 1px solid #21205a;
  border-radius: 100px;
  color: #21205a;
  background: #ffffff;
  font-weight: 600;
  line-height: 1.8;
  transition: color 0.3s ease, background-color 0.3s ease;
}
.main-content--about #kindergartens .kindergarten-guide__map span {
  position: relative;
  display: block;
  width: 1.8rem;
  height: 2px;
  flex-shrink: 0;
  border-radius: 999px;
  background: currentColor;
  translate: 0 0;
  transition: translate 0.3s ease;
}
.main-content--about #kindergartens .kindergarten-guide__map span::before, .main-content--about #kindergartens .kindergarten-guide__map span::after {
  position: absolute;
  top: 50%;
  right: 0;
  width: 1rem;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  content: "";
  transform-origin: calc(100% - 1px) center;
}
.main-content--about #kindergartens .kindergarten-guide__map span::before {
  transform: translateY(-50%) rotate(45deg);
}
.main-content--about #kindergartens .kindergarten-guide__map span::after {
  transform: translateY(-50%) rotate(-45deg);
}
@media screen and (max-width: 768px) {
  .main-content--about #kindergartens .kindergarten-guide__map span {
    width: 1.2rem;
    height: 1px;
  }
  .main-content--about #kindergartens .kindergarten-guide__map span::before, .main-content--about #kindergartens .kindergarten-guide__map span::after {
    right: -1px;
    width: 0.7rem;
    height: 1px;
    border-radius: 0;
    transform-origin: right center;
  }
}
@media (any-hover: hover) {
  .main-content--about #kindergartens .kindergarten-guide__map:hover {
    color: #ffffff;
    background-color: #21205a;
    opacity: 1;
  }
  .main-content--about #kindergartens .kindergarten-guide__map:hover span {
    translate: 0.3rem 0;
  }
}
.main-content--about #kindergartens .kindergarten-guide__map:active {
  color: #ffffff;
  background-color: #21205a;
  opacity: 1;
}
.main-content--about #kindergartens .kindergarten-guide__map:active span {
  translate: 0.3rem 0;
}
.main-content--about #kindergartens .kindergarten-guide__map:focus-visible {
  color: #ffffff;
  background-color: #21205a;
}
@media screen and (max-width: 768px) {
  .main-content--about #kindergartens .kindergarten-guide__map {
    min-width: 0;
    min-height: 0;
    gap: calc(16 / 390 * 100cqw);
    padding: 1.2rem calc(20 / 390 * 100cqw) 1.2rem calc(24 / 390 * 100cqw);
    font-size: 1.3rem;
    line-height: 1.9;
  }
}
.main-content--about #kindergartens .kindergarten-gallery {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: calc(12 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .main-content--about #kindergartens .kindergarten-gallery {
    width: 100%;
    gap: 2rem;
  }
}
.main-content--about #kindergartens .kindergarten-gallery__main {
  width: 100%;
  height: auto;
  aspect-ratio: 580/360;
  border-radius: 0 calc(40 / 1440 * 100cqw) 0 0;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .main-content--about #kindergartens .kindergarten-gallery__main {
    height: calc(220 / 390 * 100cqw);
    aspect-ratio: auto;
    border-radius: 0 calc(23 / 390 * 100cqw) 0 0;
  }
}
.main-content--about #kindergartens .kindergarten-gallery__thumbs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: calc(12 / 1440 * 100cqw);
}
.main-content--about #kindergartens .kindergarten-gallery__thumbs img {
  width: 100%;
  height: auto;
  aspect-ratio: 136/86;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .main-content--about #kindergartens .kindergarten-gallery__thumbs img {
    height: calc(54 / 390 * 100cqw);
    aspect-ratio: auto;
  }
}
@media screen and (max-width: 768px) {
  .main-content--about #kindergartens .kindergarten-gallery__thumbs {
    gap: 0.8rem calc(8 / 390 * 100cqw);
  }
}
.main-content--about #vision .vision-intro {
  margin-top: calc(108 / 1440 * 100cqw);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .main-content--about #vision .vision-intro {
    margin-top: 2rem;
  }
}
.main-content--about #vision .vision-intro__title {
  color: #1a1a1a;
  font-family: "Inter", sans-serif;
  font-size: 2.6rem;
  font-weight: 600;
  letter-spacing: 0.077em;
  line-height: 1.2;
}
@media screen and (max-width: 768px) {
  .main-content--about #vision .vision-intro__title {
    color: #c6a86b;
    font-size: 2.2rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.9;
  }
}
.main-content--about #vision .vision-intro__statement {
  margin-top: 0.8rem;
  color: #737373;
  font-size: 1.4rem;
  line-height: 1.2;
}
@media screen and (max-width: 768px) {
  .main-content--about #vision .vision-intro__statement {
    margin-top: 2rem;
    color: #2d2d2d;
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.9;
  }
  .main-content--about #vision .vision-intro__statement br {
    display: none;
  }
}
.main-content--about #vision .vision-intro__picture {
  display: block;
  width: 100%;
  margin-top: calc(50 / 1440 * 100cqw);
  overflow: hidden;
}
.main-content--about #vision .vision-intro__picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 45%;
}
@media screen and (max-width: 768px) {
  .main-content--about #vision .vision-intro__picture {
    margin-top: 2rem;
    border-radius: 0 calc(23 / 390 * 100cqw) 0 0;
  }
  .main-content--about #vision .vision-intro__picture img {
    object-position: center;
  }
}
.main-content--about #vision .vision-possibility {
  display: grid;
  margin-top: calc(40 / 1440 * 100cqw);
  grid-template-areas: "title picture" "body picture";
  grid-template-columns: 252px minmax(0, 1fr);
  grid-template-rows: auto 1fr;
  column-gap: 8%;
}
@media (min-width: 769px) and (max-width: 1100px) {
  .main-content--about #vision .vision-possibility {
    column-gap: 4%;
  }
}
@media screen and (max-width: 768px) {
  .main-content--about #vision .vision-possibility {
    margin-top: 9.6rem;
    grid-template-areas: "title picture" "body body";
    grid-template-columns: minmax(0, 1fr) calc(157 / 390 * 100cqw);
    grid-template-rows: auto auto;
    gap: 2rem calc(37 / 390 * 100cqw);
    align-items: center;
  }
}
.main-content--about #vision .vision-possibility__title {
  grid-area: title;
  font-size: 2.6rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .main-content--about #vision .vision-possibility__title {
    font-size: 2.4rem;
    line-height: 1.9;
  }
}
.main-content--about #vision .vision-possibility__picture {
  width: 100%;
  overflow: hidden;
  grid-area: picture;
  border-radius: 0 2.2916666667cqw 0 0;
}
.main-content--about #vision .vision-possibility__picture img {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .main-content--about #vision .vision-possibility__picture {
    height: calc(210 / 390 * 100cqw);
    border-radius: 0 calc(23 / 390 * 100cqw) 0 0;
  }
  .main-content--about #vision .vision-possibility__picture img {
    object-position: center;
  }
}
.main-content--about #vision .vision-possibility__body {
  display: flex;
  flex-direction: column;
  grid-area: body;
  gap: 2.8rem;
  margin-top: 4rem;
  font-size: 1.6rem;
  letter-spacing: -0.02em;
  line-height: 1.8;
}
.main-content--about #vision .vision-possibility__body strong {
  color: #c23642;
  font-weight: 700;
  font-size: 2rem;
  letter-spacing: 0;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .main-content--about #vision .vision-possibility__body strong {
    line-height: 1;
  }
}
@media screen and (max-width: 768px) {
  .main-content--about #vision .vision-possibility__body {
    gap: 2rem;
    margin-top: 0;
    font-size: 1.4rem;
    line-height: 1.9;
  }
}
.main-content--about #vision .vision-possibility__catch-line {
  display: inline-block;
  margin-left: 1em;
}
.main-content--about #vision .vision-principles {
  margin-top: calc(100 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .main-content--about #vision .vision-principles {
    margin-top: 4.8rem;
  }
}
.main-content--about #vision .vision-principles__title {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.6rem;
  font-weight: 600;
  line-height: 1.6;
}
.main-content--about #vision .vision-principles__title::before {
  display: none;
  width: calc(20 / 390 * 100cqw);
  height: 2px;
  flex-shrink: 0;
  background: #c6a86b;
  content: "";
}
@media screen and (max-width: 768px) {
  .main-content--about #vision .vision-principles__title {
    justify-content: flex-start;
    gap: calc(10 / 390 * 100cqw);
    font-size: 2rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.9;
  }
  .main-content--about #vision .vision-principles__title::before {
    display: block;
  }
}
.main-content--about #vision .vision-principles__image {
  width: 100%;
  margin-top: calc(35 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .main-content--about #vision .vision-principles__image {
    margin-top: 2rem;
  }
}
.main-content--about #vision .vision-category {
  margin-top: calc(84 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .main-content--about #vision .vision-category {
    margin-top: 8.8rem;
  }
}
.main-content--about #vision .vision-category__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(8 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .main-content--about #vision .vision-category__header {
    flex-direction: row;
    gap: calc(10 / 390 * 100cqw);
  }
}
.main-content--about #vision .vision-category__label {
  color: #c23642;
  font-family: "Inter", sans-serif;
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.107em;
  line-height: 1.2;
}
@media screen and (max-width: 768px) {
  .main-content--about #vision .vision-category__label {
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.9;
  }
}
.main-content--about #vision .vision-category__dot {
  width: calc(15 / 1440 * 100cqw);
  height: calc(15 / 1440 * 100cqw);
  border-radius: 50%;
  background: #21205a;
}
@media screen and (max-width: 768px) {
  .main-content--about #vision .vision-category__dot {
    width: calc(8 / 390 * 100cqw);
    height: calc(8 / 390 * 100cqw);
    background: #c6a86b;
  }
}
.main-content--about #vision .vision-category__title {
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.2;
}
@media screen and (max-width: 768px) {
  .main-content--about #vision .vision-category__title {
    font-size: 2rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.9;
  }
}
.main-content--about #vision .vision-category__lead {
  margin-top: calc(6 / 1440 * 100cqw);
  color: #6b6b6b;
  font-size: 1.6rem;
  line-height: 1.7;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .main-content--about #vision .vision-category__lead {
    margin-top: 2rem;
    color: #2d2d2d;
    font-size: 1.4rem;
    letter-spacing: -0.02em;
    line-height: 1.9;
    text-align: left;
  }
}
.main-content--about #vision .vision-category__cards {
  display: grid;
  margin-top: calc(40 / 1440 * 100cqw);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: calc(25 / 1440 * 100cqw);
  align-items: stretch;
}
@media (min-width: 769px) and (max-width: 1100px) {
  .main-content--about #vision .vision-category__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 769px) and (max-width: 1100px) {
  .main-content--about #vision .vision-category__cards > .vision-card:last-child:nth-child(odd) {
    width: calc((100% - 25 / 1440 * 100cqw) / 2);
    grid-column: 1/-1;
    justify-self: center;
  }
}
@media screen and (max-width: 768px) {
  .main-content--about #vision .vision-category__cards {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    margin-top: 2rem;
  }
}
.main-content--about #vision .vision-category--sports {
  margin-top: calc(102 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .main-content--about #vision .vision-category--sports {
    margin-top: 9.6rem;
  }
}
.main-content--about #vision .vision-category--education {
  margin-top: calc(102 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .main-content--about #vision .vision-category--education {
    margin-top: 9.6rem;
  }
}
.main-content--about #vision .vision-category--education .vision-card__panel {
  min-height: calc(310 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .main-content--about #vision .vision-category--education .vision-card__panel {
    min-height: 0;
  }
}
.main-content--about #vision .vision-category--sensitivity {
  margin-top: calc(102 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .main-content--about #vision .vision-category--sensitivity {
    margin-top: 9.6rem;
  }
}
.main-content--about #vision .vision-category--sensitivity .vision-card__panel {
  min-height: calc(368 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .main-content--about #vision .vision-category--sensitivity .vision-card__panel {
    min-height: 0;
  }
}
.main-content--about #vision .vision-card {
  position: relative;
  display: flex;
  flex-direction: column;
  padding-left: calc(37.5 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .main-content--about #vision .vision-card {
    width: 100%;
    padding-left: 0;
    overflow: hidden;
  }
}
.main-content--about #vision .vision-card__image {
  width: 100%;
  height: calc(175 / 1440 * 100cqw);
  border-radius: 0 calc(33.333 / 1440 * 100cqw) 0 0;
  object-fit: cover;
}
@media (min-width: 769px) and (max-width: 1100px) {
  .main-content--about #vision .vision-card__image {
    height: auto;
    aspect-ratio: 559/350;
  }
}
.main-content--about #vision .vision-card__image--placeholder {
  background: #d9d9d9;
}
@media screen and (max-width: 768px) {
  .main-content--about #vision .vision-card__image {
    height: calc(200 / 390 * 100cqw);
    border-radius: 0 calc(23 / 390 * 100cqw) 0 0;
  }
}
.main-content--about #vision .vision-card__panel {
  position: relative;
  width: 105%;
  min-height: calc(223 / 1440 * 100cqw);
  flex: 1;
  margin-top: calc(-46 / 1440 * 100cqw);
  margin-left: calc(-37.5 / 1440 * 100cqw);
  padding: calc(18.333 / 1440 * 100cqw) calc(23.333 / 1440 * 100cqw) calc(21.667 / 1440 * 100cqw);
  border: 1px solid #21205a;
  border-radius: 0 0 0 calc(33.333 / 1440 * 100cqw);
  background: #fbfbfb;
}
@media screen and (max-width: 768px) {
  .main-content--about #vision .vision-card__panel {
    width: 100%;
    min-height: 0;
    margin: 0;
    padding: 2rem calc(22 / 390 * 100cqw) 2.4rem;
    border-radius: 0 0 0 calc(23 / 390 * 100cqw);
  }
}
.main-content--about #vision .vision-card__title {
  font-size: 1.833rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .main-content--about #vision .vision-card__title {
    font-size: 1.7rem;
    line-height: 1.9;
  }
}
.main-content--about #vision .vision-card__copy {
  margin-top: 0.5rem;
  font-size: 1.6rem;
  letter-spacing: -0.02em;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .main-content--about #vision .vision-card__copy {
    margin-top: 0.8rem;
    font-size: 1.3rem;
    line-height: 1.9;
  }
}
.main-content--about #vision .vision-card__label {
  position: absolute;
  top: calc(6.667 / 1440 * 100cqw);
  left: 0;
  color: #707070;
  font-family: "Inter", sans-serif;
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1;
  writing-mode: vertical-rl;
}
@media screen and (max-width: 768px) {
  .main-content--about #vision .vision-card__label {
    display: none;
  }
}
.main-content--about #schedule .schedule-movie {
  display: grid;
  margin-top: calc(90 / 1440 * 100cqw);
  grid-template-columns: calc(560 / 1440 * 100cqw) minmax(0, 1fr);
  gap: calc(48 / 1440 * 100cqw);
  align-items: center;
}
@media screen and (max-width: 768px) {
  .main-content--about #schedule .schedule-movie {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 2rem;
    margin-top: 2rem;
  }
}
.main-content--about #schedule .schedule-movie__video {
  width: 100%;
  height: calc(315 / 1440 * 100cqw);
  overflow: hidden;
  border-radius: 0 calc(40 / 1440 * 100cqw) 0 calc(40 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .main-content--about #schedule .schedule-movie__video {
    height: calc(203 / 390 * 100cqw);
    border-radius: 0 calc(23 / 390 * 100cqw) 0 calc(23 / 390 * 100cqw);
  }
}
.main-content--about #schedule .schedule-movie__content {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.6rem;
}
@media screen and (max-width: 768px) {
  .main-content--about #schedule .schedule-movie__content {
    gap: 2rem;
  }
}
.main-content--about #schedule .schedule-movie__label {
  display: flex;
  align-items: center;
  gap: calc(10 / 1440 * 100cqw);
  color: #c6a86b;
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.8;
}
.main-content--about #schedule .schedule-movie__label > span:first-child {
  width: calc(24 / 1440 * 100cqw);
  height: 2px;
  flex-shrink: 0;
  background: #c6a86b;
}
@media screen and (max-width: 768px) {
  .main-content--about #schedule .schedule-movie__label {
    display: block;
    font-size: 1.2rem;
    line-height: 1.9;
  }
  .main-content--about #schedule .schedule-movie__label > span:first-child {
    display: none;
  }
}
.main-content--about #schedule .schedule-movie__title {
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .main-content--about #schedule .schedule-movie__title {
    font-size: 1.8rem;
    line-height: 1.9;
  }
}
.main-content--about #schedule .schedule-movie__description {
  font-size: 1.6rem;
  letter-spacing: -0.02em;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .main-content--about #schedule .schedule-movie__description {
    font-size: 1.3rem;
    line-height: 1.9;
  }
}
.main-content--about #schedule .schedule-timeline {
  margin-top: calc(100 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .main-content--about #schedule .schedule-timeline {
    margin-top: 0;
    padding-bottom: 4.8rem;
  }
}
.main-content--about #schedule .schedule-item {
  display: grid;
  padding-block: calc(32 / 1440 * 100cqw);
  border-bottom: 1px solid #e7e7e7;
  grid-template-areas: "time image title" ". image description";
  grid-template-columns: calc(96 / 1440 * 100cqw) calc(240 / 1440 * 100cqw) minmax(0, 1fr);
  grid-template-rows: auto 1fr;
  gap: calc(8 / 1440 * 100cqw) calc(32 / 1440 * 100cqw);
  align-items: start;
}
.main-content--about #schedule .schedule-item:last-child {
  border-bottom: 0;
}
@media screen and (max-width: 768px) {
  .main-content--about #schedule .schedule-item {
    padding-block: 2.4rem;
    grid-template-areas: "time title" "image image" "description description";
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-rows: auto;
    gap: 1.2rem calc(12 / 390 * 100cqw);
    align-items: center;
  }
}
.main-content--about #schedule .schedule-item__time {
  color: #21205a;
  font-family: "Inter", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.8;
  grid-area: time;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .main-content--about #schedule .schedule-item__time {
    font-size: 1.7rem;
    line-height: 1.9;
  }
}
.main-content--about #schedule .schedule-item__image {
  width: 100%;
  height: calc(150 / 1440 * 100cqw);
  border-radius: 0 calc(20 / 1440 * 100cqw) 0 0;
  object-fit: cover;
  grid-area: image;
}
@media screen and (max-width: 768px) {
  .main-content--about #schedule .schedule-item__image {
    height: calc(180 / 390 * 100cqw);
    border-radius: 0 calc(23 / 390 * 100cqw) 0 0;
  }
}
.main-content--about #schedule .schedule-item__content {
  display: contents;
}
.main-content--about #schedule .schedule-item__title {
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.8;
  grid-area: title;
}
@media screen and (max-width: 768px) {
  .main-content--about #schedule .schedule-item__title {
    font-size: 1.6rem;
    line-height: 1.9;
  }
}
.main-content--about #schedule .schedule-item__description {
  font-size: 1.4rem;
  letter-spacing: -0.02em;
  line-height: 1.8;
  grid-area: description;
}
@media screen and (max-width: 768px) {
  .main-content--about #schedule .schedule-item__description {
    font-size: 1.3rem;
    line-height: 1.9;
  }
}
.main-content--about #events .annual-events {
  margin-top: calc(100 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .main-content--about #events .annual-events {
    margin-top: 4.8rem;
  }
}
.main-content--about #events .annual-events__lead {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.2rem;
  text-align: center;
}
.main-content--about #events .annual-events__lead h3 {
  font-size: 2.6rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .main-content--about #events .annual-events__lead h3 {
    font-size: 2rem;
    line-height: 1.9;
  }
}
.main-content--about #events .annual-events__lead p {
  font-size: 1.6rem;
  letter-spacing: -0.02em;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .main-content--about #events .annual-events__lead p {
    font-size: 1.3rem;
    line-height: 1.9;
  }
}
.main-content--about #events .annual-events__blocks {
  display: flex;
  flex-direction: column;
  gap: calc(100 / 1440 * 100cqw);
  margin-top: calc(100 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .main-content--about #events .annual-events__blocks {
    gap: 6.4rem;
    margin-top: 4.8rem;
  }
}
.main-content--about #events .annual-events__note {
  margin-top: calc(100 / 1440 * 100cqw);
  font-size: 1.3rem;
  letter-spacing: -0.02em;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .main-content--about #events .annual-events__note {
    margin-top: 4rem;
    font-size: 1.2rem;
    line-height: 1.8;
  }
}
.main-content--about #events .event-season {
  display: grid;
  grid-template-columns: calc(360 / 1440 * 100cqw) minmax(0, 1fr);
  gap: calc(48 / 1440 * 100cqw);
  align-items: start;
}
@media screen and (max-width: 768px) {
  .main-content--about #events .event-season {
    display: flex;
    flex-direction: column;
    gap: 3.2rem;
  }
}
.main-content--about #events .event-feature {
  display: flex;
  min-width: 0;
  flex-direction: column;
}
@media screen and (max-width: 768px) {
  .main-content--about #events .event-feature {
    width: 100%;
  }
}
.main-content--about #events .event-feature__media {
  position: relative;
  width: 100%;
  height: calc(203 / 1440 * 100cqw);
  overflow: hidden;
  border-radius: 0 calc(40 / 1440 * 100cqw) 0 0;
}
.main-content--about #events .event-feature__media > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.main-content--about #events .event-feature__media > iframe {
  display: block;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 768px) {
  .main-content--about #events .event-feature__media {
    height: auto;
    border-radius: 0 calc(23 / 390 * 100cqw) 0 0;
    aspect-ratio: 360/203;
  }
}
.main-content--about #events .event-feature__title {
  margin-top: 1.6rem;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .main-content--about #events .event-feature__title {
    font-size: 1.8rem;
    line-height: 1.9;
  }
}
.main-content--about #events .event-feature__description {
  margin-top: 1.6rem;
  font-size: 1.4rem;
  letter-spacing: -0.02em;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .main-content--about #events .event-feature__description {
    margin-top: 1.2rem;
    font-size: 1.3rem;
    line-height: 1.9;
  }
}
.main-content--about #events .event-months {
  min-width: 0;
}
@media screen and (max-width: 768px) {
  .main-content--about #events .event-months {
    width: 100%;
  }
}
.main-content--about #events .event-month {
  display: grid;
  min-height: calc(120 / 1440 * 100cqw);
  padding-block: calc(20 / 1440 * 100cqw);
  border-bottom: 1px solid #e7e7e7;
  grid-template-columns: calc(72 / 1440 * 100cqw) minmax(0, 1fr) calc(248 / 1440 * 100cqw);
  gap: calc(23 / 1440 * 100cqw);
  align-items: start;
}
.main-content--about #events .event-month:last-child {
  border-bottom: 0;
}
@media screen and (max-width: 768px) {
  .main-content--about #events .event-month {
    min-height: 0;
    padding-block: 2rem;
    grid-template-areas: "name items" "photos photos";
    grid-template-columns: calc(52 / 390 * 100cqw) minmax(0, 1fr);
    gap: 1.6rem calc(12 / 390 * 100cqw);
  }
}
.main-content--about #events .event-month__name {
  color: #21205a;
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .main-content--about #events .event-month__name {
    font-size: 1.8rem;
    line-height: 1.8;
    grid-area: name;
  }
}
.main-content--about #events .event-month__items {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.8rem;
  font-size: 1.5rem;
  letter-spacing: -0.02em;
  line-height: 1.8;
}
.main-content--about #events .event-month__items li {
  display: flex;
  min-width: 0;
  align-items: flex-start;
  gap: 1rem;
  position: relative;
  padding-left: 1.5rem;
}
.main-content--about #events .event-month__items li::before {
  flex-shrink: 0;
  content: "・";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
}
@media screen and (max-width: 768px) {
  .main-content--about #events .event-month__items {
    gap: 0.8rem calc(8 / 390 * 100cqw);
    font-size: 1.3rem;
    line-height: 1.8;
    grid-area: items;
  }
}
.main-content--about #events .event-month__movie {
  display: inline-flex;
  min-height: 2.4rem;
  flex-shrink: 0;
  align-items: center;
  padding: 0.2rem 1rem;
  border-radius: 999px;
  color: #ffffff;
  background: #21205a;
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 768px) {
  .main-content--about #events .event-month__movie {
    min-height: 2rem;
    padding: 0.1rem calc(8 / 390 * 100cqw);
    font-size: 1rem;
  }
}
.main-content--about #events .event-month__photos {
  display: grid;
  grid-template-columns: 1fr;
  gap: calc(8 / 1440 * 100cqw);
}
.main-content--about #events .event-month__photos img,
.main-content--about #events .event-month__photos span {
  display: block;
  width: 100%;
  height: auto;
  border-radius: calc(4 / 1440 * 100cqw);
  object-fit: cover;
  aspect-ratio: 3/2;
}
@media screen and (max-width: 768px) {
  .main-content--about #events .event-month__photos img,
  .main-content--about #events .event-month__photos span {
    width: 100%;
    height: auto;
    border-radius: calc(4 / 390 * 100cqw);
  }
}
@media screen and (max-width: 768px) {
  .main-content--about #events .event-month__photos {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.8rem calc(8 / 390 * 100cqw);
    grid-area: photos;
  }
}
.main-content--about #events .event-month__placeholder {
  background: #d9d9d9;
}

.main-content--admission .admission-container {
  width: min(1200px, 100% - 64px);
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .main-content--admission .admission-container {
    width: 100%;
    padding-inline: calc(15 / 390 * 100cqw);
  }
}
.main-content--admission .admission-section {
  background: #ffffff;
  scroll-margin-top: 2rem;
}
.main-content--admission .admission-group {
  margin-top: 4.8rem;
}
@media screen and (max-width: 768px) {
  .main-content--admission .admission-group {
    margin-top: 2.8rem;
  }
}
.main-content--admission .admission-subheading {
  display: flex;
  align-items: center;
  gap: 1.4rem;
  margin-bottom: 4rem;
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.8;
}
.main-content--admission .admission-subheading::before {
  width: 2.4rem;
  height: 2px;
  flex-shrink: 0;
  background: #c6a86b;
  content: "";
}
@media screen and (max-width: 768px) {
  .main-content--admission .admission-subheading::before {
    width: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .main-content--admission .admission-subheading {
    gap: 1rem;
    margin-bottom: 2.8rem;
    font-size: 1.7rem;
    line-height: 1.5;
  }
}
.main-content--admission .admission-note {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  margin-top: 4rem;
  padding: 2.8rem 3.6rem 3rem;
  border-radius: 0 4rem 0 0;
  background: #ededed;
  font-size: 1.6rem;
  line-height: 1.8;
  letter-spacing: -0.02em;
}
.main-content--admission .admission-note b {
  color: #21205a;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .main-content--admission .admission-note {
    gap: 0.6rem;
    margin-top: 2.8rem;
    padding: 1.8rem calc(22 / 390 * 100cqw) 2.2rem;
    border-radius: 0 calc(23 / 390 * 100cqw) 0 0;
    font-size: 1.3rem;
  }
}
.main-content--admission #hoiku .step-cards {
  display: grid;
  gap: 2.5rem;
  grid-template-columns: repeat(3, 1fr);
}
@media (min-width: 769px) and (max-width: 1100px) {
  .main-content--admission #hoiku .step-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (max-width: 768px) {
  .main-content--admission #hoiku .step-cards {
    display: flex;
    flex-direction: column;
  }
}
.main-content--admission #hoiku .step-card {
  position: relative;
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding: 0 0 0 3.8rem;
}
.main-content--admission #hoiku .step-card__number {
  position: absolute;
  top: 0.8rem;
  left: 0;
  color: #707070;
  font-family: "Inter", sans-serif;
  font-size: 1.3rem;
  font-weight: 600;
  line-height: 1;
  writing-mode: vertical-rl;
}
@media screen and (max-width: 768px) {
  .main-content--admission #hoiku .step-card__number {
    top: 0.6rem;
    font-size: 1.1rem;
  }
}
.main-content--admission #hoiku .step-card__image {
  width: 100%;
  height: 22.9rem;
  margin-left: 0;
  border-radius: 0 4rem 0 0;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .main-content--admission #hoiku .step-card__image {
    height: calc(190 / 390 * 100cqw);
    border-radius: 0 calc(23 / 390 * 100cqw) 0 0;
  }
}
.main-content--admission #hoiku .step-card__body {
  position: relative;
  width: calc(100% - 1.6rem);
  min-height: 15rem;
  flex-grow: 1;
  margin-top: -4.6rem;
  margin-left: -3.8rem;
  padding: 2.4rem 2.8rem 2.8rem;
  border: 1px solid #21205a;
  border-radius: 0 0 0 4rem;
  background: #fbfbfb;
}
.main-content--admission #hoiku .step-card__body h4 {
  margin-bottom: 0.8rem;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .main-content--admission #hoiku .step-card__body h4 {
    margin-bottom: 0.6rem;
    font-size: 1.7rem;
  }
}
.main-content--admission #hoiku .step-card__body p {
  font-size: 1.6rem;
  line-height: 1.8;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 768px) {
  .main-content--admission #hoiku .step-card__body p {
    font-size: 1.4rem;
    line-height: 1.9;
  }
}
@media screen and (max-width: 768px) {
  .main-content--admission #hoiku .step-card__body {
    width: calc(100% - calc(-10 / 390 * 100cqw));
    min-height: 0;
    margin-top: calc(-35 / 390 * 100cqw);
    margin-left: calc(-30 / 390 * 100cqw);
    padding: 1.8rem calc(20 / 390 * 100cqw) 2rem;
    border-radius: 0 0 0 calc(23 / 390 * 100cqw);
  }
}
@media screen and (max-width: 768px) {
  .main-content--admission #hoiku .step-card {
    padding-left: calc(30 / 390 * 100cqw);
  }
}
.main-content--admission #hoiku .admission-table-wrap {
  overflow-x: auto;
}
.main-content--admission #hoiku .admission-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  border-radius: 0 4rem 0 0;
  font-size: 1.6rem;
  line-height: 1.8;
}
.main-content--admission #hoiku .admission-table th,
.main-content--admission #hoiku .admission-table td {
  padding: 1.8rem 2.6rem;
  border-bottom: 1px solid #e4e4e4;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .main-content--admission #hoiku .admission-table th,
  .main-content--admission #hoiku .admission-table td {
    padding: 1.2rem 0.8rem;
  }
}
.main-content--admission #hoiku .admission-table thead th {
  background: #21205a;
  color: #ffffff;
  font-weight: 600;
}
.main-content--admission #hoiku .admission-table tbody th {
  background: #ededed;
  color: #21205a;
  font-weight: 600;
}
.main-content--admission #hoiku .admission-table tbody tr:last-child > * {
  border-bottom: 0;
}
.main-content--admission #hoiku .admission-table--initial {
  table-layout: fixed;
}
.main-content--admission #hoiku .admission-table--initial thead th:not(:first-child),
.main-content--admission #hoiku .admission-table--initial td {
  text-align: center;
}
.main-content--admission #hoiku .admission-table--initial thead th:first-child,
.main-content--admission #hoiku .admission-table--initial tbody th {
  width: 20%;
}
@media screen and (max-width: 768px) {
  .main-content--admission #hoiku .admission-table--initial {
    min-width: 36rem;
  }
}
.main-content--admission #hoiku .admission-table--monthly thead th {
  font-weight: 400;
}
.main-content--admission #hoiku .admission-table--monthly thead strong,
.main-content--admission #hoiku .admission-table--monthly thead span {
  display: inline-block;
}
.main-content--admission #hoiku .admission-table--monthly thead strong {
  margin-right: 1.6rem;
  font-weight: 700;
}
.main-content--admission #hoiku .admission-table--monthly tbody th {
  width: 33.333%;
}
@media screen and (max-width: 768px) {
  .main-content--admission #hoiku .admission-table--monthly {
    border-radius: 0 calc(23 / 390 * 100cqw) 0 0;
    font-size: 1.3rem;
  }
  .main-content--admission #hoiku .admission-table--monthly thead strong,
  .main-content--admission #hoiku .admission-table--monthly thead span {
    display: block;
  }
  .main-content--admission #hoiku .admission-table--monthly thead strong {
    margin-right: 0;
    font-size: 1.4rem;
  }
  .main-content--admission #hoiku .admission-table--monthly thead span {
    font-size: 1.1rem;
  }
  .main-content--admission #hoiku .admission-table--monthly tbody th {
    width: calc(130 / 390 * 100cqw);
  }
  .main-content--admission #hoiku .admission-table--monthly th,
  .main-content--admission #hoiku .admission-table--monthly td {
    padding-inline: calc(14 / 390 * 100cqw);
  }
}
.main-content--admission #hoiku .admission-table--capacity {
  table-layout: fixed;
}
.main-content--admission #hoiku .admission-table--capacity thead th {
  font-weight: 700;
}
.main-content--admission #hoiku .admission-table--capacity thead th:first-child,
.main-content--admission #hoiku .admission-table--capacity tbody th {
  width: 20%;
}
.main-content--admission #hoiku .admission-table--capacity thead th:nth-child(2) {
  width: 51.667%;
}
.main-content--admission #hoiku .admission-table--capacity thead th:last-child,
.main-content--admission #hoiku .admission-table--capacity tbody td:last-child {
  width: 28.333%;
  text-align: center;
}
.main-content--admission #hoiku .admission-table--capacity tbody th {
  color: #21205a;
  font-weight: 700;
  vertical-align: middle;
}
@media screen and (max-width: 768px) {
  .main-content--admission #hoiku .admission-table--capacity {
    border-radius: 0 calc(23 / 390 * 100cqw) 0 0;
    font-size: 1.3rem;
  }
  .main-content--admission #hoiku .admission-table--capacity th,
  .main-content--admission #hoiku .admission-table--capacity td {
    padding-inline: calc(14 / 390 * 100cqw);
  }
}
.main-content--admission #hoiku .admission-table--capacity-mobile {
  display: none;
  table-layout: fixed;
}
@media screen and (max-width: 768px) {
  .main-content--admission #hoiku .admission-table--capacity-mobile {
    display: table;
    border-radius: 0 calc(23 / 390 * 100cqw) 0 0;
    font-size: 1.3rem;
  }
  .main-content--admission #hoiku .admission-table--capacity-mobile th,
  .main-content--admission #hoiku .admission-table--capacity-mobile td {
    padding: 1.3rem calc(14 / 390 * 100cqw);
  }
  .main-content--admission #hoiku .admission-table--capacity-mobile thead tr:first-child th {
    background: #21205a;
    color: #ffffff;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: left;
  }
  .main-content--admission #hoiku .admission-table--capacity-mobile thead tr:nth-child(2) th {
    border-bottom: 1px solid #e4e4e4;
    background: #ededed;
    color: #2d2d2d;
    font-weight: 700;
  }
  .main-content--admission #hoiku .admission-table--capacity-mobile thead tr:nth-child(2) th:first-child {
    width: 60.556%;
    text-align: left;
  }
  .main-content--admission #hoiku .admission-table--capacity-mobile thead tr:nth-child(2) th:last-child {
    width: 39.444%;
    text-align: center;
  }
  .main-content--admission #hoiku .admission-table--capacity-mobile tbody td:first-child {
    width: 60.556%;
  }
  .main-content--admission #hoiku .admission-table--capacity-mobile tbody td:last-child {
    width: 39.444%;
    font-weight: 400;
    text-align: center;
    white-space: nowrap;
  }
}
.main-content--admission #hoiku .admission-table__total {
  font-weight: 700;
}
.main-content--admission #hoiku .admission-table__nowrap {
  white-space: nowrap;
}
.main-content--admission #hoiku .admission-table__note {
  display: flex;
  align-items: flex-start;
  color: #777777;
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: -0.02em;
  line-height: 1.6;
}
.main-content--admission #hoiku .admission-table__note::before {
  flex-shrink: 0;
  content: "※";
}
@media screen and (max-width: 768px) {
  .main-content--admission #hoiku .admission-table__note {
    font-size: 1.2rem;
    line-height: 1.7;
  }
}
@media screen and (max-width: 768px) {
  .main-content--admission #hoiku .admission-table {
    border-radius: 0 calc(23 / 390 * 100cqw) 0 0;
    font-size: 1.3rem;
  }
}
.main-content--admission #hoiku .monthly-tables,
.main-content--admission #hoiku .capacity-tables {
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
}
@media screen and (max-width: 768px) {
  .main-content--admission #hoiku .monthly-tables,
  .main-content--admission #hoiku .capacity-tables {
    gap: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .main-content--admission #hoiku .capacity-tables__desktop {
    display: none;
  }
}
.main-content--admission #hoiku .capacity-tables__mobile {
  display: none;
}
@media screen and (max-width: 768px) {
  .main-content--admission #hoiku .capacity-tables__mobile {
    display: flex;
    flex-direction: column;
    gap: 2rem;
  }
}
.main-content--admission #hoiku .monthly-cost-notice {
  margin-bottom: 3.2rem;
  font-size: 1.6rem;
  letter-spacing: -0.02em;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .main-content--admission #hoiku .monthly-cost-notice {
    margin-bottom: 2rem;
    font-size: 1.3rem;
    line-height: 1.9;
  }
}
.main-content--admission #hoiku .monthly-fee-notes {
  margin-top: 3.2rem;
  letter-spacing: -0.02em;
}
.main-content--admission #hoiku .monthly-fee-notes__title {
  color: #21205a;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .main-content--admission #hoiku .monthly-fee-notes__title {
    font-size: 1.4rem;
    line-height: 1.7;
  }
}
.main-content--admission #hoiku .monthly-fee-notes__list {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  margin-top: 1.6rem;
}
@media screen and (max-width: 768px) {
  .main-content--admission #hoiku .monthly-fee-notes__list {
    gap: 1.2rem;
    margin-top: 1.2rem;
  }
}
.main-content--admission #hoiku .monthly-fee-notes__item {
  display: grid;
  align-items: start;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.8rem;
  font-size: 1.6rem;
  line-height: 1.8;
}
.main-content--admission #hoiku .monthly-fee-notes__item::before {
  color: #21205a;
  content: "●";
}
@media screen and (max-width: 768px) {
  .main-content--admission #hoiku .monthly-fee-notes__item {
    font-size: 1.3rem;
    line-height: 1.9;
  }
}
.main-content--admission #hoiku .monthly-fee-notes__note {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.8rem;
  color: #777777;
  font-size: 1.4rem;
  line-height: 1.6;
}
.main-content--admission #hoiku .monthly-fee-notes__note::before {
  content: "※";
}
@media screen and (max-width: 768px) {
  .main-content--admission #hoiku .monthly-fee-notes__note {
    font-size: 1.2rem;
    line-height: 1.7;
  }
}
@media screen and (max-width: 768px) {
  .main-content--admission #hoiku .monthly-fee-notes {
    margin-top: 2rem;
  }
}
.main-content--admission #hoiku .capacity-notes {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  margin-top: 3.2rem;
}
@media screen and (max-width: 768px) {
  .main-content--admission #hoiku .capacity-notes {
    gap: 0.6rem;
    margin-top: 2rem;
  }
}
.main-content--admission #hoiku .admission-detail-list {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
.main-content--admission #hoiku .admission-detail-list li {
  display: grid;
  align-items: start;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.8rem;
  font-size: 1.6rem;
  letter-spacing: -0.02em;
  line-height: 1.8;
}
.main-content--admission #hoiku .admission-detail-list li::before {
  color: #21205a;
  content: "●";
}
@media screen and (max-width: 768px) {
  .main-content--admission #hoiku .admission-detail-list li {
    font-size: 1.3rem;
    line-height: 1.9;
  }
}
.main-content--admission #hoiku .admission-detail-list strong {
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .main-content--admission #hoiku .admission-detail-list {
    gap: 1.2rem;
  }
}
.main-content--admission #hoiku .admission-pdf-group {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.2rem;
  margin-top: 4rem;
}
@media screen and (max-width: 768px) {
  .main-content--admission #hoiku .admission-pdf-group {
    gap: 1rem;
    margin-top: 2.8rem;
  }
}
.main-content--admission #hoiku .admission-pdf {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.6rem;
  width: fit-content;
  min-height: 5.5rem;
  padding: 1.2rem 3.2rem;
  border: 2px solid #21205a;
  border-radius: 999px;
  color: #21205a;
  background: #ffffff;
  font-size: 1.8rem;
  font-weight: 700;
  transition: color 0.3s ease, background-color 0.3s ease;
}
.main-content--admission #hoiku .admission-pdf span {
  position: relative;
  display: block;
  width: 1.8rem;
  height: 2px;
  flex-shrink: 0;
  border-radius: 999px;
  background: currentColor;
  transform: rotate(90deg);
  translate: 0 0;
  transition: translate 0.3s ease;
}
.main-content--admission #hoiku .admission-pdf span::before, .main-content--admission #hoiku .admission-pdf span::after {
  position: absolute;
  top: 50%;
  right: 0;
  width: 1rem;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  content: "";
  transform-origin: calc(100% - 1px) center;
}
.main-content--admission #hoiku .admission-pdf span::before {
  transform: translateY(-50%) rotate(45deg);
}
.main-content--admission #hoiku .admission-pdf span::after {
  transform: translateY(-50%) rotate(-45deg);
}
@media screen and (max-width: 768px) {
  .main-content--admission #hoiku .admission-pdf span {
    width: 1.2rem;
    height: 1px;
  }
  .main-content--admission #hoiku .admission-pdf span::before, .main-content--admission #hoiku .admission-pdf span::after {
    right: -1px;
    width: 0.7rem;
    height: 1px;
    border-radius: 0;
    transform-origin: right center;
  }
}
@media (any-hover: hover) {
  .main-content--admission #hoiku .admission-pdf:hover {
    color: #ffffff;
    background-color: #21205a;
    opacity: 1;
  }
  .main-content--admission #hoiku .admission-pdf:hover span {
    translate: 0 0.3rem;
  }
}
.main-content--admission #hoiku .admission-pdf:active {
  color: #ffffff;
  background-color: #21205a;
  opacity: 1;
}
.main-content--admission #hoiku .admission-pdf:active span {
  translate: 0 0.3rem;
}
.main-content--admission #hoiku .admission-pdf:focus-visible {
  color: #ffffff;
  background-color: #21205a;
}
@media screen and (max-width: 768px) {
  .main-content--admission #hoiku .admission-pdf {
    width: 100%;
    min-height: 4.8rem;
    padding: 1rem;
    font-size: 1.4rem;
  }
}
.main-content--admission #hoiku .transfer-guide {
  scroll-margin-top: 2rem;
}
.main-content--admission #hoiku .transfer-panel {
  display: grid;
  align-items: center;
  margin-top: 4.8rem;
  grid-template-columns: 43rem 1fr;
  gap: calc(52 / 1440 * 100cqw);
  padding: calc(40 / 1440 * 100cqw) calc(48 / 1440 * 100cqw);
  overflow: hidden;
  border-radius: 0 4rem 0 4rem;
  background: #21205a;
  color: #ffffff;
}
@media screen and (min-width: 769px) and (max-width: 1100px) {
  .main-content--admission #hoiku .transfer-panel {
    grid-template-columns: minmax(0, 43rem) minmax(26rem, 1fr);
  }
}
.main-content--admission #hoiku .transfer-panel__image {
  width: 100%;
  height: 25rem;
  border-radius: 0 4rem 0 0;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .main-content--admission #hoiku .transfer-panel__image {
    height: calc(200 / 390 * 100cqw);
    border-radius: 0;
  }
}
.main-content--admission #hoiku .transfer-panel__body h3 {
  margin-bottom: 1.6rem;
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .main-content--admission #hoiku .transfer-panel__body h3 {
    margin-bottom: 1.4rem;
    font-size: 2rem;
    line-height: 1.6;
  }
}
.main-content--admission #hoiku .transfer-panel__body p {
  font-size: 1.6rem;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .main-content--admission #hoiku .transfer-panel__body p {
    font-size: 1.4rem;
    line-height: 1.9;
  }
}
@media screen and (max-width: 768px) {
  .main-content--admission #hoiku .transfer-panel__body {
    padding: 2.6rem calc(24 / 390 * 100cqw) 3rem;
  }
}
.main-content--admission #hoiku .transfer-panel__buttons {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.6rem;
  margin-top: 1.6rem;
}
@media screen and (min-width: 769px) and (max-width: 1240px) {
  .main-content--admission #hoiku .transfer-panel__buttons {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}
.main-content--admission #hoiku .transfer-panel__buttons a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 5.1rem;
  padding: 1rem 4rem;
  border: 3px solid #ffffff;
  border-radius: 999px;
  background: #ffffff;
  color: #21205a;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
  letter-spacing: -0.02em;
  transition: all 0.3s ease;
}
.main-content--admission #hoiku .transfer-panel__buttons a > span[aria-hidden] {
  position: absolute;
  top: 50%;
  right: 2rem;
  width: 1.8rem;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  transform: translateY(-50%);
  translate: 0 0;
  transition: translate 0.3s ease;
}
.main-content--admission #hoiku .transfer-panel__buttons a > span[aria-hidden]::before, .main-content--admission #hoiku .transfer-panel__buttons a > span[aria-hidden]::after {
  position: absolute;
  top: 50%;
  right: 0;
  width: 1rem;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  content: "";
  transform-origin: calc(100% - 1px) center;
}
.main-content--admission #hoiku .transfer-panel__buttons a > span[aria-hidden]::before {
  transform: translateY(-50%) rotate(45deg);
}
.main-content--admission #hoiku .transfer-panel__buttons a > span[aria-hidden]::after {
  transform: translateY(-50%) rotate(-45deg);
}
.main-content--admission #hoiku .transfer-panel__buttons a:first-child {
  grid-column: 1/-1;
  width: 22rem;
  justify-self: center;
  border-color: #ffffff;
  color: #ffffff;
  background: #c6a86b;
}
.main-content--admission #hoiku .transfer-panel__buttons a:nth-child(2) {
  border-color: #ffffff;
  background: #73c94a;
  color: #ffffff;
}
.main-content--admission #hoiku .transfer-panel__buttons a:nth-child(3) {
  border-color: #ffffff;
  background: #c23642;
  color: #ffffff;
}
@media screen and (min-width: 769px) and (max-width: 1240px) {
  .main-content--admission #hoiku .transfer-panel__buttons a {
    width: 100%;
  }
  .main-content--admission #hoiku .transfer-panel__buttons a:first-child {
    grid-column: auto;
    width: 100%;
  }
}
.main-content--admission #hoiku .transfer-panel__buttons a:hover, .main-content--admission #hoiku .transfer-panel__buttons a:active {
  opacity: 1;
}
.main-content--admission #hoiku .transfer-panel__buttons a:hover > span[aria-hidden], .main-content--admission #hoiku .transfer-panel__buttons a:active > span[aria-hidden] {
  translate: 0.3rem 0;
}
.main-content--admission #hoiku .transfer-panel__buttons a:hover:first-child, .main-content--admission #hoiku .transfer-panel__buttons a:active:first-child {
  border-color: #c23642;
  background: #b3872c;
}
.main-content--admission #hoiku .transfer-panel__buttons a:hover:nth-child(2), .main-content--admission #hoiku .transfer-panel__buttons a:active:nth-child(2) {
  border-color: #c23642;
  background: #509b1f;
}
.main-content--admission #hoiku .transfer-panel__buttons a:hover:nth-child(3), .main-content--admission #hoiku .transfer-panel__buttons a:active:nth-child(3) {
  border-color: #c23642;
}
@media screen and (max-width: 768px) {
  .main-content--admission #hoiku .transfer-panel__buttons a {
    width: 100%;
    min-height: calc(52 / 390 * 100cqw);
    padding: 0.35rem 1.5rem;
    font-size: 1.5rem;
  }
  .main-content--admission #hoiku .transfer-panel__buttons a:first-child {
    grid-column: auto;
    width: 100%;
    min-height: calc(40 / 390 * 100cqw);
    padding-block: 0.5rem;
    font-size: 1.8rem;
  }
  .main-content--admission #hoiku .transfer-panel__buttons a > span[aria-hidden] {
    right: calc(13 / 390 * 100cqw);
    width: 1.2rem;
    height: 1px;
  }
  .main-content--admission #hoiku .transfer-panel__buttons a > span[aria-hidden]::before, .main-content--admission #hoiku .transfer-panel__buttons a > span[aria-hidden]::after {
    right: -1px;
    width: 0.7rem;
    height: 1px;
    border-radius: 0;
    transform-origin: right center;
  }
}
@media screen and (max-width: 768px) {
  .main-content--admission #hoiku .transfer-panel__buttons {
    grid-template-columns: 1fr;
    gap: 2rem calc(16 / 390 * 100cqw);
    margin-top: 1.4rem;
  }
}
@media screen and (max-width: 768px) {
  .main-content--admission #hoiku .transfer-panel {
    display: block;
    margin-top: 2.8rem;
    padding: 0;
    border-radius: 0 calc(23 / 390 * 100cqw) 0 calc(23 / 390 * 100cqw);
  }
}
.main-content--admission #hoiku .transfer-criteria {
  margin-top: 9.6rem;
}
.main-content--admission #hoiku .transfer-criteria .admission-subheading {
  margin-bottom: 4.8rem;
}
@media screen and (max-width: 768px) {
  .main-content--admission #hoiku .transfer-criteria .admission-subheading {
    margin-bottom: 2.8rem;
  }
}
.main-content--admission #hoiku .transfer-criteria__content {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  font-size: 1.6rem;
  letter-spacing: -0.02em;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .main-content--admission #hoiku .transfer-criteria__content {
    gap: 1.8rem;
    font-size: 1.3rem;
    line-height: 1.9;
  }
}
.main-content--admission #hoiku .transfer-criteria__box {
  padding: 4rem;
  background: #ededed;
}
@media screen and (max-width: 768px) {
  .main-content--admission #hoiku .transfer-criteria__box {
    padding: 2rem calc(20 / 390 * 100cqw);
  }
}
.main-content--admission #hoiku .transfer-criteria__list {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  counter-reset: transfer-criterion;
}
.main-content--admission #hoiku .transfer-criteria__list li {
  display: grid;
  align-items: start;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.8rem;
  counter-increment: transfer-criterion;
}
.main-content--admission #hoiku .transfer-criteria__list li::before {
  content: counter(transfer-criterion) ".";
}
@media screen and (max-width: 768px) {
  .main-content--admission #hoiku .transfer-criteria__list {
    gap: 1.2rem;
  }
}
.main-content--admission #hoiku .transfer-criteria__note {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.8rem;
  color: #777777;
  font-size: 1.4rem;
  line-height: 1.6;
}
.main-content--admission #hoiku .transfer-criteria__note::before {
  content: "※";
}
@media screen and (max-width: 768px) {
  .main-content--admission #hoiku .transfer-criteria__note {
    font-size: 1.2rem;
    line-height: 1.7;
  }
}
.main-content--admission #hoiku .transfer-criteria__afterword {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
@media screen and (max-width: 768px) {
  .main-content--admission #hoiku .transfer-criteria__afterword {
    gap: 1.8rem;
  }
}
@media screen and (max-width: 768px) {
  .main-content--admission #hoiku .transfer-criteria {
    margin-top: 6.4rem;
  }
}
.main-content--admission .extended-care__intro {
  display: grid;
  align-items: center;
  margin-top: calc(56 / 1440 * 100cqw);
  grid-template-columns: 43.333% 1fr;
  gap: 6rem;
}
.main-content--admission .extended-care__intro img {
  width: 100%;
  height: 34rem;
  border-radius: 0 0 0 4rem;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .main-content--admission .extended-care__intro img {
    height: calc(210 / 390 * 100cqw);
    border-radius: 0 0 0 calc(23 / 390 * 100cqw);
  }
}
.main-content--admission .extended-care__intro h3 {
  margin-bottom: 2rem;
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .main-content--admission .extended-care__intro h3 {
    margin-bottom: 1.6rem;
    font-size: 1.9rem;
    line-height: 1.6;
  }
}
.main-content--admission .extended-care__intro p {
  font-size: 1.6rem;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .main-content--admission .extended-care__intro p {
    font-size: 1.4rem;
    line-height: 1.9;
  }
}
@media screen and (max-width: 768px) {
  .main-content--admission .extended-care__intro {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 1.6rem;
    margin-top: 2.8rem;
  }
}
.main-content--admission .extended-care .care-hours,
.main-content--admission .extended-care .care-fees {
  display: grid;
  gap: 4rem;
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width: 768px) {
  .main-content--admission .extended-care .care-hours,
  .main-content--admission .extended-care .care-fees {
    display: flex;
    flex-direction: column;
    gap: 1.4rem;
  }
}
.main-content--admission .extended-care .care-hours > div {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  padding: 2.8rem 3.6rem 3.2rem;
  border-radius: 0 0 0 4rem;
  background: #ededed;
}
@media screen and (max-width: 768px) {
  .main-content--admission .extended-care .care-hours > div {
    gap: 0.6rem;
    padding: 1.8rem calc(22 / 390 * 100cqw) 2.2rem;
    border-radius: 0 0 0 calc(23 / 390 * 100cqw);
  }
}
.main-content--admission .extended-care .care-hours b {
  color: #21205a;
  font-size: 1.6rem;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .main-content--admission .extended-care .care-hours b {
    font-size: 1.3rem;
  }
}
.main-content--admission .extended-care .care-hours strong {
  font-size: 2.2rem;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .main-content--admission .extended-care .care-hours strong {
    font-size: 1.7rem;
    line-height: 1.6;
  }
}
.main-content--admission .extended-care .fee-table {
  width: 100%;
  overflow: hidden;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 0 4rem 0 0;
  font-size: 1.6rem;
}
.main-content--admission .extended-care .fee-table th,
.main-content--admission .extended-care .fee-table td {
  padding: 1.6rem 3.2rem;
  border-bottom: 1px solid #e4e4e4;
}
@media screen and (max-width: 768px) {
  .main-content--admission .extended-care .fee-table th,
  .main-content--admission .extended-care .fee-table td {
    padding: 1.3rem 2rem;
  }
}
.main-content--admission .extended-care .fee-table thead th {
  background: #21205a;
  color: #ffffff;
  font-weight: 600;
  text-align: left;
}
.main-content--admission .extended-care .fee-table tbody th {
  font-weight: 400;
  text-align: left;
}
.main-content--admission .extended-care .fee-table tbody td {
  color: #21205a;
  font-weight: 600;
  text-align: right;
}
.main-content--admission .extended-care .fee-table tbody tr:last-child > * {
  border-bottom: 0;
}
@media screen and (max-width: 768px) {
  .main-content--admission .extended-care .fee-table {
    border-radius: 0 calc(23 / 390 * 100cqw) 0 0;
    font-size: 1.3rem;
  }
}
.main-content--admission .extended-care .care-fee-guidance {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  margin-top: 4rem;
  font-size: 1.6rem;
  line-height: 1.8;
  letter-spacing: -0.02em;
}
.main-content--admission .extended-care .care-fee-guidance li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.8rem;
}
.main-content--admission .extended-care .care-fee-guidance li:nth-child(1)::before {
  content: "①";
}
.main-content--admission .extended-care .care-fee-guidance li:nth-child(2)::before {
  content: "②";
}
.main-content--admission .extended-care .care-fee-guidance li:nth-child(3)::before {
  content: "③";
}
.main-content--admission .extended-care .care-fee-guidance__exception {
  min-height: 4rem;
}
@media screen and (max-width: 768px) {
  .main-content--admission .extended-care .care-fee-guidance {
    gap: 0.6rem;
    margin-top: 2.4rem;
    font-size: 1.3rem;
    line-height: 1.9;
  }
}
.main-content--admission .extended-care .care-details {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  margin-top: 4.8rem;
  padding: 2.8rem 3.6rem 3rem;
  border-radius: 0 4rem 0 0;
  background: #ededed;
  font-size: 1.6rem;
  line-height: 1.8;
  letter-spacing: -0.02em;
}
.main-content--admission .extended-care .care-details > div {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.main-content--admission .extended-care .care-details dt {
  color: #21205a;
  font-weight: 600;
}
.main-content--admission .extended-care .care-details__other {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  counter-reset: care-detail-other;
}
.main-content--admission .extended-care .care-details__other[start="3"] {
  counter-reset: care-detail-other 2;
}
.main-content--admission .extended-care .care-details__other li {
  display: grid;
  grid-template-columns: 4.2rem minmax(0, 1fr);
  gap: 0.8rem;
  counter-increment: care-detail-other;
}
.main-content--admission .extended-care .care-details__other li::before {
  content: "（" counter(care-detail-other) "）";
}
@media screen and (max-width: 768px) {
  .main-content--admission .extended-care .care-details__other li {
    grid-template-columns: 3.4rem minmax(0, 1fr);
    gap: 0.4rem;
  }
}
.main-content--admission .extended-care .care-details__note {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.8rem;
  padding-left: 5rem;
  color: #777777;
  font-size: 1.4rem;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .main-content--admission .extended-care .care-details__note {
    gap: 0.4rem;
    padding-left: 3.8rem;
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 768px) {
  .main-content--admission .extended-care .care-details {
    gap: 0.6rem;
    margin-top: 2.8rem;
    padding: 1.8rem calc(22 / 390 * 100cqw) 2.2rem;
    border-radius: 0 calc(23 / 390 * 100cqw) 0 0;
    font-size: 1.3rem;
    line-height: 1.9;
  }
}
.main-content--admission .extended-care .condition-list {
  counter-reset: condition;
}
.main-content--admission .extended-care .condition-list li {
  display: grid;
  grid-template-columns: 2.8rem 1fr;
  gap: 1.6rem;
  padding-block: 1.8rem;
  border-bottom: 1px solid #e4e4e4;
  counter-increment: condition;
  font-size: 1.6rem;
  line-height: 1.8;
}
.main-content--admission .extended-care .condition-list li::before {
  color: #c6a86b;
  content: counter(condition, decimal-leading-zero);
  font-family: "Inter", sans-serif;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .main-content--admission .extended-care .condition-list li {
    grid-template-columns: 2rem 1fr;
    gap: 0.8rem;
    padding-block: 1.4rem;
    font-size: 1.3rem;
    line-height: 1.9;
  }
}
.main-content--admission .extracurricular__intro {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin-top: calc(56 / 1440 * 100cqw);
  margin-bottom: 4.4rem;
}
.main-content--admission .extracurricular__intro img {
  width: 100%;
  height: calc(400 / 1440 * 100cqw);
  border-radius: 0 4rem 0 0;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .main-content--admission .extracurricular__intro img {
    height: calc(220 / 390 * 100cqw);
    border-radius: 0 calc(23 / 390 * 100cqw) 0 0;
  }
}
.main-content--admission .extracurricular__intro > div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1.8rem;
  padding: calc(64 / 1440 * 100cqw);
  border-radius: 0 0 0 4rem;
  background: #ededed;
}
@media screen and (max-width: 768px) {
  .main-content--admission .extracurricular__intro > div {
    gap: 1.2rem;
    padding: 2.6rem calc(24 / 390 * 100cqw) 3rem;
    border-radius: 0 0 0 calc(23 / 390 * 100cqw);
  }
}
.main-content--admission .extracurricular__intro h3 {
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 768px) {
  .main-content--admission .extracurricular__intro h3 {
    font-size: 1.9rem;
    line-height: 1.6;
  }
}
.main-content--admission .extracurricular__intro p {
  font-size: 1.6rem;
  line-height: 1.8;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 768px) {
  .main-content--admission .extracurricular__intro p {
    font-size: 1.4rem;
    line-height: 1.9;
  }
}
@media screen and (max-width: 768px) {
  .main-content--admission .extracurricular__intro {
    display: block;
    margin-top: 2.8rem;
    margin-bottom: 2.8rem;
  }
}
.main-content--admission .extracurricular .club-grid {
  display: grid;
  gap: 4.4rem 2.5rem;
  grid-template-columns: repeat(3, 1fr);
}
@media (min-width: 769px) and (max-width: 1100px) {
  .main-content--admission .extracurricular .club-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (max-width: 768px) {
  .main-content--admission .extracurricular .club-grid {
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
  }
}
.main-content--admission .extracurricular .club-card {
  position: relative;
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding-left: 3.8rem;
}
.main-content--admission .extracurricular .club-card > span {
  position: absolute;
  top: 0.6rem;
  left: 0;
  color: #c6a86b;
  font-family: "Inter", sans-serif;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  writing-mode: vertical-rl;
  line-height: 1;
}
.main-content--admission .extracurricular .club-card > img {
  width: 100%;
  height: 21rem;
  border-radius: 0 4rem 0 0;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .main-content--admission .extracurricular .club-card > img {
    height: calc(190 / 390 * 100cqw);
    border-radius: 0 calc(23 / 390 * 100cqw) 0 0;
  }
}
.main-content--admission .extracurricular .club-card > div {
  position: relative;
  width: calc(100% - 1rem);
  min-height: 18.8rem;
  flex: 1;
  margin-top: -5.5rem;
  margin-left: -3.8rem;
  padding: 2.2rem 2.2rem 2.6rem;
  border: 1px solid #21205a;
  border-radius: 0 0 0 4rem;
  background: #fbfbfb;
}
@media screen and (max-width: 768px) {
  .main-content--admission .extracurricular .club-card > div {
    width: calc(100% - calc(-10 / 390 * 100cqw));
    min-height: 0;
    margin-top: calc(-35 / 390 * 100cqw);
    margin-left: calc(-30 / 390 * 100cqw);
    padding: 1.6rem calc(20 / 390 * 100cqw) 2rem;
    border-radius: 0 0 0 calc(23 / 390 * 100cqw);
  }
}
.main-content--admission .extracurricular .club-card h3 {
  margin-bottom: 0.6rem;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 768px) {
  .main-content--admission .extracurricular .club-card h3 {
    font-size: 1.7rem;
  }
}
.main-content--admission .extracurricular .club-card p {
  font-size: 1.6rem;
  line-height: 1.8;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 768px) {
  .main-content--admission .extracurricular .club-card p {
    font-size: 1.4rem;
    line-height: 1.9;
  }
}
@media screen and (max-width: 768px) {
  .main-content--admission .extracurricular .club-card {
    padding-left: calc(30 / 390 * 100cqw);
  }
}
.main-content--admission .after-school {
  padding-bottom: 0;
}
.main-content--admission .after-school .admission-heading {
  padding-inline: 1.5rem;
}
.main-content--admission .after-school__band {
  margin-top: calc(56 / 1440 * 100cqw);
  padding-block: 7.2rem 8rem;
  border-radius: 0 4rem 0 4rem;
  background: linear-gradient(rgba(33, 32, 90, 0.93), rgba(33, 32, 90, 0.93)), url("/assets/images/admission/after-school-bg.webp") center/cover;
}
@media screen and (max-width: 768px) {
  .main-content--admission .after-school__band {
    margin-top: 2.8rem;
    padding-block: 4.4rem 4.8rem;
    border-radius: 0 calc(23 / 390 * 100cqw) 0 calc(23 / 390 * 100cqw);
  }
}
.main-content--admission .after-school__lead {
  margin-bottom: 4.4rem;
  color: #ffffff;
  text-align: center;
}
.main-content--admission .after-school__lead h4 {
  margin-bottom: 2.4rem;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .main-content--admission .after-school__lead h4 {
    margin-bottom: 1.2rem;
    font-size: 1.6rem;
    line-height: 1.6;
  }
}
.main-content--admission .after-school__lead p {
  font-size: 1.6rem;
  line-height: 1.8;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 768px) {
  .main-content--admission .after-school__lead p {
    font-size: 1.3rem;
    line-height: 2;
  }
}
@media screen and (max-width: 768px) {
  .main-content--admission .after-school__lead {
    margin-bottom: 2.4rem;
  }
}
.main-content--admission .after-school__lead--school-card {
  margin-bottom: 2.8rem;
  color: #2d2d2d;
}
@media screen and (max-width: 768px) {
  .main-content--admission .after-school__lead--school-card {
    margin-bottom: 2rem;
  }
}
.main-content--admission .after-school__note {
  margin-top: 2.8rem;
  color: rgba(255, 255, 255, 0.75);
  font-size: 1.4rem;
  line-height: 1.8;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .main-content--admission .after-school__note {
    margin-top: 2.4rem;
    font-size: 1.1rem;
    line-height: 1.7;
  }
}
.main-content--admission .after-school .school-card {
  padding: 4rem 4.4rem 4.4rem;
  border-radius: 0 4rem 0 4rem;
  background: #ffffff;
}
.main-content--admission .after-school .school-card + .school-card {
  margin-top: 4.4rem;
}
@media screen and (max-width: 768px) {
  .main-content--admission .after-school .school-card + .school-card {
    margin-top: 2.4rem;
  }
}
.main-content--admission .after-school .school-card > h3 {
  margin-bottom: 2.8rem;
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .main-content--admission .after-school .school-card > h3 {
    margin-bottom: 2rem;
    font-size: 1.8rem;
    line-height: 1.5;
  }
}
.main-content--admission .after-school .school-card__photos {
  display: grid;
  gap: 2rem;
  grid-template-columns: repeat(3, 1fr);
  margin-bottom: 2.8rem;
}
.main-content--admission .after-school .school-card__photos img {
  width: 100%;
  border-radius: 0 4rem 0 0;
  object-fit: cover;
  aspect-ratio: 355/230;
}
@media screen and (max-width: 768px) {
  .main-content--admission .after-school .school-card__photos img {
    border-radius: 0 calc(16 / 390 * 100cqw) 0 0;
    aspect-ratio: 100/92;
  }
}
@media screen and (max-width: 768px) {
  .main-content--admission .after-school .school-card__photos {
    gap: 0.8rem calc(8 / 390 * 100cqw);
    margin-bottom: 2rem;
  }
}
.main-content--admission .after-school .school-card__photos--single {
  grid-template-columns: calc(800 / 1440 * 100cqw);
  justify-content: center;
}
.main-content--admission .after-school .school-card__photos--single > img {
  height: auto;
  border-radius: 0;
  object-fit: initial;
  aspect-ratio: auto;
}
@media screen and (max-width: 768px) {
  .main-content--admission .after-school .school-card__photos--single {
    grid-template-columns: 100%;
  }
}
@media screen and (max-width: 768px) {
  .main-content--admission .after-school .school-card:first-of-type > .school-card__photos {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .main-content--admission .after-school .school-card:first-of-type > .school-card__photos img {
    aspect-ratio: 169/102;
  }
  .main-content--admission .after-school .school-card:first-of-type > .school-card__photos img:nth-child(1) {
    order: 3;
  }
  .main-content--admission .after-school .school-card:first-of-type > .school-card__photos img:nth-child(2) {
    width: 80%;
    border-radius: 0;
    aspect-ratio: 278/150;
    grid-column: 1/-1;
    justify-self: center;
    order: 1;
  }
  .main-content--admission .after-school .school-card:first-of-type > .school-card__photos img:nth-child(3) {
    order: 2;
  }
}
@media screen and (max-width: 768px) {
  .main-content--admission .after-school .school-card {
    padding: 2.6rem calc(22 / 390 * 100cqw) 2.8rem;
    border-radius: 0 calc(23 / 390 * 100cqw) 0 calc(23 / 390 * 100cqw);
  }
}
.main-content--admission .after-school .school-details {
  font-size: 1.6rem;
  line-height: 1.8;
  letter-spacing: -0.02em;
}
.main-content--admission .after-school .school-details > div {
  display: grid;
  align-items: start;
  grid-template-columns: 12.5rem minmax(0, 1fr);
  gap: 2.4rem;
  padding-block: 1.8rem;
  border-bottom: 1px solid #e4e4e4;
}
.main-content--admission .after-school .school-details > div:last-child {
  border-bottom: 0;
}
@media screen and (max-width: 768px) {
  .main-content--admission .after-school .school-details > div {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding-block: 1rem;
  }
}
.main-content--admission .after-school .school-details dt {
  color: #21205a;
  font-weight: 600;
}
.main-content--admission .after-school .school-details dd {
  color: #2d2d2d;
  min-width: 0;
}
@media screen and (max-width: 768px) {
  .main-content--admission .after-school .school-details {
    font-size: 1.3rem;
    line-height: 1.95;
  }
}
.main-content--admission .faq__groups {
  display: flex;
  width: 100%;
  max-width: 1000px;
  flex-direction: column;
  margin-top: calc(56 / 1440 * 100cqw);
  margin-inline: auto;
  gap: 4.4rem;
}
@media screen and (max-width: 768px) {
  .main-content--admission .faq__groups {
    margin-top: 2.8rem;
    gap: 2.8rem;
  }
}
.main-content--admission .faq__symbol-answer {
  display: flex;
  align-items: center;
  gap: 2.4rem;
}
@media screen and (max-width: 768px) {
  .main-content--admission .faq__symbol-answer {
    align-items: flex-start;
    gap: 1.2rem;
  }
}
.main-content--admission .faq__symbol-logo {
  align-self: flex-start;
  flex: 0 0 auto;
}
.main-content--admission .faq .faq-group .admission-subheading {
  margin-bottom: 1.6rem;
}
@media screen and (max-width: 768px) {
  .main-content--admission .faq .faq-group .admission-subheading {
    margin-bottom: 1.2rem;
    font-size: 1.6rem;
  }
}
.main-content--admission .faq .faq-group details {
  border-bottom: 1px solid #e4e4e4;
  letter-spacing: -0.02em;
}
.main-content--admission .faq .faq-group details summary {
  display: grid;
  align-items: center;
  grid-template-columns: 2rem 1fr 2rem;
  gap: 2rem;
  min-height: 6.9rem;
  padding-block: 1.5rem;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.8;
}
.main-content--admission .faq .faq-group details summary::before {
  color: #c6a86b;
  content: "Q";
}
.main-content--admission .faq .faq-group details summary::after {
  width: 1.2rem;
  height: 1.2rem;
  justify-self: end;
  background: linear-gradient(#21205a, #21205a) center/100% 2px no-repeat, linear-gradient(#21205a, #21205a) center/2px 100% no-repeat;
  content: "";
}
@media screen and (max-width: 768px) {
  .main-content--admission .faq .faq-group details summary::after {
    width: 1rem;
    height: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .main-content--admission .faq .faq-group details summary {
    grid-template-columns: 1.6rem 1fr 1.6rem;
    gap: 0.8rem;
    min-height: 5.4rem;
    padding-block: 1.2rem;
    font-size: 1.4rem;
    line-height: 1.7;
  }
}
.main-content--admission .faq .faq-group details > div {
  display: grid;
  grid-template-columns: 2rem 1fr;
  gap: 2rem;
  padding: 2.2rem 2.8rem 2.4rem;
  background: #ededed;
  font-size: 1.6rem;
  line-height: 1.8;
}
.main-content--admission .faq .faq-group details > div::before {
  color: #21205a;
  content: "A";
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .main-content--admission .faq .faq-group details > div {
    grid-template-columns: 1.6rem 1fr;
    gap: 0.7rem;
    padding: 1.6rem 1.6rem 1.8rem;
    font-size: 1.3rem;
    line-height: 1.9;
  }
}
.main-content--admission .faq .faq-group details[open] summary::after {
  background-size: 100% 2px, 0 0;
}

.main-content--support .subpage-header__image {
  object-position: center 49%;
}
@media screen and (max-width: 768px) {
  .main-content--support .subpage-header__image {
    object-position: center 48%;
  }
}
@media screen and (max-width: 768px) {
  .main-content--support .subpage-header__nav {
    padding-bottom: 0.8rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (max-width: 768px) {
  .main-content--support .subpage-header__nav-link {
    min-width: 0;
    overflow: hidden;
    overflow-wrap: anywhere;
    white-space: normal;
  }
}
.main-content--support > .page-top {
  margin-top: calc(100 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .main-content--support > .page-top {
    margin-top: 6.4rem;
  }
}
.main-content--support .support-content {
  display: flex;
  flex-direction: column;
  gap: calc(100 / 1440 * 100cqw);
  margin-top: calc(100 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .main-content--support .support-content {
    gap: 6rem;
    margin-top: 5.6rem;
  }
}
.main-content--support .support-section__heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.8rem;
  text-align: center;
}
.main-content--support .support-section__heading > span {
  color: #c23642;
  font-family: "Inter", sans-serif;
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1.3;
}
.main-content--support .support-section__heading > i {
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 50%;
  background: #21205a;
}
.main-content--support .support-section__heading h3 {
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.5;
}
.main-content--support .support-major-heading {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  align-items: center;
  gap: 2.4rem;
  text-align: center;
}
.main-content--support .support-major-heading::before {
  width: calc(75 / 1440 * 100cqw);
  height: 2px;
  background: #21205a;
  content: "";
}
@media screen and (max-width: 768px) {
  .main-content--support .support-major-heading::before {
    width: calc(60 / 390 * 100cqw);
    height: 1px;
  }
}
.main-content--support .support-major-heading h2 {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  font-size: 3.2rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.8;
  overflow-wrap: anywhere;
  word-break: break-all;
}
@media screen and (max-width: 768px) {
  .main-content--support .support-major-heading h2 {
    font-size: 2.2rem;
    line-height: 1.5;
  }
}
@media screen and (max-width: 768px) {
  .main-content--support .support-major-heading {
    gap: 1.4rem;
  }
}
@media screen and (max-width: 768px) {
  .main-content--support #developmental .support-major-heading h2 {
    font-size: 1.8rem;
  }
}
.main-content--support .puppy-cafe {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
@media screen and (max-width: 768px) {
  .main-content--support .puppy-cafe {
    gap: 2.4rem;
  }
}
.main-content--support .puppy-cafe__lead {
  font-size: 1.6rem;
  letter-spacing: -0.02em;
  line-height: 1.8;
  text-align: center;
}
.main-content--support .puppy-cafe__features {
  display: flex;
  flex-direction: column;
  gap: 4.8rem;
}
@media screen and (max-width: 768px) {
  .main-content--support .puppy-cafe__features {
    gap: 4rem;
  }
}
.main-content--support .support-feature {
  display: grid;
  align-items: start;
  grid-template-columns: minmax(0, 1fr) 36rem;
  gap: 4rem;
}
@media (min-width: 769px) and (max-width: 1100px) {
  .main-content--support .support-feature {
    grid-template-columns: minmax(0, 1fr) 45%;
    gap: 2.4rem;
  }
}
@media screen and (max-width: 768px) {
  .main-content--support .support-feature {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
  }
}
.main-content--support .support-feature__body {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 1.4rem;
}
@media screen and (max-width: 768px) {
  .main-content--support .support-feature__body {
    gap: 1.2rem;
  }
}
.main-content--support .support-feature__body h4 {
  font-size: 2.6rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.8;
}
@media (min-width: 769px) and (max-width: 1100px) {
  .main-content--support .support-feature__body h4 {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 768px) {
  .main-content--support .support-feature__body h4 {
    font-size: 2rem;
  }
}
.main-content--support .support-feature__body p {
  font-size: 1.6rem;
  letter-spacing: -0.02em;
  line-height: 1.8;
}
.main-content--support .support-feature > img {
  width: 36rem;
  height: 24rem;
  border-radius: 0.6rem;
  object-fit: cover;
}
@media (min-width: 769px) and (max-width: 1100px) {
  .main-content--support .support-feature > img {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .main-content--support .support-feature > img {
    order: -1;
    width: 100%;
    height: calc(220 / 390 * 100cqw);
  }
}
.main-content--support .support-voices {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
@media screen and (max-width: 768px) {
  .main-content--support .support-voices {
    gap: 2.4rem;
  }
}
.main-content--support .support-voices__grid {
  display: grid;
  gap: 2.4rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (min-width: 769px) and (max-width: 900px) {
  .main-content--support .support-voices__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media screen and (max-width: 768px) {
  .main-content--support .support-voices__grid {
    gap: 1.6rem;
    grid-template-columns: minmax(0, 1fr);
  }
}
.main-content--support .support-voice {
  display: grid;
  min-width: 0;
  min-height: 16.8rem;
  align-items: center;
  padding: calc(24 / 1440 * 100cqw) calc(28 / 1440 * 100cqw);
  border-radius: 1.2rem;
  background: #ededed;
  grid-template-columns: calc(120 / 1440 * 100cqw) minmax(0, 1fr);
  gap: calc(16 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .main-content--support .support-voice {
    min-height: 0;
    align-items: start;
    padding: 1.8rem calc(20 / 390 * 100cqw);
    grid-template-columns: calc(100 / 390 * 100cqw) minmax(0, 1fr);
    gap: calc(16 / 390 * 100cqw);
  }
}
.main-content--support .support-voice__portrait {
  position: relative;
  display: block;
  width: calc(120 / 1440 * 100cqw);
  height: calc(120 / 1440 * 100cqw);
  overflow: hidden;
  border-radius: 50%;
  background: #ffffff;
}
@media screen and (max-width: 768px) {
  .main-content--support .support-voice__portrait {
    width: calc(100 / 390 * 100cqw);
    height: calc(100 / 390 * 100cqw);
  }
}
.main-content--support .support-voice__portrait img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.main-content--support .support-voice p {
  font-size: 1.6rem;
  letter-spacing: -0.02em;
  line-height: 1.8;
}
.main-content--support .support-schedule {
  width: 100%;
  max-width: 1000px;
  margin-inline: auto;
  overflow: hidden;
  border-radius: 0 4rem 0 0;
  background: #ffffff;
  font-size: 1.6rem;
  letter-spacing: -0.02em;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .main-content--support .support-schedule {
    border-radius: 0 calc(24 / 390 * 100cqw) 0 0;
    font-size: 1.4rem;
  }
}
.main-content--support .support-schedule__header {
  display: grid;
  min-height: 6.5rem;
  align-items: center;
  background: #21205a;
  color: #ffffff;
  grid-template-columns: 20% 80%;
}
@media screen and (max-width: 768px) {
  .main-content--support .support-schedule__header {
    display: block;
    min-height: 0;
  }
}
.main-content--support .support-schedule__header h4,
.main-content--support .support-schedule__header span {
  padding: 1.8rem 3.2rem;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .main-content--support .support-schedule__header h4,
  .main-content--support .support-schedule__header span {
    padding: 1.5rem calc(18 / 390 * 100cqw);
  }
}
@media screen and (max-width: 768px) {
  .main-content--support .support-schedule__header h4 {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 768px) {
  .main-content--support .support-schedule__header span {
    display: none;
  }
}
.main-content--support .support-schedule dl > div {
  display: grid;
  min-height: 6.5rem;
  border-bottom: 1px solid #e7e7e7;
  grid-template-columns: 20% 80%;
}
@media screen and (max-width: 768px) {
  .main-content--support .support-schedule dl > div {
    min-height: 0;
    grid-template-columns: calc(92 / 390 * 100cqw) minmax(0, 1fr);
  }
}
.main-content--support .support-schedule dt {
  display: flex;
  align-items: center;
  padding: 1.8rem 3.2rem;
  background: #ededed;
  color: #21205a;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .main-content--support .support-schedule dt {
    align-items: flex-start;
    padding: 1.4rem calc(12 / 390 * 100cqw);
  }
}
.main-content--support .support-schedule dd {
  padding: 1.8rem 3.2rem;
}
@media screen and (max-width: 768px) {
  .main-content--support .support-schedule dd {
    padding: 1.4rem calc(12 / 390 * 100cqw);
  }
}
.main-content--support .support-schedule dd p + ul,
.main-content--support .support-schedule dd p + ol {
  margin-top: 0.1em;
}
.main-content--support .support-schedule dd ul li {
  display: flex;
}
.main-content--support .support-schedule dd ul li::before {
  flex-shrink: 0;
  content: "・";
}
.main-content--support .support-schedule dd ol {
  padding-left: 1.25em;
  list-style: decimal;
}
.main-content--support .support-consultation {
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
}
@media screen and (max-width: 768px) {
  .main-content--support .support-consultation {
    gap: 2.4rem;
  }
}
.main-content--support .support-consultation__grid {
  display: grid;
  align-items: stretch;
  gap: 2rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (min-width: 769px) and (max-width: 1100px) {
  .main-content--support .support-consultation__grid {
    justify-content: center;
    grid-template-columns: repeat(2, minmax(0, 32rem));
  }
  .main-content--support .support-consultation__grid > :last-child {
    width: 32rem;
    justify-self: center;
    grid-column: 1/-1;
  }
}
@media screen and (max-width: 768px) {
  .main-content--support .support-consultation__grid {
    gap: 2rem;
    grid-template-columns: minmax(0, 1fr);
  }
}
.main-content--support .consultation-card {
  display: flex;
  min-width: 0;
  min-height: 50.6rem;
  flex-direction: column;
  align-items: center;
  padding: 2rem 2.4rem;
  border: 1px solid #e0dbd1;
  border-radius: 0.8rem;
  background: #ededed;
}
@media screen and (max-width: 768px) {
  .main-content--support .consultation-card {
    width: 100%;
    max-width: 40rem;
    margin-inline: auto;
  }
}
.main-content--support .consultation-card h3 {
  display: grid;
  width: 100%;
  min-height: 10.7rem;
  place-items: center;
  padding: 1.6rem;
  border-radius: 0.8rem;
  background: #fff;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.4;
  text-align: center;
  border: 1px solid #c23642;
}
.main-content--support .consultation-card__portrait {
  display: grid;
  width: 12rem;
  height: 12rem;
  margin-top: 1.6rem;
  overflow: hidden;
  place-items: center;
  border-radius: 50%;
  background: #ffffff;
}
.main-content--support .consultation-card__portrait img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.main-content--support .consultation-card p {
  width: 100%;
  margin-top: 2rem;
  font-size: 1.6rem;
  line-height: 1.8;
}
.main-content--support .support-service {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 3.2rem;
}
@media screen and (max-width: 768px) {
  .main-content--support .support-service {
    gap: 2.4rem;
  }
}
.main-content--support .support-placeholder {
  display: grid;
  width: 100%;
  min-width: 0;
  min-height: 20rem;
  place-items: center;
  padding: 4rem;
  border-radius: 0.8rem;
  background: #e3e3e3;
  font-size: 4rem;
  letter-spacing: -0.02em;
  line-height: 1.8;
  overflow-wrap: anywhere;
  word-break: break-all;
}
.main-content--support .support-placeholder > span {
  max-width: 100%;
  min-width: 0;
  overflow-wrap: anywhere;
  white-space: normal;
  word-break: break-all;
}
.main-content--support .support-placeholder {
  text-align: center;
}
.main-content--support .support-placeholder--seminar {
  display: flex;
  min-height: 12.1rem;
  align-items: center;
  justify-content: center;
  gap: 4rem;
  padding: 0;
  border-radius: 0;
  background: transparent;
  font-size: 3.2rem;
  transform: translateX(calc(-53 / 1440 * 100cqw));
}
@media screen and (max-width: 768px) {
  .main-content--support .support-placeholder--seminar {
    min-height: calc(100 / 390 * 100cqw);
    gap: calc(16 / 390 * 100cqw);
    padding: 0;
    font-size: 1.8rem;
    transform: none;
  }
}
.main-content--support .support-placeholder__flower {
  width: 11rem;
  height: 12.1rem;
  flex-shrink: 0;
  object-fit: contain;
}
@media screen and (max-width: 768px) {
  .main-content--support .support-placeholder__flower {
    width: calc(72 / 390 * 100cqw);
    height: calc(80 / 390 * 100cqw);
  }
}
.main-content--support .support-placeholder__text {
  font-family: "Inter", sans-serif;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .main-content--support .support-placeholder {
    min-height: calc(160 / 390 * 100cqw);
    padding: 2.4rem calc(24 / 390 * 100cqw);
    border-radius: calc(8 / 390 * 100cqw);
    font-size: 1.6rem;
  }
}
.main-content--support .support-access {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
@media screen and (max-width: 768px) {
  .main-content--support .support-access {
    gap: 2.4rem;
  }
}
.main-content--support .support-access__grid {
  display: grid;
  gap: 4rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (min-width: 769px) and (max-width: 1100px) {
  .main-content--support .support-access__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media screen and (max-width: 768px) {
  .main-content--support .support-access__grid {
    display: flex;
    flex-direction: column;
    gap: 5.6rem;
  }
}
.main-content--support .support-access__school {
  min-width: 0;
  text-align: center;
}
.main-content--support .support-access__school h4 {
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .main-content--support .support-access__school h4 {
    font-size: 1.8rem;
  }
}
.main-content--support .support-access__school > p {
  margin-top: 1.6rem;
  font-size: 1.6rem;
  letter-spacing: -0.02em;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .main-content--support .support-access__school > p {
    margin-top: 1.4rem;
    line-height: 1.8;
  }
}
.main-content--support .support-access__map {
  height: 24rem;
  margin-top: 2.4rem;
  overflow: hidden;
  border-radius: 0.8rem;
  background: #e3e3e3;
}
.main-content--support .support-access__map iframe {
  width: 100%;
  height: 100%;
  border: 0;
}
@media screen and (max-width: 768px) {
  .main-content--support .support-access__map {
    height: calc(200 / 390 * 100cqw);
    margin-top: 1.4rem;
    border-radius: calc(8 / 390 * 100cqw);
  }
}
.main-content--support .support-access__actions {
  display: grid;
  gap: calc(10 / 1440 * 100cqw);
  margin-top: 3.2rem;
  grid-template-columns: minmax(0, 1fr);
}
@media (min-width: 769px) and (max-width: 1100px) {
  .main-content--support .support-access__actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (max-width: 768px) {
  .main-content--support .support-access__actions {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: calc(10 / 390 * 100cqw);
    margin-top: 1.4rem;
  }
}
.main-content--support .support-access__button {
  position: relative;
  display: flex;
  min-height: 6rem;
  align-items: center;
  justify-content: center;
  padding: 0.8rem 1.6rem;
  border: 3px solid transparent;
  border-radius: 999px;
  color: #ffffff;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.3;
  text-align: center;
  transition: background-color 0.3s ease, border-color 0.3s ease, filter 0.3s ease, opacity 0.3s ease;
  white-space: nowrap;
}
.main-content--support .support-access__button > span[aria-hidden] {
  position: absolute;
  right: 1.6rem;
  width: 1.6rem;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  translate: 0 0;
  transition: translate 0.3s ease;
}
.main-content--support .support-access__button > span[aria-hidden]::before, .main-content--support .support-access__button > span[aria-hidden]::after {
  position: absolute;
  top: 50%;
  right: 0;
  width: 0.8rem;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  content: "";
  transform-origin: calc(100% - 1px) center;
}
.main-content--support .support-access__button > span[aria-hidden]::before {
  transform: translateY(-50%) rotate(45deg);
}
.main-content--support .support-access__button > span[aria-hidden]::after {
  transform: translateY(-50%) rotate(-45deg);
}
@media screen and (max-width: 768px) {
  .main-content--support .support-access__button > span[aria-hidden] {
    right: 1rem;
    width: 1.2rem;
  }
  .main-content--support .support-access__button > span[aria-hidden]::before, .main-content--support .support-access__button > span[aria-hidden]::after {
    width: 0.7rem;
  }
}
@media (any-hover: hover) {
  .main-content--support .support-access__button:hover {
    opacity: 1;
  }
  .main-content--support .support-access__button:hover > span[aria-hidden] {
    translate: 0.3rem 0;
  }
}
.main-content--support .support-access__button:active {
  opacity: 1;
}
.main-content--support .support-access__button:active > span[aria-hidden] {
  translate: 0.3rem 0;
}
@media screen and (max-width: 768px) {
  .main-content--support .support-access__button {
    padding: 0.6rem 1.2rem;
    font-size: 1.5rem;
    width: calc(300 / 390 * 100cqw);
    height: auto;
    min-height: auto;
  }
}
.main-content--support .support-access__button--morinoki {
  border-color: #73c94a;
  background: #73c94a;
}
@media (any-hover: hover) {
  .main-content--support .support-access__button--morinoki:hover {
    border-color: #c23642;
    background: #509b1f;
  }
}
.main-content--support .support-access__button--morinoki:active {
  border-color: #c23642;
  background: #509b1f;
}
.main-content--support .support-access__button--kusunoki {
  border-color: #c23642;
  background: #c23642;
}
.main-content--support .support-access__button--line {
  background: #07b53b;
}
@media (any-hover: hover) {
  .main-content--support .support-access__button--line:hover {
    border-color: #c23642;
    filter: brightness(0.9);
  }
}
.main-content--support .support-access__button--line:active {
  border-color: #c23642;
  filter: brightness(0.9);
}

.main-content--recruit .breadcrumb-wrapper {
  background: #f7e5e9;
}
@media screen and (max-width: 768px) {
  .main-content--recruit .breadcrumb-wrapper {
    background: none;
  }
}
.main-content--recruit .breadcrumb-wrapper .breadcrumb {
  padding-left: calc(20 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .main-content--recruit .breadcrumb-wrapper .breadcrumb {
    padding-left: 0;
  }
}
.main-content--recruit .subpage-header__nav {
  flex-direction: column;
  align-items: center;
  background: transparent;
}
@media screen and (max-width: 768px) {
  .main-content--recruit .subpage-header__nav {
    display: grid;
    width: 100%;
    background: #ffffff;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.main-content--recruit .subpage-header__nav-row {
  display: flex;
  justify-content: center;
  background: #ffffff;
}
@media screen and (max-width: 768px) {
  .main-content--recruit .subpage-header__nav-row {
    display: contents;
  }
}
@media (any-hover: hover) {
  .main-content--recruit .subpage-header__nav-link:not(.subpage-header__nav-link--current):hover {
    color: #2d2d2d;
    background-color: #f7e5e9;
  }
}
.main-content--recruit .subpage-header__nav-link:not(.subpage-header__nav-link--current):active {
  color: #2d2d2d;
  background-color: #f7e5e9;
}
@media screen and (max-width: 768px) {
  .main-content--recruit .subpage-header__nav-link {
    border-color: #eaaab7;
  }
}
.main-content--recruit .subpage-header__nav-link--current {
  background: #eaaab7;
  color: #2d2d2d !important;
}
@media (any-hover: hover) {
  .main-content--recruit .subpage-header__nav-link--current:hover {
    background: #eaaab7;
    color: #2d2d2d !important;
  }
}
.main-content--recruit .subpage-header__nav-link--current:active {
  background: #eaaab7;
  color: #2d2d2d !important;
}
.main-content--recruit > .page-top {
  margin-top: calc(100 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .main-content--recruit > .page-top {
    margin-top: 6.4rem;
  }
}

.recruit-floating-actions {
  position: fixed;
  right: calc(20 / 1440 * 100cqw);
  bottom: calc(20 / 1440 * 100cqw);
  z-index: 10;
  display: flex;
  flex-direction: column;
  gap: calc(9 / 1440 * 100cqw);
  transform-origin: right bottom;
  transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease;
}
@media screen and (min-width: 1441px) {
  .recruit-floating-actions {
    right: 20px;
    bottom: 20px;
    gap: 9px;
  }
}
@media screen and (max-width: 768px) {
  .recruit-floating-actions {
    right: 0;
    bottom: 0;
    left: 0;
    width: 100vw;
    flex-direction: row;
    gap: 8px;
    padding: 12px 10px calc(12px + env(safe-area-inset-bottom));
    background: #21205a;
  }
  .js .recruit-floating-actions {
    visibility: hidden;
    pointer-events: none;
    opacity: 0;
    transform: translateY(100%);
  }
}
@media screen and (min-width: 769px) {
  .recruit-floating-actions.floating-contact--compact {
    transform: scale(0.72);
  }
}
@media (min-width: 769px) and (max-width: 1100px) {
  .recruit-floating-actions {
    right: 12px;
    bottom: 12px;
    gap: 8px;
  }
  .recruit-floating-actions.floating-contact--compact {
    transform: none;
  }
}
@media screen and (max-width: 768px) {
  .js .recruit-floating-actions.floating-contact--visible {
    visibility: visible;
    pointer-events: auto;
    opacity: 1;
    transform: translateY(0);
  }
}
.js .recruit-floating-actions.floating-contact--hidden {
  visibility: hidden;
  pointer-events: none;
  opacity: 0;
  transform: translateY(2rem);
}
@media screen and (max-width: 768px) {
  .js .recruit-floating-actions.floating-contact--hidden {
    transform: translateY(100%);
  }
}
@media (prefers-reduced-motion: reduce) {
  .recruit-floating-actions {
    transition: none;
  }
}
.recruit-floating-actions .floating-contact {
  position: static;
  transition: none;
}
.recruit-floating-actions .floating-contact:first-child .floating-contact__button {
  border-color: #eaaab7;
}
.recruit-floating-actions .floating-contact:first-child .floating-contact__button:hover, .recruit-floating-actions .floating-contact:first-child .floating-contact__button:active {
  border-color: #eaaab7;
  color: #ffffff;
  background-color: #eaaab7;
}
.recruit-floating-actions .floating-contact:first-child .floating-contact__button:hover .floating-contact__arrow, .recruit-floating-actions .floating-contact:first-child .floating-contact__button:active .floating-contact__arrow {
  color: #c23642;
}
@media screen and (max-width: 768px) {
  .recruit-floating-actions .floating-contact:first-child .floating-contact__button:hover, .recruit-floating-actions .floating-contact:first-child .floating-contact__button:active {
    color: #21205a;
    background-color: #ffffff;
  }
  .recruit-floating-actions .floating-contact:first-child .floating-contact__button:hover .floating-contact__arrow, .recruit-floating-actions .floating-contact:first-child .floating-contact__button:active .floating-contact__arrow {
    color: #21205a;
  }
}
.recruit-floating-actions .floating-contact:last-child .floating-contact__button:hover, .recruit-floating-actions .floating-contact:last-child .floating-contact__button:active {
  border-color: #c23642;
  color: #ffffff;
  background-color: #c23642;
}
.recruit-floating-actions .floating-contact:last-child .floating-contact__button:hover .floating-contact__arrow, .recruit-floating-actions .floating-contact:last-child .floating-contact__button:active .floating-contact__arrow {
  color: #eaaab7;
}
@media screen and (max-width: 768px) {
  .recruit-floating-actions .floating-contact:last-child .floating-contact__button:hover, .recruit-floating-actions .floating-contact:last-child .floating-contact__button:active {
    color: #21205a;
    background-color: #ffffff;
  }
  .recruit-floating-actions .floating-contact:last-child .floating-contact__button:hover .floating-contact__arrow, .recruit-floating-actions .floating-contact:last-child .floating-contact__button:active .floating-contact__arrow {
    color: #21205a;
  }
}
@media screen and (max-width: 768px) {
  .recruit-floating-actions .floating-contact {
    display: block;
    width: calc(50% - 4px);
    padding: 0;
    background: transparent;
  }
  .js .recruit-floating-actions .floating-contact {
    visibility: visible;
    pointer-events: auto;
    opacity: 1;
    transform: none;
  }
}
.recruit-floating-actions .floating-contact__button {
  width: calc(160 / 1440 * 100cqw);
  height: calc(160 / 1440 * 100cqw);
  border-width: calc(8 / 1440 * 100cqw);
  font-size: 2rem;
  transform: none;
}
@media screen and (min-width: 1441px) {
  .recruit-floating-actions .floating-contact__button {
    width: 160px;
    height: 160px;
    border-width: 8px;
  }
}
@media (min-width: 769px) and (max-width: 1100px) {
  .recruit-floating-actions .floating-contact__button {
    width: 120px;
    height: 120px;
    border-width: 6px;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .recruit-floating-actions .floating-contact__button {
    width: 100%;
    height: 44px;
    padding-inline: 1rem 2.8rem;
    font-family: "Noto sans JP", sans-serif;
    font-size: 1.4rem;
    white-space: nowrap;
  }
}
@media screen and (max-width: 768px) {
  .recruit-floating-actions .floating-contact__arrow {
    right: 14px;
  }
}

.recruit-page {
  overflow: hidden;
}
.recruit-page .recruit-heading::before,
.recruit-page .subpage-heading::before {
  background-color: #eaaab7;
}

.recruit-container {
  width: calc(100% - 100px);
  max-width: 1000px;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .recruit-container {
    width: auto;
    max-width: none;
    margin-inline: calc(20 / 390 * 100cqw);
  }
}

.recruit-message {
  position: relative;
  margin-bottom: calc(100 / 1440 * 100cqw);
  isolation: isolate;
}
.recruit-message::before {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 50%;
  width: 139.0625%;
  height: auto;
  aspect-ratio: 1780/1236;
  background: url("../images/recruit/message-bg.svg") center/100% 100% no-repeat;
  content: "";
  transform: translate(-50%, -65.8576%);
}
@media screen and (max-width: 768px) {
  .recruit-message {
    min-height: 0;
    margin-bottom: 0;
    padding-bottom: 7rem;
  }
  .recruit-message::before {
    display: none;
  }
}
.recruit-message > .recruit-container {
  position: relative;
  z-index: 1;
}
.recruit-message__decor {
  position: absolute;
  z-index: 0;
  pointer-events: none;
}
.recruit-message__decor--white {
  top: calc(136 / 1440 * 100cqw);
  left: calc(50% + -559 / 1440 * 100cqw);
  width: calc(64 / 1440 * 100cqw);
  height: calc(64 / 1440 * 100cqw);
  transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .recruit-message__decor--white {
    display: none;
  }
}
.recruit-message__decor--pink {
  top: calc(47 / 1440 * 100cqw);
  left: calc(50% + -486 / 1440 * 100cqw);
  width: calc(108 / 1440 * 100cqw);
  height: calc(108 / 1440 * 100cqw);
  transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .recruit-message__decor--pink {
    top: calc(70 / 390 * 100cqw);
    left: auto;
    right: calc(-28 / 390 * 100cqw);
    width: calc(108 / 390 * 100cqw);
    height: calc(108 / 390 * 100cqw);
    transform: none;
  }
}
.recruit-message__decor--blue {
  top: calc(96 / 1440 * 100cqw);
  left: calc(50% + 411 / 1440 * 100cqw);
  width: calc(64 / 1440 * 100cqw);
  height: calc(64 / 1440 * 100cqw);
  transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .recruit-message__decor--blue {
    display: none;
  }
}
.recruit-message__decor--yellow {
  top: calc(617 / 1440 * 100cqw);
  left: calc(50% + 140 / 1440 * 100cqw);
  width: calc(108 / 1440 * 100cqw);
  height: calc(108 / 1440 * 100cqw);
  transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .recruit-message__decor--yellow {
    top: calc(470 / 390 * 100cqw);
    right: calc(-40 / 390 * 100cqw);
    left: auto;
    width: calc(89 / 390 * 100cqw);
    height: calc(89 / 390 * 100cqw);
    transform: none;
  }
}
.recruit-message__decor--green {
  top: calc(706 / 1440 * 100cqw);
  left: calc(50% + 57 / 1440 * 100cqw);
  width: calc(64 / 1440 * 100cqw);
  height: calc(64 / 1440 * 100cqw);
  transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .recruit-message__decor--green {
    top: calc(544 / 390 * 100cqw);
    right: calc(46 / 390 * 100cqw);
    left: auto;
    width: calc(53 / 390 * 100cqw);
    height: calc(53 / 390 * 100cqw);
    transform: none;
  }
}
.recruit-message__content {
  display: grid;
  align-items: start;
  margin-top: calc(40 / 1440 * 100cqw);
  grid-template-columns: 471fr 500fr;
  gap: calc(29 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .recruit-message__content {
    margin-top: 3.4rem;
    grid-template-columns: 1fr;
    gap: 2.8rem;
  }
}
.recruit-message__body h3 {
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 768px) {
  .recruit-message__body h3 {
    font-size: 2rem;
  }
}
.recruit-message__text {
  display: flex;
  flex-direction: column;
  gap: 2.8rem;
  margin-top: 4rem;
  font-size: 1.6rem;
  line-height: 1.8;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 768px) {
  .recruit-message__text {
    gap: 3rem;
    margin-top: 4rem;
  }
}
.recruit-message__portrait {
  margin-top: calc(-8 / 1440 * 100cqw);
  overflow: hidden;
}
.recruit-message__portrait img {
  width: 100%;
  aspect-ratio: 500/348;
  object-fit: cover;
  object-position: center;
}
@media screen and (max-width: 768px) {
  .recruit-message__portrait {
    order: -1;
    margin-top: 0;
  }
}

.recruit-voices {
  position: relative;
  overflow: visible;
  isolation: isolate;
}
.recruit-voices::before {
  position: absolute;
  z-index: 0;
  top: calc(440 / 1440 * 100cqw);
  left: 50%;
  width: 139.0625%;
  height: auto;
  aspect-ratio: 1780/1236;
  background: url("../images/recruit/message-bg.svg") center/100% 100% no-repeat;
  content: "";
  transform: translate(-50%, -18.8511%);
}
@media screen and (max-width: 768px) {
  .recruit-voices {
    padding-bottom: 7rem;
  }
  .recruit-voices::before {
    top: calc(170 / 390 * 100cqw);
    left: 50%;
    width: calc(1440 / 390 * 100cqw);
    height: calc(920 / 390 * 100cqw);
    border-radius: 50%;
    background: #f7e5e9;
    transform: translateX(-50%);
  }
}
.recruit-voices__catch {
  position: relative;
  z-index: 2;
  padding-inline: calc(20 / 1440 * 100cqw);
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
}
.recruit-voices__catch span {
  color: #ec7f96;
}
@media screen and (max-width: 768px) {
  .recruit-voices__catch {
    padding-inline: calc(15 / 390 * 100cqw);
    font-size: 1.8rem;
    line-height: 1.6;
  }
}
.recruit-voices__gallery {
  position: absolute;
  z-index: 1;
  top: calc(113 / 1440 * 100cqw);
  right: 0;
  left: 0;
  width: 100%;
  max-width: calc(1280 / 1440 * 100cqw);
  height: auto;
  margin-inline: auto;
  aspect-ratio: 1279/617;
}
.recruit-voices__gallery > img {
  position: absolute;
  height: auto;
  border-radius: 0 calc(40 / 1440 * 100cqw) 0 calc(40 / 1440 * 100cqw);
  object-fit: cover;
}
.recruit-voices__gallery > img:nth-child(1) {
  top: 0;
  left: 4.6912%;
  width: 39.093%;
}
@media screen and (max-width: 768px) {
  .recruit-voices__gallery > img:nth-child(1) {
    left: 0;
    width: calc(247.619 / 390 * 100cqw);
    height: calc(138.667 / 390 * 100cqw);
    border-radius: 0 calc(19.81 / 390 * 100cqw) 0 calc(19.81 / 390 * 100cqw);
  }
}
.recruit-voices__gallery > img:nth-child(3) {
  top: 56.7261%;
  left: 0;
  width: 31.2744%;
}
@media screen and (max-width: 768px) {
  .recruit-voices__gallery > img:nth-child(3) {
    display: none;
  }
}
.recruit-voices__gallery > img:nth-child(4) {
  top: 50.7293%;
  left: 35.9656%;
  width: 23.4558%;
}
@media screen and (max-width: 768px) {
  .recruit-voices__gallery > img:nth-child(4) {
    top: calc(164 / 390 * 100cqw);
    left: calc(20 / 390 * 100cqw);
    width: calc(200 / 390 * 100cqw);
    height: calc(133 / 390 * 100cqw);
    border-radius: 0 calc(24.762 / 390 * 100cqw) 0 calc(24.762 / 390 * 100cqw);
    z-index: 10;
  }
}
.recruit-voices__gallery > img:nth-child(5) {
  top: 53.8088%;
  left: 68.8038%;
  width: 31.2744%;
}
@media screen and (max-width: 768px) {
  .recruit-voices__gallery > img:nth-child(5) {
    top: auto;
    right: 0;
    bottom: calc(-1.24 / 390 * 100cqw);
    left: auto;
    width: calc(247.929 / 390 * 100cqw);
    height: calc(165.286 / 390 * 100cqw);
    border-radius: 0 calc(24.762 / 390 * 100cqw) 0 calc(24.762 / 390 * 100cqw);
  }
}
@media screen and (max-width: 768px) {
  .recruit-voices__gallery > img {
    border-radius: 0 calc(12 / 390 * 100cqw) 0 calc(12 / 390 * 100cqw);
  }
}
@media screen and (max-width: 768px) {
  .recruit-voices__gallery {
    position: relative;
    top: auto;
    max-width: none;
    aspect-ratio: 390/381.952;
    margin-top: 4rem;
  }
}
.recruit-voices__gallery-picture {
  position: absolute;
  top: 9.5624%;
  left: 56.294%;
  width: 31.2744%;
  overflow: hidden;
  border-radius: 0 calc(40 / 1440 * 100cqw) 0 calc(40 / 1440 * 100cqw);
  aspect-ratio: 800/480;
}
.recruit-voices__gallery-picture > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .recruit-voices__gallery-picture {
    top: calc(37.14 / 390 * 100cqw);
    right: 0;
    left: auto;
    width: calc(118.5 / 390 * 100cqw);
    height: calc(149 / 390 * 100cqw);
    border-radius: 0 0 0 calc(24.762 / 390 * 100cqw);
    aspect-ratio: auto;
  }
}
.recruit-voices__decorations {
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
}
.recruit-voices__decorations img {
  position: absolute;
  width: calc(120 / 1440 * 100cqw);
  height: auto;
}
@media screen and (max-width: 768px) {
  .recruit-voices__decorations img {
    display: none;
  }
}
.recruit-voices__decorations img:nth-child(1) {
  top: calc(1539 / 1440 * 100cqw);
  left: calc(-20 / 1440 * 100cqw);
}
.recruit-voices__decorations img:nth-child(2) {
  top: calc(1667.4 / 1440 * 100cqw);
  left: calc(50 / 1440 * 100cqw);
}
.recruit-voices__decorations img:nth-child(3) {
  top: calc(1727.4 / 1440 * 100cqw);
  left: calc(1200 / 1440 * 100cqw);
}
.recruit-voices__decorations img:nth-child(4) {
  top: calc(1911 / 1440 * 100cqw);
  left: calc(1176 / 1440 * 100cqw);
}
.recruit-voices__decorations img:nth-child(5) {
  top: calc(2011 / 1440 * 100cqw);
  left: calc(7 / 1440 * 100cqw);
}
.recruit-voices__decorations img:nth-child(6) {
  top: calc(1581 / 1440 * 100cqw);
  left: calc(1126 / 1440 * 100cqw);
}
.recruit-voices__decorations img:nth-child(7) {
  top: calc(2031 / 1440 * 100cqw);
  left: calc(1126 / 1440 * 100cqw);
}
.recruit-voices__decorations img:nth-child(8) {
  top: calc(2307.4 / 1440 * 100cqw);
  left: calc(60 / 1440 * 100cqw);
}
.recruit-voices__decorations img:nth-child(9) {
  top: calc(2491 / 1440 * 100cqw);
  left: calc(36 / 1440 * 100cqw);
}
.recruit-voices__decorations img:nth-child(10) {
  top: calc(2161 / 1440 * 100cqw);
  left: calc(-14 / 1440 * 100cqw);
}
.recruit-voices__decorations img:nth-child(11) {
  top: calc(2611 / 1440 * 100cqw);
  left: calc(-14 / 1440 * 100cqw);
}
.recruit-voices__decorations img:nth-child(12) {
  top: calc(1841 / 1440 * 100cqw);
  left: calc(-14 / 1440 * 100cqw);
}
.recruit-voices__decorations img:nth-child(13) {
  top: calc(2217.4 / 1440 * 100cqw);
  left: calc(1190 / 1440 * 100cqw);
}
.recruit-voices__decorations img:nth-child(14) {
  top: calc(2561 / 1440 * 100cqw);
  left: calc(1147 / 1440 * 100cqw);
}
.recruit-voices__decorations img:nth-child(15) {
  top: calc(2391 / 1440 * 100cqw);
  left: calc(1126 / 1440 * 100cqw);
}
.recruit-voices__content {
  position: relative;
  z-index: 2;
  margin-top: calc(649 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .recruit-voices__content {
    margin-top: calc(-12 / 390 * 100cqw);
    margin-inline: calc(15 / 390 * 100cqw);
  }
}
.recruit-voices__videos {
  display: grid;
  margin-top: calc(40 / 1440 * 100cqw);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: calc(40 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .recruit-voices__videos {
    margin-top: 2.8rem;
    grid-template-columns: 1fr;
    gap: 3.4rem;
  }
}
.recruit-voices__list {
  display: grid;
  margin-top: calc(16 / 1440 * 100cqw);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: calc(40 / 1440 * 100cqw);
  row-gap: calc(32 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .recruit-voices__list {
    margin-top: 4.2rem;
    grid-template-columns: 1fr;
    gap: 2.6rem;
  }
}

.recruit-video-card img,
.recruit-video-card iframe {
  width: 100%;
  aspect-ratio: 480/276;
  object-fit: cover;
}
.recruit-video-card h3 {
  margin-top: 1.6rem;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .recruit-video-card h3 {
    margin-top: 1.4rem;
    font-size: 1.7rem;
  }
}
.recruit-video-card p {
  margin-top: 0.8rem;
  font-size: 1.6rem;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .recruit-video-card p {
    font-size: 1.3rem;
  }
}

.recruit-voice-card {
  min-height: calc(512 / 1440 * 100cqw);
  padding: calc(24 / 1440 * 100cqw) calc(22 / 1440 * 100cqw) calc(24 / 1440 * 100cqw);
  border: calc(2 / 1440 * 100cqw) solid #eaaab7;
  border-radius: 0 calc(40 / 1440 * 100cqw) 0 calc(40 / 1440 * 100cqw);
  background: #fbfbfb;
}
@media screen and (max-width: 768px) {
  .recruit-voice-card {
    min-height: 0;
    padding: 2rem calc(14 / 390 * 100cqw) 2.2rem;
    border-width: calc(2 / 390 * 100cqw);
    border-radius: 0 calc(28 / 390 * 100cqw) 0 calc(28 / 390 * 100cqw);
  }
}
.recruit-voice-card > h3 {
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1.45;
  text-align: center;
}
.recruit-voice-card__photos {
  display: block;
  width: 100%;
  margin-top: calc(12 / 1440 * 100cqw);
  object-fit: fill;
}
@media screen and (max-width: 768px) {
  .recruit-voice-card__photos {
    height: auto;
    margin-top: 1.4rem;
  }
}
.recruit-voice-card > h4 {
  margin-top: 0.6rem;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.7;
}
@media screen and (max-width: 768px) {
  .recruit-voice-card > h4 {
    margin-top: 1.6rem;
    font-size: 1.6rem;
  }
}
.recruit-voice-card > p {
  margin-top: 0.6rem;
  font-size: 1.6rem;
  line-height: 1.7;
}

.recruit-numbers {
  position: relative;
  padding: calc(100 / 1440 * 100cqw) calc(20 / 1440 * 100cqw);
  background: #ffffff;
  font-family: "Inter", "Noto sans JP", sans-serif;
  overflow: clip;
}
@media screen and (max-width: 768px) {
  .recruit-numbers {
    padding: 0 0 calc(100 / 390 * 100cqw);
  }
}
@media screen and (max-width: 768px) {
  .recruit-numbers .recruit-container {
    margin-inline: calc(15 / 390 * 100cqw);
  }
}
.recruit-numbers__decor {
  position: absolute;
  top: calc(80 / 1440 * 100cqw);
  left: 50%;
  width: calc(1280 / 1440 * 100cqw);
  max-width: 100%;
  height: calc(112 / 1440 * 100cqw);
  transform: translateX(-50%);
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .recruit-numbers__decor {
    display: none;
  }
}
.recruit-numbers__digit {
  position: absolute;
  top: 0;
  color: #ffffff;
  font-size: calc(96 / 1440 * 100cqw);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1;
  paint-order: stroke fill;
  -webkit-text-stroke: 0.4166666667vw #eaaab7;
}
@media screen and (min-width: 1441px) {
  .recruit-numbers__digit {
    -webkit-text-stroke-width: 6px;
  }
}
.recruit-numbers__digit--n1 {
  top: calc(39.58 / 1440 * 100cqw);
  left: calc(67.95 / 1440 * 100cqw);
  transform: translateX(-50%) rotate(-19.15deg);
}
.recruit-numbers__digit--n2 {
  top: calc(-20 / 1440 * 100cqw);
  left: calc(137.95 / 1440 * 100cqw);
  transform: translateX(-50%) rotate(10.49deg);
}
.recruit-numbers__digit--n3 {
  top: calc(13.22 / 1440 * 100cqw);
  left: calc(217.45 / 1440 * 100cqw);
  transform: translateX(-50%) rotate(-2.89deg);
  -webkit-text-stroke-color: #efbd51;
}
.recruit-numbers__digit--n4 {
  top: calc(-20.12 / 1440 * 100cqw);
  left: calc(288.44 / 1440 * 100cqw);
  transform: translateX(-50%) rotate(-15.03deg);
  -webkit-text-stroke-color: #5da19e;
}
.recruit-numbers__digit--n5 {
  top: calc(-20 / 1440 * 100cqw);
  left: calc(371.45 / 1440 * 100cqw);
  transform: translateX(-50%) rotate(10.09deg);
  -webkit-text-stroke-color: #5586b5;
}
.recruit-numbers__digit--n6 {
  top: calc(-20 / 1440 * 100cqw);
  left: calc(916.48 / 1440 * 100cqw);
  transform: translateX(-50%) rotate(-19.15deg);
}
.recruit-numbers__digit--n7 {
  top: calc(10.18 / 1440 * 100cqw);
  left: calc(987.46 / 1440 * 100cqw);
  transform: translateX(-50%) rotate(10.49deg);
}
.recruit-numbers__digit--n8 {
  top: calc(-24.78 / 1440 * 100cqw);
  left: calc(1060.45 / 1440 * 100cqw);
  transform: translateX(-50%) rotate(-2.89deg);
  -webkit-text-stroke-color: #efbd51;
}
.recruit-numbers__digit--n9 {
  top: calc(8.5 / 1440 * 100cqw);
  left: calc(1130.44 / 1440 * 100cqw);
  transform: translateX(-50%) rotate(-11.21deg);
  -webkit-text-stroke-color: #5da19e;
}
.recruit-numbers__digit--n0 {
  top: 0;
  right: calc(70.43 / 1440 * 100cqw);
  transform: translateX(50%) rotate(10.09deg);
  -webkit-text-stroke-color: #5586b5;
}
.recruit-numbers__content {
  display: flex;
  flex-direction: column;
  gap: calc(40 / 1440 * 100cqw);
  margin-top: calc(60 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .recruit-numbers__content {
    gap: calc(40 / 390 * 100cqw);
    margin-top: calc(40 / 390 * 100cqw);
  }
}
.recruit-numbers__block {
  display: flex;
  flex-direction: column;
  gap: calc(18 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .recruit-numbers__block {
    gap: calc(18 / 390 * 100cqw);
  }
}
.recruit-numbers__label {
  display: grid;
  align-items: center;
  gap: calc(14 / 1440 * 100cqw);
  grid-template-columns: auto 1fr auto;
}
.recruit-numbers__label h3 {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
  white-space: nowrap;
}
.recruit-numbers__label h3 span {
  color: #eb5a77;
}
@media screen and (max-width: 768px) {
  .recruit-numbers__label {
    gap: calc(8 / 390 * 100cqw) calc(14 / 390 * 100cqw);
    grid-template-columns: auto 1fr;
  }
}
.recruit-numbers__rule {
  display: block;
  height: 1px;
  background: #f1dce3;
}
.recruit-numbers__note {
  color: #757575;
  font-size: 1.3rem;
  line-height: 1.4;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .recruit-numbers__note {
    font-size: 1.4rem;
    grid-column: 1/-1;
    white-space: normal;
  }
}

.recruit-stats {
  display: grid;
  gap: calc(20 / 1440 * 100cqw);
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media screen and (max-width: 768px) {
  .recruit-stats {
    gap: calc(7.2 / 390 * 100cqw);
  }
}

.recruit-stat {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(6 / 1440 * 100cqw);
  padding: calc(30 / 1440 * 100cqw) calc(26 / 1440 * 100cqw) calc(26 / 1440 * 100cqw);
  border: calc(2 / 1440 * 100cqw) solid #eaaab7;
  border-radius: calc(12 / 1440 * 100cqw) calc(12 / 1440 * 100cqw) calc(12 / 1440 * 100cqw) calc(34 / 1440 * 100cqw);
  background: #ffffff;
  overflow: hidden;
  text-align: center;
}
.recruit-stat::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: calc(4 / 1440 * 100cqw);
  background: #eaaab7;
  content: "";
}
@media screen and (max-width: 768px) {
  .recruit-stat::before {
    height: calc(1.44 / 390 * 100cqw);
  }
}
@media screen and (max-width: 768px) {
  .recruit-stat {
    gap: calc(2.16 / 390 * 100cqw);
    padding: calc(10.8 / 390 * 100cqw) calc(9.36 / 390 * 100cqw) calc(9.36 / 390 * 100cqw);
    border-width: calc(2 / 390 * 100cqw);
    border-radius: calc(4.32 / 390 * 100cqw) calc(4.32 / 390 * 100cqw) calc(4.32 / 390 * 100cqw) calc(12.24 / 390 * 100cqw);
  }
}
.recruit-stat__label {
  color: #757575;
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .recruit-stat__label {
    font-size: 1.1rem;
  }
}
.recruit-stat__value {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: calc(2 / 1440 * 100cqw);
  font-weight: 700;
  line-height: 1.1;
}
.recruit-stat__value span {
  font-size: 2.2rem;
}
.recruit-stat__value b {
  color: #eb5a77;
  font-size: 5.4rem;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .recruit-stat__value {
    gap: calc(1 / 390 * 100cqw);
  }
  .recruit-stat__value span {
    font-size: 1.3rem;
  }
  .recruit-stat__value b {
    font-size: 2.7rem;
  }
}
.recruit-stat__note {
  color: #757575;
  font-size: 1.3rem;
  letter-spacing: -0.02em;
  line-height: 1.65;
}
@media screen and (max-width: 768px) {
  .recruit-stat__note {
    font-size: 1.1rem;
    line-height: 1.4;
  }
}
.recruit-stat--deep .recruit-stat__value b {
  color: #d75570;
}

.recruit-inits {
  display: grid;
  gap: calc(20 / 1440 * 100cqw);
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media screen and (max-width: 768px) {
  .recruit-inits {
    gap: calc(7.2 / 390 * 100cqw);
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.recruit-init {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(12 / 1440 * 100cqw);
  padding: calc(30 / 1440 * 100cqw) calc(22 / 1440 * 100cqw) calc(26 / 1440 * 100cqw);
  border: calc(2 / 1440 * 100cqw) solid #eaaab7;
  border-radius: calc(12 / 1440 * 100cqw) calc(12 / 1440 * 100cqw) calc(30 / 1440 * 100cqw) calc(12 / 1440 * 100cqw);
  background: #ffffff;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .recruit-init {
    gap: calc(4.32 / 390 * 100cqw);
    padding: calc(10.8 / 390 * 100cqw) calc(7.92 / 390 * 100cqw) calc(9.36 / 390 * 100cqw);
    border-width: calc(2 / 390 * 100cqw);
    border-radius: calc(4.32 / 390 * 100cqw) calc(4.32 / 390 * 100cqw) calc(10.8 / 390 * 100cqw) calc(4.32 / 390 * 100cqw);
  }
}
.recruit-init__icon {
  display: grid;
  width: calc(64 / 1440 * 100cqw);
  height: calc(64 / 1440 * 100cqw);
  flex-shrink: 0;
  place-items: center;
  border-radius: 50%;
  background: #fbedf1;
}
.recruit-init__icon img {
  width: calc(34 / 1440 * 100cqw);
  height: calc(34 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .recruit-init__icon {
    width: calc(32.26 / 390 * 100cqw);
    height: calc(32.26 / 390 * 100cqw);
  }
  .recruit-init__icon img {
    width: calc(17.14 / 390 * 100cqw);
    height: calc(17.14 / 390 * 100cqw);
  }
}
.recruit-init__label {
  color: #757575;
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .recruit-init__label {
    font-size: 1.1rem;
  }
}
.recruit-init__text {
  display: flex;
  min-height: calc(74 / 1440 * 100cqw);
  align-items: center;
  justify-content: center;
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .recruit-init__text {
    min-height: calc(26.64 / 390 * 100cqw);
    font-size: 1.2rem;
  }
}
.recruit-init__status {
  display: inline-flex;
  align-items: center;
  gap: calc(6 / 1440 * 100cqw);
  padding: calc(6 / 1440 * 100cqw) calc(13 / 1440 * 100cqw);
  border: calc(1.4 / 1440 * 100cqw) solid #eaaab7;
  border-radius: 999px;
  background: #fbedf1;
  color: #eb5a77;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.4;
  white-space: nowrap;
}
.recruit-init__status img {
  width: calc(14 / 1440 * 100cqw);
  height: calc(14 / 1440 * 100cqw);
}
.recruit-init__status--done {
  border-color: transparent;
  background: #eb5a77;
  color: #ffffff;
}
@media screen and (max-width: 768px) {
  .recruit-init__status {
    gap: calc(4.23 / 390 * 100cqw);
    padding: calc(4.23 / 390 * 100cqw) calc(9.17 / 390 * 100cqw);
    border-width: calc(1.6 / 390 * 100cqw);
    font-size: 1rem;
  }
  .recruit-init__status img {
    width: calc(10 / 390 * 100cqw);
    height: calc(10 / 390 * 100cqw);
  }
}

.recruit-career {
  position: relative;
  padding: 0 0 calc(100 / 1440 * 100cqw);
  isolation: isolate;
}
.recruit-career::before {
  position: absolute;
  z-index: -1;
  top: calc(544 / 1440 * 100cqw);
  left: 50%;
  width: calc(1780 / 1440 * 100cqw);
  aspect-ratio: 1780/1236;
  background: url("../images/recruit/career-bg.svg") center/100% 100% no-repeat;
  content: "";
  transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .recruit-career::before {
    top: calc(640 / 390 * 100cqw);
    width: calc(890 / 390 * 100cqw);
  }
}
@media screen and (max-width: 768px) {
  .recruit-career {
    padding: 0 0 7rem;
  }
}
.recruit-career__introduction {
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
  margin-top: calc(40 / 1440 * 100cqw);
  font-size: 2rem;
  letter-spacing: -0.02em;
  line-height: 1.6;
}
.recruit-career__introduction strong {
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .recruit-career__introduction {
    gap: 4rem;
    margin-top: 4.4rem;
    font-size: 1.6rem;
    line-height: 1.6;
  }
}
.recruit-career__tree {
  position: relative;
  width: 100%;
  margin-top: calc(40 / 1440 * 100cqw);
}
@media screen and (max-width: 899px) {
  .recruit-career__tree {
    width: 360px;
    max-width: 100%;
    margin-top: 4.4rem;
    margin-inline: auto;
  }
}
@media screen and (max-width: 768px) {
  .recruit-career__tree {
    width: calc(360 / 390 * 100cqw);
  }
}
.recruit-career__tree-pc {
  position: relative;
  width: 100%;
  aspect-ratio: 1000/980;
}
@media screen and (max-width: 899px) {
  .recruit-career__tree-pc {
    display: none;
  }
}
.recruit-career__tree-sp {
  position: relative;
  display: none;
  width: 100%;
  aspect-ratio: 360/380;
}
@media screen and (max-width: 899px) {
  .recruit-career__tree-sp {
    display: block;
  }
}
.recruit-career__tree-sp > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.recruit-career__tree-art {
  position: absolute;
  inset: 0;
  overflow: visible;
}
.recruit-career__tree-layer {
  position: absolute;
  z-index: 0;
  width: auto;
  max-width: none;
}
.recruit-career__tree-layer--back-right {
  top: 33.62%;
  left: 61.15%;
  width: 38.9%;
  transform: rotate(15deg);
}
.recruit-career__tree-layer--trunk {
  top: 32.55%;
  left: 33.5%;
  width: 33%;
}
.recruit-career__tree-layer--trunk-leaf {
  top: 53.06%;
  left: 54.8%;
  width: 17%;
}
.recruit-career__tree-layer--back-top-right {
  top: 6.22%;
  left: 60.4%;
  width: 21.6%;
}
.recruit-career__tree-layer--back-bottom {
  top: 55.31%;
  left: 29.2%;
  width: 17.4%;
}
.recruit-career__tree-layer--back-left {
  top: 41.63%;
  left: 0;
  width: 25.5%;
}
.recruit-career__tree-layer--back-top-left {
  top: 6.12%;
  left: 20.8%;
  width: 18.3%;
}
.recruit-career__tree-layer--back-center-right {
  top: 25.1%;
  left: 52.6%;
  width: 20.5%;
}
.recruit-career__tree-layer--back-center-left {
  top: 44.9%;
  left: 17.8%;
  width: 18.3%;
}
.recruit-career__tree-layer--back-mid-left {
  top: 34.9%;
  left: 9%;
  width: 34.4%;
}
.recruit-career__tree-layer--leader {
  z-index: 1;
  top: 16.12%;
  left: 0.4%;
  width: 38.9%;
}
.recruit-career__tree-layer--expert {
  z-index: 1;
  top: 16.12%;
  right: 0.2%;
  width: 39%;
}
.recruit-career__tree-layer--management {
  z-index: 2;
  top: 0.05%;
  left: 29.55%;
  width: 41%;
}
.recruit-career__tree-layer--follower {
  z-index: 2;
  top: 31.31%;
  left: 30.35%;
  width: 39.3%;
  transform: rotate(15deg);
}
.recruit-career__tree-layer--arrow-left {
  z-index: 3;
  top: 47.45%;
  left: 28.9%;
  width: 7.2%;
}
.recruit-career__tree-layer--arrow-right {
  z-index: 3;
  top: 47.45%;
  left: 63.9%;
  width: 7.2%;
}
.recruit-career__tree-layer--sprout {
  z-index: 1;
  top: 87.65%;
  left: 11%;
  width: 22.7%;
}
.recruit-career__tree-branch {
  position: absolute;
  z-index: 0;
  top: 65.87%;
  left: 67.8%;
  width: 4.6%;
  height: 16.1%;
  background: #f5e5c5;
  transform: rotate(45.27deg);
}
.recruit-career__course {
  position: absolute;
  z-index: 4;
  text-align: center;
}
.recruit-career__course h3 {
  display: inline-block;
  padding: 0.6rem 1rem;
  border: 2px solid #efbd51;
  border-radius: 1.3rem;
  background: #ffffff;
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.2;
  white-space: nowrap;
}
.recruit-career__course p {
  font-size: 1.6rem;
  letter-spacing: -0.02em;
  line-height: 1.6;
}
.recruit-career__course--management {
  top: 6.33%;
  left: 33.5%;
  width: 34%;
}
@media (min-width: 769px) and (max-width: 1100px) {
  .recruit-career__course--management {
    top: 4%;
    left: 33.5%;
    width: 34%;
  }
}
@media screen and (max-width: 768px) {
  .recruit-career__course--management {
    top: 6.33%;
    left: 36.5%;
    width: 27%;
  }
}
.recruit-career__course--management .recruit-career__course-role {
  color: #ffffff;
}
.recruit-career__course--leader {
  top: 23.88%;
  left: 6%;
  width: 28%;
}
.recruit-career__course--expert {
  top: 23.88%;
  left: 65.8%;
  width: 29%;
}
@media (min-width: 769px) and (max-width: 1100px) {
  .recruit-career__course--expert {
    left: 64%;
    width: 33%;
  }
}
@media screen and (max-width: 768px) {
  .recruit-career__course--expert {
    top: 23.88%;
    left: 66.8%;
    width: 27%;
  }
}
.recruit-career__course--follower {
  top: 37.55%;
  left: 33%;
  width: 34%;
}
.recruit-career__course--standard {
  top: 76.02%;
  left: 35.5%;
  width: 29%;
}
.recruit-career__course--standard .recruit-career__course-role {
  color: #2d2d2d;
}
@media (min-width: 769px) and (max-width: 1100px) {
  .recruit-career__course h3 {
    padding: 0.4rem 0.7rem;
    font-size: 1.8rem;
  }
  .recruit-career__course p {
    font-size: 1.2rem;
  }
  .recruit-career__course .recruit-career__course-role {
    margin-top: 0.4rem;
  }
}
.recruit-career__course-role {
  margin-top: 0.7rem;
  color: #136433;
  font-weight: 700;
  line-height: 1.4;
}
.recruit-career__course-role + p {
  margin-top: 0.4rem;
}
@media (min-width: 769px) and (max-width: 1100px) {
  .recruit-career__course-role {
    margin-top: 0.4rem;
  }
}
.recruit-career__tree-actions {
  display: none;
}
@media screen and (max-width: 899px) {
  .recruit-career__tree-actions {
    position: absolute;
    z-index: 5;
    inset: 0;
    display: block;
  }
}
.recruit-career__callout {
  position: absolute;
  z-index: 1;
  min-width: 32rem;
  padding: calc(26 / 1440 * 100cqw) calc(14 / 1440 * 100cqw) calc(22 / 1440 * 100cqw);
  border: calc(5 / 1440 * 100cqw) solid #eba8b7;
  border-radius: calc(36 / 1440 * 100cqw);
  background: #ffffff;
  text-align: center;
}
@media (min-width: 769px) and (max-width: 1100px) {
  .recruit-career__callout {
    min-width: 24rem;
  }
}
.recruit-career__callout h3 {
  color: #ee7b70;
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.6;
}
@media (min-width: 769px) and (max-width: 1100px) {
  .recruit-career__callout h3 {
    font-size: 1.8rem;
  }
}
.recruit-career__callout p {
  margin-top: 1.2rem;
  font-size: 1.6rem;
  letter-spacing: -0.02em;
  line-height: 1.6;
}
@media (min-width: 769px) and (max-width: 1100px) {
  .recruit-career__callout p {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 899px) {
  .recruit-career__callout {
    display: none;
  }
}
.recruit-career__callout--change {
  top: calc(610 / 1440 * 100cqw);
  left: calc(-46 / 1440 * 100cqw);
}
.recruit-career__callout--short {
  top: calc(735 / 1440 * 100cqw);
  right: calc(-34 / 1440 * 100cqw);
}
@media screen and (max-width: 899px) {
  .recruit-career__tree-button {
    position: absolute;
    display: grid;
    width: 30px;
    height: 30px;
    min-width: 30px;
    min-height: 30px;
    place-items: center;
    border-radius: 50%;
    background: transparent;
    color: transparent;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1;
    transform: translate(-50%, -50%);
  }
  .recruit-career__tree-button::after {
    position: absolute;
    inset: -7px;
    border-radius: 50%;
    content: "";
  }
  .recruit-career__tree-button span[aria-hidden=true] {
    visibility: hidden;
  }
}
@media screen and (max-width: 899px) and (any-hover: hover) {
  .recruit-career__tree-button:hover {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1.08);
  }
}
@media screen and (max-width: 899px) {
  .recruit-career__tree-button:active {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1.08);
  }
}
@media screen and (max-width: 768px) {
  .recruit-career__tree-button {
    width: calc(30 / 390 * 100cqw);
    height: calc(30 / 390 * 100cqw);
  }
}
@media screen and (max-width: 899px) {
  .recruit-career__tree-button--management {
    top: 22.71%;
    left: 50%;
  }
}
@media screen and (max-width: 899px) {
  .recruit-career__tree-button--leader {
    top: 46.58%;
    left: 24.44%;
  }
}
@media screen and (max-width: 899px) {
  .recruit-career__tree-button--expert {
    top: 46.58%;
    left: 75.56%;
  }
}
@media screen and (max-width: 899px) {
  .recruit-career__tree-button--follower {
    top: 54.74%;
    left: 50%;
  }
}
@media screen and (max-width: 899px) {
  .recruit-career__tree-button--standard {
    top: 92.63%;
    left: 50%;
  }
}
@media screen and (max-width: 899px) {
  .recruit-career__tree-button--change {
    top: 92.63%;
    left: 14.86%;
  }
}
@media screen and (max-width: 899px) {
  .recruit-career__tree-button--short {
    top: 92.63%;
    left: 85.14%;
  }
}
.recruit-career__certification {
  display: flex;
  flex-direction: column;
  gap: calc(40 / 1440 * 100cqw);
  margin-top: calc(24 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .recruit-career__certification {
    gap: 2.4rem;
    margin-top: 1.8rem;
  }
}
.recruit-career__certification-card {
  position: relative;
  display: flex;
  align-items: center;
  gap: calc(24 / 1440 * 100cqw);
  min-height: calc(384 / 1440 * 100cqw);
  padding: calc(32 / 1440 * 100cqw) calc(40 / 1440 * 100cqw);
  overflow: visible;
  border-radius: 0 calc(40 / 1440 * 100cqw) 0 calc(40 / 1440 * 100cqw);
  background: #f7e5e9;
}
@media screen and (max-width: 768px) {
  .recruit-career__certification-card {
    display: grid;
    min-height: 0;
    padding: calc(32 / 390 * 100cqw) calc(24 / 390 * 100cqw) calc(30 / 390 * 100cqw);
    border-radius: 0 calc(40 / 390 * 100cqw) 0 calc(40 / 390 * 100cqw);
    grid-template-columns: calc(63 / 390 * 100cqw) minmax(0, 1fr);
    gap: calc(24 / 390 * 100cqw) calc(16 / 390 * 100cqw);
  }
}
.recruit-career__certification-logo {
  display: grid;
  width: calc(200 / 1440 * 100cqw);
  height: calc(320 / 1440 * 100cqw);
  flex: 0 0 auto;
  place-items: center;
  background: #ffffff;
}
.recruit-career__certification-logo img {
  width: calc(200 / 1440 * 100cqw);
  height: calc(283 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .recruit-career__certification-logo {
    width: calc(63 / 390 * 100cqw);
    height: calc(100 / 390 * 100cqw);
  }
  .recruit-career__certification-logo img {
    width: calc(63 / 390 * 100cqw);
    height: auto;
  }
}
.recruit-career__certification-body {
  display: flex;
  min-width: 0;
  flex: 1;
  flex-direction: column;
  gap: 2.4rem;
  padding: calc(32 / 1440 * 100cqw) calc(24 / 1440 * 100cqw);
}
.recruit-career__certification-body h3 {
  font-size: 2.6rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.8;
}
.recruit-career__certification-body p {
  font-size: 1.6rem;
  letter-spacing: -0.02em;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .recruit-career__certification-body {
    display: contents;
  }
  .recruit-career__certification-body h3 {
    align-self: center;
    font-size: 1.8rem;
    line-height: 1.6;
  }
  .recruit-career__certification-body p {
    grid-column: 1/-1;
    font-size: 1.6rem;
    line-height: 1.8;
  }
}
.recruit-career__certification-decor {
  position: absolute;
  top: calc(-30 / 1440 * 100cqw);
  right: calc(-30 / 1440 * 100cqw);
  width: calc(226 / 1440 * 100cqw);
  height: calc(160 / 1440 * 100cqw);
  pointer-events: none;
}
.recruit-career__certification-decor img {
  position: absolute;
}
.recruit-career__certification-decor img:nth-child(1) {
  top: 0;
  right: 0;
  width: calc(148 / 1440 * 100cqw);
}
.recruit-career__certification-decor img:nth-child(2) {
  top: calc(52 / 1440 * 100cqw);
  left: 0;
  width: calc(64 / 1440 * 100cqw);
}
.recruit-career__certification-decor img:nth-child(3) {
  top: calc(80 / 1440 * 100cqw);
  left: calc(72 / 1440 * 100cqw);
  width: calc(80 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .recruit-career__certification-decor {
    top: calc(-25 / 390 * 100cqw);
    right: calc(-5 / 390 * 100cqw);
    width: calc(88 / 390 * 100cqw);
    height: calc(74 / 390 * 100cqw);
  }
  .recruit-career__certification-decor img:nth-child(1) {
    width: calc(54 / 390 * 100cqw);
  }
  .recruit-career__certification-decor img:nth-child(2) {
    top: calc(28 / 390 * 100cqw);
    width: calc(24 / 390 * 100cqw);
  }
  .recruit-career__certification-decor img:nth-child(3) {
    top: calc(38 / 390 * 100cqw);
    left: calc(27 / 390 * 100cqw);
    width: calc(32 / 390 * 100cqw);
  }
}
.recruit-career__certification-text {
  display: flex;
  flex-direction: column;
  gap: 0;
  font-size: 1.6rem;
  letter-spacing: -0.02em;
  line-height: 1.8;
}

.recruit-career-dialog {
  width: min(100% - 30px, 360px);
  max-width: none;
  max-height: none;
  margin: auto;
  overflow: visible;
  background: transparent;
}
.recruit-career-dialog::backdrop {
  background: rgba(45, 45, 45, 0.38);
}
.recruit-career-dialog__card {
  position: relative;
  width: 360px;
  max-width: 100%;
  aspect-ratio: 1;
}
@media (min-width: 769px) and (max-width: 899px) {
  .recruit-career-dialog__card {
    transform: translateX(calc(80 / 1440 * 100cqw));
  }
}
.recruit-career-dialog__background {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.recruit-career-dialog__body {
  position: absolute;
  top: 6.366rem;
  left: 50%;
  display: flex;
  width: 28.6rem;
  flex-direction: column;
  align-items: center;
  gap: 0.6rem;
  text-align: center;
  transform: translateX(-50%);
}
.recruit-career-dialog__body h3 {
  padding: 0.6rem 1rem;
  border: 2px solid #efbd51;
  border-radius: 1.3rem;
  background: #ffffff;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.2;
  white-space: nowrap;
}
.recruit-career-dialog__body p {
  font-size: 1.5rem;
  letter-spacing: -0.02em;
  line-height: 1.6;
}
.recruit-career-dialog__body .recruit-career-dialog__role {
  color: #136433;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.4;
}
.recruit-career-dialog__close {
  position: absolute;
  bottom: 4rem;
  left: 50%;
  display: flex;
  min-height: 5rem;
  align-items: center;
  gap: 0.6rem;
  transform: translateX(-50%);
}
@media (any-hover: hover) {
  .recruit-career-dialog__close:hover {
    opacity: 1;
  }
  .recruit-career-dialog__close:hover .recruit-career-dialog__close-icon {
    transform: rotate(90deg);
  }
}
.recruit-career-dialog__close:active {
  opacity: 1;
}
.recruit-career-dialog__close:active .recruit-career-dialog__close-icon {
  transform: rotate(90deg);
}
.recruit-career-dialog__close-icon {
  display: grid;
  width: 3rem;
  height: 3rem;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 50%;
  background: #ffffff;
  color: #a7dd82;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1;
  transition: transform 0.3s ease;
}
.recruit-career-dialog__close-label {
  font-size: 1.4rem;
  line-height: 1.6;
}
.recruit-career-dialog--management .recruit-career-dialog__body {
  top: 5.2rem;
  width: 28.8rem;
}
.recruit-career-dialog--management .recruit-career-dialog__body .recruit-career-dialog__role {
  color: #ffffff;
  font-size: 1.5rem;
  line-height: 1.8;
}
.recruit-career-dialog--management .recruit-career-dialog__close-icon {
  background: #ffffff;
  color: #8dc766;
}
.recruit-career-dialog--leader .recruit-career-dialog__role {
  color: #136433;
}
.recruit-career-dialog--leader .recruit-career-dialog__close-icon {
  background: #ffffff;
  color: #a7dd82;
}
.recruit-career-dialog--expert .recruit-career-dialog__role {
  color: #136433;
}
.recruit-career-dialog--expert .recruit-career-dialog__close-icon {
  background: #ffffff;
  color: #a7dd82;
}
.recruit-career-dialog--follower .recruit-career-dialog__body {
  top: 4.766rem;
}
.recruit-career-dialog--follower .recruit-career-dialog__close {
  bottom: 3rem;
}
.recruit-career-dialog--follower .recruit-career-dialog__close-icon {
  background: #ffffff;
  color: #a7dd82;
}
.recruit-career-dialog--change .recruit-career-dialog__body {
  top: 8.6rem;
  width: 26.3rem;
}
.recruit-career-dialog--change .recruit-career-dialog__body h3 {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #ee7b70;
}
.recruit-career-dialog--change .recruit-career-dialog__close-icon {
  background: #eaaab7;
  color: #ffffff;
}
.recruit-career-dialog--standard .recruit-career-dialog__body {
  top: 5.866rem;
}
.recruit-career-dialog--short .recruit-career-dialog__body {
  top: 8.6rem;
  width: 26.6rem;
  gap: 1.6rem;
}
.recruit-career-dialog--short .recruit-career-dialog__body h3 {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #ee7b70;
}
.recruit-career-dialog--short .recruit-career-dialog__body #recruit-career-dialog-description {
  font-size: 1.6rem;
}
.recruit-career-dialog--short .recruit-career-dialog__close-icon {
  background: #eaaab7;
  color: #ffffff;
}
.recruit-career-dialog[open] {
  animation: career-dialog-in 0.22s ease-out both;
}
@media (prefers-reduced-motion: reduce) {
  .recruit-career-dialog[open] {
    animation: none;
  }
  .recruit-career-dialog .recruit-career-dialog__close-icon {
    transition: none;
  }
}

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

@keyframes career-dialog-in {
  from {
    opacity: 0;
    transform: scale(0.96);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
.recruit-uniform {
  padding: 0 0 calc(100 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .recruit-uniform {
    padding: 0 0 7rem;
  }
  .recruit-uniform .recruit-container {
    margin-inline: calc(7.5 / 390 * 100cqw);
  }
}
.recruit-uniform__list {
  display: grid;
  width: 100%;
  margin-top: calc(40 / 1440 * 100cqw);
  grid-template-columns: repeat(4, 1fr);
  gap: calc(40 / 1440 * 100cqw);
}
@media (min-width: 769px) and (max-width: 1100px) {
  .recruit-uniform__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (max-width: 768px) {
  .recruit-uniform__list {
    width: calc(360 / 390 * 100cqw);
    max-width: 50rem;
    margin-top: 2rem;
    margin-inline: auto;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2.4rem 2rem;
  }
}

.recruit-uniform-card {
  position: relative;
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  padding-top: 131.8181818182%;
}
@media screen and (max-width: 768px) {
  .recruit-uniform-card {
    padding-top: 132.9411764706%;
  }
  .js .recruit-uniform-card {
    cursor: pointer;
  }
}
.recruit-uniform-card__visual {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  aspect-ratio: 220/323;
}
.recruit-uniform-card__visual > span {
  position: absolute;
  z-index: 3;
  top: calc(-10 / 1440 * 100cqw);
  left: calc(-10 / 1440 * 100cqw);
  display: grid;
  width: calc(70 / 1440 * 100cqw);
  height: calc(70 / 1440 * 100cqw);
  min-width: 5rem;
  min-height: 5rem;
  border-radius: 50%;
  background: #eaaab7;
  color: #ffffff;
  font-size: 3rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  place-items: center;
}
@media screen and (max-width: 768px) {
  .recruit-uniform-card__visual > span {
    top: -2.4039328341%;
    left: -4.7058823529%;
    width: 27.0588235294%;
    height: auto;
    aspect-ratio: 1;
    font-size: 2rem;
  }
}
.recruit-uniform-card__background {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: fill;
}
.recruit-uniform-card__person {
  position: absolute;
  z-index: 2;
  top: 5.572755418%;
  left: 50%;
  width: 42.7272727273%;
  height: 99.0712074303%;
  max-width: none;
  object-fit: fill;
  transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .recruit-uniform-card__person {
    top: 6.4104875576%;
  }
}
.recruit-uniform-card__body {
  position: relative;
  z-index: 1;
  width: 100%;
  flex: 1;
  padding: 25.4545454545% calc(20 / 1440 * 100cqw) calc(30 / 1440 * 100cqw);
  border-radius: 0 calc(20 / 1440 * 100cqw) 0 calc(20 / 1440 * 100cqw);
  background: #f7e5e9;
  letter-spacing: -0.02em;
}
.recruit-uniform-card__body h3 {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.6;
}
.recruit-uniform-card__body p {
  margin-top: 0.8rem;
  font-size: 1.6rem;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .recruit-uniform-card__body {
    flex: none;
    height: auto;
    min-height: 0;
    overflow: hidden;
    padding: 23.5294117647% 4.7058823529% 2.4rem;
    border-radius: 0 9.0911764706% 0 9.0911764706%;
    aspect-ratio: 170/150;
  }
  .recruit-uniform-card__body h3 {
    width: 100%;
    font-size: 1.5rem;
    line-height: 1.4;
    text-align: center;
  }
  .js .recruit-uniform-card__body p {
    display: none;
  }
  html:not(.js) .recruit-uniform-card__body {
    aspect-ratio: auto;
  }
}
.recruit-uniform-card__open {
  display: none;
}
@media screen and (max-width: 768px) {
  .js .recruit-uniform-card__open {
    position: absolute;
    z-index: 4;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    width: auto;
    height: auto;
    margin: 0;
    border-radius: 0 9.0911764706% 0 9.0911764706%;
    background: transparent;
    color: #ffffff;
  }
  .recruit-uniform-card__open > span:first-child {
    position: absolute;
    bottom: 6.3829787234%;
    left: 50%;
    display: flex;
    width: 23.5294117647%;
    height: auto;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    aspect-ratio: 1;
    background: #eaaab7;
    font-size: 2.667rem;
    font-weight: 700;
    line-height: 1;
    transform: translateX(-50%);
  }
}
.recruit-uniform-card--summer .recruit-uniform-card__visual > span {
  background: #5da19e;
}
.recruit-uniform-card--summer .recruit-uniform-card__body {
  background: #aedcda;
}
.recruit-uniform-card--summer .recruit-uniform-card__open > span:first-child {
  background: #5da19e;
}
.recruit-uniform-card--summer .recruit-uniform-card__person {
  left: 54.7727272727%;
  width: 51.3636363636%;
}
@media screen and (max-width: 768px) {
  .recruit-uniform-card--summer .recruit-uniform-card__person {
    left: 54.7705882353%;
    width: 51.3635294118%;
  }
}
.recruit-uniform-card--autumn .recruit-uniform-card__visual > span {
  background: #efbd51;
}
.recruit-uniform-card--autumn .recruit-uniform-card__body {
  background: #f4dead;
}
.recruit-uniform-card--autumn .recruit-uniform-card__open > span:first-child {
  background: #efbd51;
}
.recruit-uniform-card--autumn .recruit-uniform-card__person {
  width: 43.6363636364%;
  height: 97.213622291%;
}
@media screen and (max-width: 768px) {
  .recruit-uniform-card--autumn .recruit-uniform-card__person {
    top: 6.0098320853%;
    width: 43.6364705882%;
    height: 97.2134411898%;
  }
}
.recruit-uniform-card--winter .recruit-uniform-card__visual > span {
  background: #5586b5;
}
.recruit-uniform-card--winter .recruit-uniform-card__body {
  background: #b7cfe5;
}
.recruit-uniform-card--winter .recruit-uniform-card__open > span:first-child {
  background: #5586b5;
}
.recruit-uniform-card--winter .recruit-uniform-card__person {
  width: 50.4545454545%;
  height: 97.213622291%;
}
@media screen and (max-width: 768px) {
  .recruit-uniform-card--winter .recruit-uniform-card__person {
    top: 5.6091766129%;
    width: 50.4547058824%;
    height: 97.2134411898%;
  }
}

.recruit-uniform-dialog {
  width: calc(360 / 390 * 100cqw);
  max-width: calc(100% - 15 / 390 * 100cqw);
  padding: 0;
  margin: auto;
  overflow: visible;
  border: 0;
  background: transparent;
}
.recruit-uniform-dialog::backdrop {
  background: rgba(45, 45, 45, 0.58);
}
.recruit-uniform-dialog__card {
  position: relative;
  width: 100%;
  max-width: 45rem;
  height: auto;
  margin: 0 auto;
  aspect-ratio: 360/314;
}
.recruit-uniform-dialog__visual {
  position: absolute;
  inset: 0 auto 0 0;
  width: 47.2222222222%;
  height: 100%;
}
.recruit-uniform-dialog__background {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.recruit-uniform-dialog__season {
  position: absolute;
  z-index: 3;
  top: -1.9108280255%;
  left: -4.7058823529%;
  display: grid;
  width: 27.0588235294%;
  height: auto;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #eaaab7;
  color: #ffffff;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  place-items: center;
}
.recruit-uniform-dialog__person {
  position: absolute;
  z-index: 2;
  top: 7.9617834395%;
  left: 50%;
  width: 42.7270588235%;
  height: 78.7493630573%;
  max-width: none;
  object-fit: fill;
  transform: translateX(-50%);
}
.recruit-uniform-dialog__body {
  position: absolute;
  inset: 0 0 0 auto;
  display: flex;
  width: 58.3333333333%;
  height: 100%;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3.8095238095%;
  padding: 2.2rem 1.6rem;
  border-radius: 0 7.3595238095% 0 7.3595238095%;
  background: #f7e5e9;
  letter-spacing: -0.02em;
}
.recruit-uniform-dialog__body h3 {
  width: 100%;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}
.recruit-uniform-dialog__body p {
  width: 100%;
  font-size: 1.5rem;
  line-height: 1.6;
}
.recruit-uniform-dialog__close {
  display: flex;
  width: auto;
  min-height: 44px;
  align-items: center;
  gap: 0.8rem;
  margin-top: auto;
  color: #2d2d2d;
}
.recruit-uniform-dialog__close > span:first-child {
  display: grid;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #eaaab7;
  color: #ffffff;
  font-size: 2.667rem;
  font-weight: 700;
  line-height: 1;
  place-items: center;
  transform: rotate(45deg);
}
.recruit-uniform-dialog__close-label {
  font-family: "Inter", sans-serif;
  font-size: 1.2rem;
  letter-spacing: -0.02em;
  line-height: 1;
}
.recruit-uniform-dialog--summer .recruit-uniform-dialog__season,
.recruit-uniform-dialog--summer .recruit-uniform-dialog__close > span:first-child {
  background: #5da19e;
}
.recruit-uniform-dialog--summer .recruit-uniform-dialog__body {
  background: #aedcda;
}
.recruit-uniform-dialog--summer .recruit-uniform-dialog__person {
  left: 54.7705882353%;
  width: 51.3635294118%;
}
.recruit-uniform-dialog--autumn .recruit-uniform-dialog__season,
.recruit-uniform-dialog--autumn .recruit-uniform-dialog__close > span:first-child {
  background: #efbd51;
}
.recruit-uniform-dialog--autumn .recruit-uniform-dialog__body {
  background: #f4dead;
}
.recruit-uniform-dialog--autumn .recruit-uniform-dialog__person {
  width: 43.6364705882%;
  height: 77.272611465%;
}
.recruit-uniform-dialog--winter .recruit-uniform-dialog__season,
.recruit-uniform-dialog--winter .recruit-uniform-dialog__close > span:first-child {
  background: #5586b5;
}
.recruit-uniform-dialog--winter .recruit-uniform-dialog__body {
  background: #b7cfe5;
}
.recruit-uniform-dialog--winter .recruit-uniform-dialog__person {
  width: 50.4547058824%;
  height: 77.272611465%;
}
@media (min-width: 769px) {
  .recruit-uniform-dialog {
    display: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .recruit-uniform-dialog {
    scroll-behavior: auto;
  }
}

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

.recruit-guide {
  padding: 0 0 calc(100 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .recruit-guide {
    padding: 0 0 7rem;
  }
}
.recruit-guide__list {
  margin-top: calc(52 / 1440 * 100cqw);
  border-top: 1px solid #ddd;
  border-inline: 1px solid #ddd;
}
.recruit-guide__list > div {
  display: grid;
  border-bottom: 1px solid #ddd;
  grid-template-columns: 40% 60%;
}
@media screen and (max-width: 768px) {
  .recruit-guide__list > div {
    grid-template-columns: calc(100 / 390 * 100cqw) 1fr;
  }
}
.recruit-guide__list dt,
.recruit-guide__list dd {
  padding: 1.8rem 3.2rem;
  font-size: 1.6rem;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .recruit-guide__list dt,
  .recruit-guide__list dd {
    padding: 1.3rem calc(10 / 390 * 100cqw);
    font-size: 1.25rem;
  }
}
.recruit-guide__list dt {
  background: #f7e5e9;
  font-weight: 700;
}
.recruit-guide__note {
  margin-top: calc(46 / 1440 * 100cqw);
  text-align: center;
}
.recruit-guide__note h3 {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.8;
}
.recruit-guide__note p {
  font-size: 1.6rem;
  line-height: 1.9;
}
@media screen and (max-width: 768px) {
  .recruit-guide__note {
    margin-top: 3.4rem;
    text-align: left;
  }
  .recruit-guide__note h3 {
    font-size: 1.7rem;
    text-align: center;
  }
  .recruit-guide__note p {
    font-size: 1.25rem;
  }
}

.recruit-contact {
  position: relative;
  padding: calc(40 / 1440 * 100cqw) 0;
  background: #21205a;
  isolation: isolate;
}
@media screen and (max-width: 768px) {
  .recruit-contact {
    padding: 2.8rem calc(20 / 390 * 100cqw);
  }
}
.recruit-contact__decorations {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 50%;
  width: calc(1280 / 1440 * 100cqw);
  height: 100%;
  pointer-events: none;
  transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .recruit-contact__decorations {
    display: none;
  }
}
.recruit-contact__decoration {
  position: absolute;
  height: auto;
}
.recruit-contact__decoration--pink-top {
  top: calc(-40 / 1440 * 100cqw);
  right: calc(188 / 1440 * 100cqw);
  width: calc(120 / 1440 * 100cqw);
}
.recruit-contact__decoration--pink-bottom {
  top: calc(240 / 1440 * 100cqw);
  right: calc(978 / 1440 * 100cqw);
  width: calc(120 / 1440 * 100cqw);
}
.recruit-contact__decoration--pink-medium {
  top: calc(58 / 1440 * 100cqw);
  right: calc(123 / 1440 * 100cqw);
  width: calc(80 / 1440 * 100cqw);
}
.recruit-contact__decoration--white {
  top: calc(17 / 1440 * 100cqw);
  right: calc(70 / 1440 * 100cqw);
  width: calc(60 / 1440 * 100cqw);
}
.recruit-contact__decoration--soft-medium {
  top: calc(157 / 1440 * 100cqw);
  right: calc(1030 / 1440 * 100cqw);
  width: calc(60 / 1440 * 100cqw);
}
.recruit-contact__decoration--soft-small {
  top: calc(96 / 1440 * 100cqw);
  right: calc(996 / 1440 * 100cqw);
  width: calc(40 / 1440 * 100cqw);
}
.recruit-contact__inner {
  position: relative;
  width: calc(100% - 100px);
  max-width: 1000px;
  min-height: calc(243 / 1440 * 100cqw);
  margin-inline: auto;
  padding: calc(32 / 1440 * 100cqw);
  border-radius: 0 calc(40 / 1440 * 100cqw) 0 calc(40 / 1440 * 100cqw);
  background: #ffffff;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .recruit-contact__inner {
    width: 100%;
    min-height: 0;
    padding: 2.8rem calc(16 / 390 * 100cqw);
    border-radius: 0 calc(26 / 390 * 100cqw) 0 calc(26 / 390 * 100cqw);
  }
}
.recruit-contact__inner h2 {
  position: relative;
  z-index: 3;
  font-size: 2.6rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .recruit-contact__inner h2 {
    font-size: 1.9rem;
  }
}
.recruit-contact__inner > p {
  position: relative;
  z-index: 3;
  font-size: 1.8rem;
  letter-spacing: -0.02em;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .recruit-contact__inner > p {
    font-size: 1.25rem;
  }
}
.recruit-contact__actions {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: repeat(2, 30rem);
  justify-content: center;
  margin-top: calc(20 / 1440 * 100cqw);
  gap: calc(20 / 1440 * 100cqw);
}
@media screen and (min-width: 769px) and (max-width: 1100px) {
  .recruit-contact__actions {
    grid-template-columns: 30rem;
  }
}
@media screen and (max-width: 768px) {
  .recruit-contact__actions {
    grid-template-columns: 1fr;
    margin-top: 2.2rem;
    gap: 1.2rem;
  }
}
.recruit-contact__button {
  position: relative;
  display: flex;
  width: 30rem;
  min-height: 4.8rem;
  align-items: center;
  justify-content: center;
  border: 3px solid #c23642;
  border-radius: 999px;
  color: #ffffff;
  background: #c6a86b;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.02em;
  transition: all 0.3s ease;
}
.recruit-contact__button > span[aria-hidden] {
  position: absolute;
  right: 1.8rem;
  width: 1.6rem;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  translate: 0 0;
  transition: translate 0.3s ease;
}
.recruit-contact__button > span[aria-hidden]::before, .recruit-contact__button > span[aria-hidden]::after {
  position: absolute;
  top: 50%;
  right: 0;
  width: 0.8rem;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  content: "";
  transform-origin: calc(100% - 1px) center;
}
.recruit-contact__button > span[aria-hidden]::before {
  transform: translateY(-50%) rotate(45deg);
}
.recruit-contact__button > span[aria-hidden]::after {
  transform: translateY(-50%) rotate(-45deg);
}
@media (any-hover: hover) {
  .recruit-contact__button:hover {
    opacity: 1;
  }
  .recruit-contact__button:hover > span[aria-hidden] {
    translate: 0.3rem 0;
  }
}
.recruit-contact__button:active {
  opacity: 1;
}
.recruit-contact__button:active > span[aria-hidden] {
  translate: 0.3rem 0;
}
@media screen and (max-width: 768px) {
  .recruit-contact__button {
    width: 100%;
    max-width: 40rem;
    min-height: 46px;
    justify-self: center;
    font-size: 1.35rem;
  }
}
.recruit-contact__button:not(.recruit-contact__button--morinoki, .recruit-contact__button--kusunoki, .recruit-contact__button--line) {
  border-color: #c6a86b;
}
@media (any-hover: hover) {
  .recruit-contact__button:not(.recruit-contact__button--morinoki, .recruit-contact__button--kusunoki, .recruit-contact__button--line):hover {
    border-color: #c23642;
    background: #b3872c;
  }
}
.recruit-contact__button:not(.recruit-contact__button--morinoki, .recruit-contact__button--kusunoki, .recruit-contact__button--line):active {
  border-color: #c23642;
  background: #b3872c;
}
.recruit-contact__button--morinoki {
  border-color: #73c94a;
  color: #ffffff;
  background: #73c94a;
}
@media (any-hover: hover) {
  .recruit-contact__button--morinoki:hover {
    border-color: #c23642;
    background: #509b1f;
  }
}
.recruit-contact__button--morinoki:active {
  border-color: #c23642;
  background: #509b1f;
}
.recruit-contact__button--kusunoki {
  border-color: #c23642;
  color: #ffffff;
  background: #c23642;
}
.recruit-contact__button--line {
  border-color: #07b53b;
  color: #ffffff;
  background: #07b53b;
}
@media (any-hover: hover) {
  .recruit-contact__button--line:hover {
    border-color: #05842b;
    background: #05842b;
  }
}
.recruit-contact__button--line:active {
  border-color: #05842b;
  background: #05842b;
}

.recruit-faq {
  padding-top: 7rem;
  background: #ffffff;
}
@media screen and (max-width: 768px) {
  .recruit-faq {
    padding-top: 2rem;
  }
}
.recruit-faq .admission-container {
  width: min(1200px, 100% - 64px);
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .recruit-faq .admission-container {
    width: 100%;
    padding-inline: calc(15 / 390 * 100cqw);
  }
}
.recruit-faq .admission-subheading {
  display: flex;
  align-items: center;
  gap: 1.4rem;
  margin-bottom: 1.6rem;
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.8;
}
.recruit-faq .admission-subheading::before {
  width: 2.4rem;
  height: 2px;
  flex-shrink: 0;
  background: #c6a86b;
  content: "";
}
@media screen and (max-width: 768px) {
  .recruit-faq .admission-subheading::before {
    width: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .recruit-faq .admission-subheading {
    gap: 1rem;
    margin-bottom: 1.2rem;
    font-size: 1.6rem;
    line-height: 1.5;
  }
}
.recruit-faq .faq__groups {
  display: flex;
  width: 100%;
  max-width: 1000px;
  flex-direction: column;
  margin-top: calc(56 / 1440 * 100cqw);
  margin-inline: auto;
  gap: 4.4rem;
}
@media screen and (max-width: 768px) {
  .recruit-faq .faq__groups {
    margin-top: 2.8rem;
    gap: 2.8rem;
  }
}
.recruit-faq .faq-group details {
  border-bottom: 1px solid #e4e4e4;
  letter-spacing: -0.02em;
}
.recruit-faq .faq-group details summary {
  display: grid;
  min-height: 6.9rem;
  align-items: center;
  padding-block: 1.5rem;
  grid-template-columns: 2rem 1fr 2rem;
  gap: 2rem;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.8;
}
.recruit-faq .faq-group details summary::before {
  color: #c6a86b;
  content: "Q";
}
.recruit-faq .faq-group details summary::after {
  width: 1.2rem;
  height: 1.2rem;
  justify-self: end;
  background: linear-gradient(#21205a, #21205a) center/100% 2px no-repeat, linear-gradient(#21205a, #21205a) center/2px 100% no-repeat;
  content: "";
}
@media screen and (max-width: 768px) {
  .recruit-faq .faq-group details summary::after {
    width: 1rem;
    height: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .recruit-faq .faq-group details summary {
    min-height: 5.4rem;
    padding-block: 1.2rem;
    grid-template-columns: 1.6rem 1fr 1.6rem;
    gap: 0.8rem;
    font-size: 1.4rem;
    line-height: 1.7;
  }
}
.recruit-faq .faq-group details > div {
  display: grid;
  padding: 2.2rem 2.8rem 2.4rem;
  grid-template-columns: 2rem 1fr;
  gap: 2rem;
  background: rgba(247, 229, 233, 0.5);
  font-size: 1.6rem;
  line-height: 1.8;
}
.recruit-faq .faq-group details > div::before {
  color: #21205a;
  content: "A";
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .recruit-faq .faq-group details > div {
    padding: 1.6rem 1.6rem 1.8rem;
    grid-template-columns: 1.6rem 1fr;
    gap: 0.7rem;
    font-size: 1.3rem;
    line-height: 1.9;
  }
}
.recruit-faq .faq-group details[open] summary::after {
  background-size: 100% 2px, 0 0;
}

.main-content--blog .blog-archive__body {
  margin-top: calc(56 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .main-content--blog .blog-archive__body {
    margin-top: 3rem;
  }
}
.main-content--blog .blog-archive .subpage-heading + .blog-archive__body {
  margin-top: calc(100 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .main-content--blog .blog-archive .subpage-heading + .blog-archive__body {
    margin-top: 3rem;
  }
}
.main-content--blog .blog-directory__list {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
@media screen and (max-width: 768px) {
  .main-content--blog .blog-directory__list {
    gap: 0.8rem;
  }
}
.main-content--blog .blog-directory__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1.1rem 2.2rem;
  border-radius: 999px;
  color: #21205a;
  background-color: #e4fcff;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
  transition: opacity 0.3s ease, background-color 0.3s ease, color 0.3s ease;
}
@media (any-hover: hover) {
  .main-content--blog .blog-directory__link:hover {
    color: #fff;
    background-color: #c6a86b;
    opacity: 1;
  }
}
.main-content--blog .blog-directory__link:active {
  color: #fff;
  background-color: #c6a86b;
  opacity: 1;
}
.main-content--blog .blog-directory__link--current {
  color: #fff;
  background-color: #21205a;
}
@media screen and (max-width: 768px) {
  .main-content--blog .blog-directory__link {
    padding: 0.9rem 1.4rem;
    font-size: 1.2rem;
  }
}
.main-content--blog .blog-categories {
  margin-top: 3.2rem;
  border-bottom: 1px solid #e4e4e4;
}
@media screen and (max-width: 768px) {
  .main-content--blog .blog-categories {
    margin-top: 2rem;
  }
}
.main-content--blog .blog-categories__list {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 3rem;
}
@media screen and (max-width: 768px) {
  .main-content--blog .blog-categories__list {
    gap: 1rem 2rem;
  }
}
.main-content--blog .blog-categories__link {
  position: relative;
  display: block;
  padding-bottom: 1.3rem;
  font-size: 1.6rem;
  line-height: 1.2;
  white-space: nowrap;
}
.main-content--blog .blog-categories__link::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 3px;
  border-radius: 999px;
  background-color: transparent;
  content: "";
  transition: background-color 0.3s ease;
}
@media (any-hover: hover) {
  .main-content--blog .blog-categories__link:hover {
    opacity: 1;
  }
  .main-content--blog .blog-categories__link:hover::after {
    background-color: #c6a86b;
  }
}
.main-content--blog .blog-categories__link:active {
  opacity: 1;
}
.main-content--blog .blog-categories__link:active::after {
  background-color: #c6a86b;
}
.main-content--blog .blog-categories__link--current {
  font-weight: 700;
}
.main-content--blog .blog-categories__link--current::after {
  background-color: #c6a86b;
}
@media screen and (max-width: 768px) {
  .main-content--blog .blog-categories__link {
    padding-bottom: 0.9rem;
    font-size: 1.3rem;
    letter-spacing: -0.02em;
    line-height: 1.3;
  }
}
.main-content--blog .blog-posts {
  display: grid;
  margin-top: 4.8rem;
  gap: 3.7rem 2rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media screen and (min-width: 769px) and (max-width: 1100px) {
  .main-content--blog .blog-posts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (max-width: 768px) {
  .main-content--blog .blog-posts {
    margin-top: 1.3rem;
    gap: 2.7rem;
    grid-template-columns: minmax(0, 1fr);
  }
}
.main-content--blog .archive-card {
  min-width: 0;
}
@media screen and (max-width: 768px) {
  .main-content--blog .archive-card:nth-child(n+7) {
    display: none;
  }
}
.main-content--blog .archive-card__link {
  display: flex;
  min-width: 0;
  height: 100%;
  flex-direction: column;
}
.main-content--blog .archive-card__image {
  width: 100%;
  aspect-ratio: 32/21;
  border-radius: 1rem;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .main-content--blog .archive-card__image {
    border-radius: 0 calc(23 / 390 * 100cqw) 0 0;
    aspect-ratio: 36/21;
  }
}
.main-content--blog .archive-card__date {
  margin-top: 1.2rem;
  font-family: "Inter", sans-serif;
  font-size: 1.4rem;
  line-height: 1.3;
}
@media screen and (max-width: 768px) {
  .main-content--blog .archive-card__date {
    font-size: 1.2rem;
    letter-spacing: 0.02em;
    margin-top: 1.1rem;
  }
}
.main-content--blog .archive-card__title {
  margin-top: 1rem;
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1.5;
  color: #21205a;
}
@media screen and (max-width: 768px) {
  .main-content--blog .archive-card__title {
    font-size: 1.6rem;
  }
}
.main-content--blog .archive-card__tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.9rem;
  margin-top: 1.3rem;
}
@media screen and (max-width: 768px) {
  .main-content--blog .archive-card__tags {
    gap: 0.8rem;
    margin-top: 1.1rem;
  }
}
.main-content--blog .archive-card__blog-type {
  display: inline-flex;
  align-items: center;
  padding: 0.6rem 1.2rem;
  border-radius: 999px;
  color: #fff;
  background-color: #21205a;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .main-content--blog .archive-card__blog-type {
    font-size: 1rem;
    padding: 0.5rem 1rem;
  }
}
.main-content--blog .archive-card__category {
  display: inline-flex;
  min-height: 2.4rem;
  align-items: center;
  padding: 0.4rem 1.2rem;
  border: 1px solid #c6a86b;
  border-radius: 999px;
  color: #c6a86b;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}
.main-content--blog .blog-pagination {
  margin-top: 5.6rem;
}
@media screen and (max-width: 768px) {
  .main-content--blog .blog-pagination {
    margin-top: 4rem;
  }
}
.main-content--blog .blog-pagination__list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}
@media screen and (max-width: 768px) {
  .main-content--blog .blog-pagination__list {
    gap: 0.8rem;
  }
}
.main-content--blog .blog-pagination__list > li > a,
.main-content--blog .blog-pagination__list > li > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #D9DCE0;
  background-color: #fff;
  line-height: 1;
}
.main-content--blog .blog-pagination__list > li > a:not(.blog-pagination__edge),
.main-content--blog .blog-pagination__list > li > span:not(.blog-pagination__edge) {
  width: 4.4rem;
  height: 4.4rem;
  padding: 0;
  border-radius: 50%;
  font-family: "Inter", sans-serif;
  font-size: 1.5rem;
  font-variant-numeric: tabular-nums;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .main-content--blog .blog-pagination__list > li > a:not(.blog-pagination__edge),
  .main-content--blog .blog-pagination__list > li > span:not(.blog-pagination__edge) {
    width: 3.6rem;
    height: 3.6rem;
    font-size: 1.3rem;
  }
}
.main-content--blog .blog-pagination__list > li > a {
  transition: opacity 0.3s ease, background-color 0.3s ease, color 0.3s ease;
}
@media (any-hover: hover) {
  .main-content--blog .blog-pagination__list > li > a:hover {
    color: #fff;
    background-color: #c6a86b;
    opacity: 1;
  }
}
.main-content--blog .blog-pagination__list > li > a:active {
  color: #fff;
  background-color: #c6a86b;
  opacity: 1;
}
.main-content--blog .blog-pagination__current {
  color: #fff !important;
  background-color: #21205a !important;
  border: #21205a !important;
}
.main-content--blog .blog-pagination__edge {
  width: auto;
  height: auto;
  padding: 1.35rem 1.5rem;
  border-radius: 999px;
  font-family: "Noto sans JP", sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .main-content--blog .blog-pagination__edge {
    padding: 1.05rem 1.1rem;
    font-size: 1.3rem;
  }
}
.main-content--blog .blog-pagination__arrow {
  width: 4.4rem;
  height: 4.4rem;
  border-radius: 50%;
}
@media (any-hover: hover) {
  .main-content--blog .blog-pagination__arrow:is(a):hover span {
    translate: 0.3rem 0;
  }
}
.main-content--blog .blog-pagination__arrow:is(a):active span {
  translate: 0.3rem 0;
}
.main-content--blog .blog-pagination__arrow span {
  position: relative;
  width: 1.6rem;
  height: 2px;
  border: 0;
  border-radius: 999px;
  background-color: currentColor;
  translate: 0 0;
  transition: translate 0.3s ease;
}
.main-content--blog .blog-pagination__arrow span::before, .main-content--blog .blog-pagination__arrow span::after {
  position: absolute;
  top: 50%;
  right: 0;
  width: 1rem;
  height: 2px;
  border-radius: 999px;
  background-color: currentColor;
  content: "";
  transform-origin: calc(100% - 1px) center;
}
.main-content--blog .blog-pagination__arrow span::before {
  transform: translateY(-50%) rotate(45deg);
}
.main-content--blog .blog-pagination__arrow span::after {
  transform: translateY(-50%) rotate(-45deg);
}
@media screen and (max-width: 768px) {
  .main-content--blog .blog-pagination__arrow span {
    width: 1.2rem;
    height: 1.5px;
  }
  .main-content--blog .blog-pagination__arrow span::before, .main-content--blog .blog-pagination__arrow span::after {
    width: 0.7rem;
    height: 1.5px;
  }
}
.main-content--blog .blog-pagination__arrow--previous span {
  transform: rotate(180deg);
}
@media (any-hover: hover) {
  .main-content--blog .blog-pagination__arrow--previous:is(a):hover span {
    translate: -0.3rem 0;
  }
}
.main-content--blog .blog-pagination__arrow--previous:is(a):active span {
  translate: -0.3rem 0;
}
.main-content--blog .blog-detail {
  margin-top: calc(56 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .main-content--blog .blog-detail {
    margin-top: 3rem;
  }
}
.main-content--blog .blog-article__date {
  display: block;
  font-family: "Inter", sans-serif;
  font-size: 1.6rem;
  line-height: 1.3;
  color: #707070;
}
@media screen and (max-width: 768px) {
  .main-content--blog .blog-article__date {
    font-size: 1.3rem;
  }
}
.main-content--blog .blog-article__title {
  margin-top: 1.6rem;
  color: #21205a;
  font-size: 3.2rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .main-content--blog .blog-article__title {
    margin-top: 1.2rem;
    font-size: 2.2rem;
  }
}
.main-content--blog .blog-article__tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.9rem;
  margin-top: 2rem;
}
@media screen and (max-width: 768px) {
  .main-content--blog .blog-article__tags {
    gap: 0.8rem;
    margin-top: 1.4rem;
  }
}
.main-content--blog .blog-article__type {
  display: inline-flex;
  align-items: center;
  padding: 0.6rem 1.2rem;
  border-radius: 999px;
  color: #fff;
  background-color: #21205a;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}
.main-content--blog .blog-article__category {
  display: inline-flex;
  min-height: 2.4rem;
  align-items: center;
  padding: 0.4rem 1.2rem;
  border: 1px solid #c6a86b;
  border-radius: 999px;
  color: #c6a86b;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}
.main-content--blog .blog-article__rule {
  margin-top: 3.2rem;
  height: 2px;
  background-color: #c6a86b;
}
@media screen and (max-width: 768px) {
  .main-content--blog .blog-article__rule {
    margin-top: 2.4rem;
    height: 1px;
  }
}
.main-content--blog .blog-article__body {
  margin-top: 3.2rem;
  font-size: 1.6rem;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .main-content--blog .blog-article__body {
    margin-top: 2.4rem;
    font-size: 1.5rem;
  }
}
.main-content--blog .blog-article__body > * + * {
  margin-top: 1.6em;
}
.main-content--blog .blog-article__body h2,
.main-content--blog .blog-article__body h3,
.main-content--blog .blog-article__body h4 {
  color: #21205a;
  font-weight: 700;
  line-height: 1.5;
}
.main-content--blog .blog-article__body h2 {
  padding-bottom: 1.2rem;
  border-bottom: 3px solid #c6a86b;
  font-size: 2.4rem;
}
@media screen and (max-width: 768px) {
  .main-content--blog .blog-article__body h2 {
    font-size: 2rem;
  }
}
.main-content--blog .blog-article__body h3 {
  font-size: 2rem;
}
@media screen and (max-width: 768px) {
  .main-content--blog .blog-article__body h3 {
    font-size: 1.8rem;
  }
}
.main-content--blog .blog-article__body a {
  color: #0b2760;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}
.main-content--blog .blog-article__body ul,
.main-content--blog .blog-article__body ol {
  padding-left: 1.6em;
}
.main-content--blog .blog-article__body ul {
  list-style: disc;
}
.main-content--blog .blog-article__body ol {
  list-style: decimal;
}
.main-content--blog .blog-article__body img,
.main-content--blog .blog-article__body video,
.main-content--blog .blog-article__body iframe {
  display: block;
  max-width: 100%;
  height: auto;
  border-radius: 1rem;
}
.main-content--blog .blog-article__body figure {
  margin: 0;
}
.main-content--blog .blog-article__body figcaption,
.main-content--blog .blog-article__body .wp-element-caption,
.main-content--blog .blog-article__body .wp-caption-text {
  margin-top: 0.8rem;
  color: #707070;
  font-size: 1.4rem;
  line-height: 1.6;
}
.main-content--blog .blog-article__body blockquote {
  padding: 1.6rem 2rem;
  border-left: 4px solid #c6a86b;
  background-color: #fbfbfb;
}
.main-content--blog .blog-adjacent {
  display: flex;
  gap: 2rem;
  margin-top: calc(80 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .main-content--blog .blog-adjacent {
    flex-direction: column;
    gap: 1.2rem;
    margin-top: 4rem;
  }
}
.main-content--blog .blog-adjacent__item {
  display: flex;
  min-width: 0;
  flex: 1 1 0;
  align-items: center;
  gap: 1.4rem;
  padding: 2rem 2.4rem;
  border: 1px solid #c6a86b;
  border-radius: 1.4rem;
  background-color: #fbfbfb;
}
@media screen and (max-width: 768px) {
  .main-content--blog .blog-adjacent__item {
    gap: 1.2rem;
    padding: 1.4rem 1.6rem;
  }
}
.main-content--blog .blog-adjacent__item--prev .blog-adjacent__arrow {
  transform: rotate(180deg);
}
.main-content--blog .blog-adjacent__item--next {
  flex-direction: row-reverse;
}
.main-content--blog .blog-adjacent__item--next .blog-adjacent__text {
  align-items: flex-end;
  text-align: right;
}
.main-content--blog .blog-adjacent__arrow {
  position: relative;
  flex-shrink: 0;
  width: 1.6rem;
  height: 2px;
  border-radius: 999px;
  background-color: #c6a86b;
}
.main-content--blog .blog-adjacent__arrow::before, .main-content--blog .blog-adjacent__arrow::after {
  position: absolute;
  top: 50%;
  right: 0;
  width: 1rem;
  height: 2px;
  border-radius: 999px;
  background-color: #c6a86b;
  content: "";
  transform-origin: calc(100% - 1px) center;
}
.main-content--blog .blog-adjacent__arrow::before {
  transform: translateY(-50%) rotate(45deg);
}
.main-content--blog .blog-adjacent__arrow::after {
  transform: translateY(-50%) rotate(-45deg);
}
.main-content--blog .blog-adjacent__text {
  display: flex;
  min-width: 0;
  flex: 1;
  flex-direction: column;
  gap: 0.6rem;
}
.main-content--blog .blog-adjacent__label {
  color: #c6a86b;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.2;
}
.main-content--blog .blog-adjacent__name {
  display: -webkit-box;
  overflow: hidden;
  color: #21205a;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.main-content--blog .blog-latest {
  margin-top: calc(100 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .main-content--blog .blog-latest {
    margin-top: 5rem;
  }
}
.main-content--blog .blog-latest__header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1.6rem;
}
.main-content--blog .blog-latest__title {
  color: #21205a;
  font-size: 2.8rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .main-content--blog .blog-latest__title {
    font-size: 2rem;
  }
}
.main-content--blog .blog-latest__all {
  flex-shrink: 0;
  color: #21205a;
  font-size: 1.5rem;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
@media screen and (max-width: 768px) {
  .main-content--blog .blog-latest__all {
    font-size: 1.3rem;
  }
}
.main-content--blog .blog-latest__list {
  display: grid;
  margin-top: 3.2rem;
  gap: 3.7rem 2rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media screen and (min-width: 769px) and (max-width: 1100px) {
  .main-content--blog .blog-latest__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (max-width: 768px) {
  .main-content--blog .blog-latest__list {
    margin-top: 2rem;
    gap: 2.7rem;
    grid-template-columns: minmax(0, 1fr);
  }
}
.main-content--blog .blog-finder {
  margin-top: calc(100 / 1440 * 100cqw);
  padding: calc(56 / 1440 * 100cqw) calc(48 / 1440 * 100cqw);
  border-radius: 2rem;
  background-color: #ededed;
}
@media screen and (max-width: 768px) {
  .main-content--blog .blog-finder {
    margin-top: 5rem;
    padding: 2.4rem 1.6rem;
    border-radius: 1.2rem;
  }
}
.main-content--blog .blog-finder__title {
  color: #21205a;
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.4;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .main-content--blog .blog-finder__title {
    font-size: 1.8rem;
  }
}
.main-content--blog .blog-finder__map {
  display: grid;
  margin-top: 3.2rem;
  gap: 2.4rem 2rem;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
@media screen and (min-width: 769px) and (max-width: 1100px) {
  .main-content--blog .blog-finder__map {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media screen and (max-width: 768px) {
  .main-content--blog .blog-finder__map {
    margin-top: 2rem;
    gap: 2rem;
    grid-template-columns: minmax(0, 1fr);
  }
}
.main-content--blog .blog-finder__heading {
  display: block;
  margin-bottom: 1.2rem;
  color: #21205a;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.4;
}
.main-content--blog .blog-finder__list {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.main-content--blog .blog-finder__child {
  display: block;
  color: #2d2d2d;
  font-size: 1.4rem;
  line-height: 1.5;
}
@media (any-hover: hover) {
  .main-content--blog .blog-finder__child:hover {
    color: #c6a86b;
    opacity: 1;
  }
}
.main-content--blog .blog-finder__child--archive {
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.page-contact .floating-contact {
  display: none;
}

.page-contact .grecaptcha-badge {
  visibility: hidden;
}

.contact {
  max-width: calc(720 / 1440 * 100cqw);
  margin-inline: auto;
  padding-bottom: calc(80 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .contact {
    max-width: none;
    padding-bottom: calc(48 / 390 * 100cqw);
  }
}
.contact__tabs {
  display: grid;
  margin: calc(48 / 1440 * 100cqw) 0 calc(40 / 1440 * 100cqw);
  overflow: hidden;
  border: 1px solid #21205a;
  border-radius: calc(8 / 1440 * 100cqw);
  grid-template-columns: 1fr 1fr;
}
@media screen and (max-width: 768px) {
  .contact__tabs {
    margin: calc(28 / 390 * 100cqw) calc(15 / 390 * 100cqw) calc(24 / 390 * 100cqw);
    border-radius: calc(8 / 390 * 100cqw);
  }
}
.contact__tab {
  min-height: calc(56 / 1440 * 100cqw);
  padding: calc(12 / 1440 * 100cqw) calc(16 / 1440 * 100cqw);
  color: #21205a;
  background: #ffffff;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.4;
}
.contact__tab + .contact__tab {
  border-left: 1px solid #21205a;
}
@media screen and (max-width: 768px) {
  .contact__tab {
    min-height: calc(44 / 390 * 100cqw);
    padding: calc(10 / 390 * 100cqw) calc(8 / 390 * 100cqw);
    font-size: 1.4rem;
  }
}
.contact__tab--current {
  color: #fff;
  background: #21205a;
}
.contact__lead {
  margin-bottom: calc(32 / 1440 * 100cqw);
  color: #21205a;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.8;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .contact__lead {
    margin-bottom: calc(20 / 390 * 100cqw);
    font-size: 1.4rem;
  }
}
.contact__panel[hidden] {
  display: none;
}
@media screen and (max-width: 768px) {
  .contact__panel {
    margin-inline: calc(15 / 390 * 100cqw);
  }
}
.contact .subpage-heading h1,
.contact .subpage-heading h2 {
  color: #21205a;
}
.contact > .contact-steps:first-child {
  margin-top: calc(56 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .contact > .contact-steps:first-child {
    margin-top: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .contact--confirm .contact__panel {
    margin-inline: 0;
  }
}

.contact-complete {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: calc(8 / 1440 * 100cqw);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .contact-complete {
    margin-top: calc(8 / 390 * 100cqw);
  }
}
.contact-complete__icon {
  position: relative;
  display: block;
  width: calc(88 / 1440 * 100cqw);
  height: calc(88 / 1440 * 100cqw);
  flex-shrink: 0;
  border-radius: 50%;
  background: #07b53b;
}
.contact-complete__icon::after {
  position: absolute;
  top: 52%;
  left: 50%;
  width: 38%;
  height: 20%;
  border-bottom: 6px solid #fff;
  border-left: 6px solid #fff;
  transform: translate(-50%, -62%) rotate(-45deg);
  content: "";
}
@media screen and (max-width: 768px) {
  .contact-complete__icon {
    width: calc(72 / 390 * 100cqw);
    height: calc(72 / 390 * 100cqw);
  }
  .contact-complete__icon::after {
    border-bottom-width: 5px;
    border-left-width: 5px;
  }
}
.contact-complete__title {
  margin-top: calc(28 / 1440 * 100cqw);
  color: #21205a;
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .contact-complete__title {
    margin-top: calc(20 / 390 * 100cqw);
    font-size: 1.8rem;
  }
}
.contact-complete__text {
  margin-top: calc(16 / 1440 * 100cqw);
  color: #2d2d2d;
  font-size: 1.5rem;
  font-weight: 400;
  letter-spacing: -0.02em;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .contact-complete__text {
    margin-top: calc(12 / 390 * 100cqw);
    font-size: 1.4rem;
  }
}
.contact-complete__button {
  position: relative;
  display: flex;
  flex-direction: row;
  width: calc(306 / 1440 * 100cqw);
  height: calc(70 / 1440 * 100cqw);
  margin-top: calc(40 / 1440 * 100cqw);
  align-items: center;
  justify-content: center;
  padding: calc(22 / 1440 * 100cqw) calc(48 / 1440 * 100cqw);
  gap: calc(14 / 1440 * 100cqw);
  border-radius: calc(40 / 1440 * 100cqw);
  color: #fff;
  background: #21205a;
  font-size: calc(18 / 1440 * 100cqw);
  font-weight: 700;
  line-height: calc(26 / 1440 * 100cqw);
  white-space: nowrap;
}
.contact-complete__button .button__arrow {
  position: static;
  right: auto;
  flex-shrink: 0;
  background: #fff;
}
.contact-complete__button .button__arrow::before, .contact-complete__button .button__arrow::after {
  background: #fff;
}
@media (any-hover: hover) {
  .contact-complete__button:hover {
    opacity: 1;
    color: #fff;
    background: #002673;
  }
}
@media screen and (max-width: 768px) {
  .contact-complete__button {
    width: calc(240 / 390 * 100cqw);
    height: calc(48 / 390 * 100cqw);
    margin-top: calc(32 / 390 * 100cqw);
    padding: calc(12 / 390 * 100cqw) calc(28 / 390 * 100cqw);
    gap: calc(10 / 390 * 100cqw);
    font-size: 1.5rem;
    line-height: 1.3;
  }
}

.contact-steps {
  display: flex;
  max-width: calc(520 / 1440 * 100cqw);
  margin: calc(28 / 1440 * 100cqw) auto calc(40 / 1440 * 100cqw);
  align-items: center;
}
@media screen and (max-width: 768px) {
  .contact-steps {
    max-width: none;
    margin: calc(20 / 390 * 100cqw) calc(8 / 390 * 100cqw) calc(28 / 390 * 100cqw);
  }
}
.contact-steps + .contact__tabs {
  margin-top: calc(16 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .contact-steps + .contact__tabs {
    margin-top: calc(12 / 390 * 100cqw);
  }
}
.contact-steps__item {
  display: flex;
  min-width: 0;
  align-items: center;
}
.contact-steps__item:not(:last-child) {
  flex: 1 1 auto;
}
.contact-steps__item:not(:last-child)::after {
  display: block;
  flex: 1 1 auto;
  height: 1px;
  min-width: calc(12 / 1440 * 100cqw);
  margin-inline: calc(8 / 1440 * 100cqw);
  background: #cccccc;
  content: "";
}
@media screen and (max-width: 768px) {
  .contact-steps__item:not(:last-child)::after {
    min-width: calc(8 / 390 * 100cqw);
    margin-inline: calc(6 / 390 * 100cqw);
  }
}
.contact-steps__item--current .contact-steps__badge {
  color: #fff;
  background: #21205a;
}
.contact-steps__badge {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  gap: 0.35em;
  padding: calc(8 / 1440 * 100cqw) calc(20 / 1440 * 100cqw);
  border-radius: 999px;
  color: #21205a;
  background: #e4fcff;
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.4;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .contact-steps__badge {
    padding: calc(6 / 390 * 100cqw) calc(12 / 390 * 100cqw);
    font-size: 1.2rem;
  }
}

.contact-form__agree input, .contact-form__choice input {
  appearance: none;
  width: calc(20 / 1440 * 100cqw);
  height: calc(20 / 1440 * 100cqw);
  flex-shrink: 0;
  margin: 0;
  border: 1px solid #cccccc;
  border-radius: calc(4 / 1440 * 100cqw);
  background-color: #ffffff;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 72%;
  cursor: pointer;
}
.contact-form__agree input:checked, .contact-form__choice input:checked {
  border-color: #21205a;
  background-color: #21205a;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M3.2 8.2 6.5 11.4 12.8 4.6'/%3E%3C/svg%3E");
}
.contact-form__agree input:focus-visible, .contact-form__choice input:focus-visible {
  border-color: #005fcc;
  outline: 2px solid #005fcc;
  outline-offset: 2px;
}
@media screen and (max-width: 768px) {
  .contact-form__agree input, .contact-form__choice input {
    width: calc(18 / 390 * 100cqw);
    height: calc(18 / 390 * 100cqw);
  }
}

.contact-form {
  display: flex;
  flex-direction: column;
  gap: calc(30 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .contact-form {
    gap: calc(20 / 390 * 100cqw);
  }
}
.contact-form__honeypot {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}
.contact-form__fieldset {
  margin: 0;
  padding: 0;
  border: 0;
}
.contact-form__legend {
  display: flex;
  width: 100%;
  margin-bottom: calc(12 / 1440 * 100cqw);
  align-items: center;
  gap: calc(8 / 1440 * 100cqw);
  color: #21205a;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .contact-form__legend {
    margin-bottom: calc(8 / 390 * 100cqw);
    font-size: 1.4rem;
  }
}
.contact-form__label {
  display: flex;
  margin-bottom: calc(12 / 1440 * 100cqw);
  align-items: center;
  gap: calc(8 / 1440 * 100cqw);
  color: #21205a;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .contact-form__label {
    margin-bottom: calc(8 / 390 * 100cqw);
    gap: calc(16 / 1440 * 100cqw);
    font-size: 1.4rem;
  }
}
.contact-form__required {
  display: inline-flex;
  min-width: calc(44 / 1440 * 100cqw);
  min-height: calc(22 / 1440 * 100cqw);
  align-items: center;
  justify-content: center;
  padding: calc(8 / 1440 * 100cqw);
  border-radius: calc(4 / 1440 * 100cqw);
  color: #fff;
  background: #21205a;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .contact-form__required {
    min-width: calc(36 / 390 * 100cqw);
    min-height: calc(18 / 390 * 100cqw);
    padding: calc(6 / 390 * 100cqw);
  }
}
.contact-form__choices {
  display: flex;
  flex-wrap: wrap;
  gap: calc(16 / 1440 * 100cqw) calc(28 / 1440 * 100cqw);
}
.contact-form__choices--wrap {
  gap: calc(12 / 1440 * 100cqw) calc(20 / 1440 * 100cqw);
}
.contact-form__choices--stack {
  flex-direction: column;
  gap: calc(10 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .contact-form__choices--stack {
    gap: calc(8 / 390 * 100cqw);
  }
}
.contact-form__choice {
  display: inline-flex;
  align-items: center;
  gap: calc(8 / 1440 * 100cqw);
  color: #21205a;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: -0.02em;
  line-height: 1.6;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .contact-form__choice {
    font-size: 1.4rem;
  }
}
.contact-form__field {
  min-width: 0;
}
.contact-form__input {
  display: block;
  width: 100%;
  min-height: calc(56 / 1440 * 100cqw);
  padding: calc(14 / 1440 * 100cqw) calc(20 / 1440 * 100cqw);
  border: 1px solid #cccccc;
  border-radius: calc(8 / 1440 * 100cqw);
  color: #21205a;
  background: #f5f5f5;
  font-size: 1.6rem;
  letter-spacing: -0.02em;
  line-height: 1.6;
}
.contact-form__input::placeholder {
  color: #999999;
}
.contact-form__input:focus-visible {
  border-color: #005fcc;
  outline: 2px solid #005fcc;
  outline-offset: 2px;
}
@media screen and (max-width: 768px) {
  .contact-form__input {
    min-height: calc(44 / 390 * 100cqw);
    padding: calc(10 / 390 * 100cqw) calc(14 / 390 * 100cqw);
    border-radius: calc(16 / 1440 * 100cqw);
    font-size: 1.4rem;
  }
}
.contact-form__input--date {
  max-width: calc(320 / 1440 * 100cqw);
}
.contact-form__input--medium {
  max-width: calc(280 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .contact-form__input--medium {
    max-width: none;
  }
}
.contact-form__input--long {
  max-width: calc(520 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .contact-form__input--long {
    max-width: none;
  }
}
.contact-form__input--short {
  max-width: calc(160 / 1440 * 100cqw);
}
.contact-form__select {
  display: block;
  width: 100%;
  max-width: calc(360 / 1440 * 100cqw);
  min-height: calc(56 / 1440 * 100cqw);
  padding: calc(14 / 1440 * 100cqw) calc(48 / 1440 * 100cqw) calc(14 / 1440 * 100cqw) calc(20 / 1440 * 100cqw);
  border: 1px solid #cccccc;
  border-radius: calc(8 / 1440 * 100cqw);
  color: #21205a;
  background-color: #f5f5f5;
  background-image: linear-gradient(45deg, transparent 50%, #21205a 50%), linear-gradient(135deg, #21205a 50%, transparent 50%);
  background-position: calc(100% - 22px) calc(50% - 3px), calc(100% - 16px) calc(50% - 3px);
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
  font-size: 1.6rem;
  letter-spacing: -0.02em;
  line-height: 1.6;
  appearance: none;
}
.contact-form__select:invalid {
  color: #999999;
}
.contact-form__select:focus-visible {
  border-color: #005fcc;
  outline: 2px solid #005fcc;
  outline-offset: 2px;
}
@media screen and (max-width: 768px) {
  .contact-form__select {
    max-width: none;
    min-height: calc(44 / 390 * 100cqw);
    padding: calc(10 / 390 * 100cqw) calc(40 / 390 * 100cqw) calc(10 / 390 * 100cqw) calc(14 / 390 * 100cqw);
    font-size: 1.4rem;
  }
}
.contact-form__textarea {
  display: block;
  width: 100%;
  min-height: calc(180 / 1440 * 100cqw);
  padding: calc(16 / 1440 * 100cqw) calc(20 / 1440 * 100cqw);
  border: 1px solid #cccccc;
  border-radius: calc(8 / 1440 * 100cqw);
  color: #21205a;
  background: #f5f5f5;
  font-size: 1.6rem;
  letter-spacing: -0.02em;
  line-height: 1.7;
  resize: vertical;
}
.contact-form__textarea::placeholder {
  color: #999999;
}
.contact-form__textarea:focus-visible {
  border-color: #005fcc;
  outline: 2px solid #005fcc;
  outline-offset: 2px;
}
@media screen and (max-width: 768px) {
  .contact-form__textarea {
    min-height: calc(140 / 390 * 100cqw);
    padding: calc(12 / 390 * 100cqw) calc(14 / 390 * 100cqw);
    font-size: 1.4rem;
  }
}
.contact-form__value {
  min-height: calc(56 / 1440 * 100cqw);
  padding: calc(14 / 1440 * 100cqw) calc(20 / 1440 * 100cqw);
  border: 1px solid #cccccc;
  border-radius: calc(8 / 1440 * 100cqw);
  color: #21205a;
  background: #f5f5f5;
  font-size: 1.6rem;
  letter-spacing: -0.02em;
  line-height: 1.6;
}
.contact-form__value--inline {
  display: block;
  min-width: 0;
  flex: 1;
}
.contact-form__value--area {
  min-height: calc(180 / 1440 * 100cqw);
  white-space: pre-wrap;
}
.contact-form__name {
  display: grid;
  gap: calc(16 / 1440 * 100cqw);
  grid-template-columns: 1fr 1fr;
}
@media screen and (max-width: 768px) {
  .contact-form__name {
    gap: calc(12 / 390 * 100cqw);
    grid-template-columns: 1fr;
  }
}
.contact-form__name-item {
  display: grid;
  min-width: 0;
  align-items: center;
  gap: calc(8 / 1440 * 100cqw);
  grid-template-columns: auto minmax(0, 1fr);
  color: #21205a;
  font-size: 1.6rem;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .contact-form__name-item {
    font-size: 1.4rem;
  }
}
.contact-form__tel {
  display: grid;
  align-items: center;
  gap: calc(8 / 1440 * 100cqw);
  grid-template-columns: 1fr auto 1fr auto 1fr;
  color: #21205a;
  font-weight: 700;
}
.contact-form__zip {
  display: grid;
  max-width: calc(420 / 1440 * 100cqw);
  align-items: center;
  gap: calc(8 / 1440 * 100cqw);
  grid-template-columns: auto 1fr auto 1.2fr;
  color: #21205a;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .contact-form__zip {
    max-width: none;
  }
}
.contact-form__note {
  margin-top: calc(8 / 1440 * 100cqw);
  color: #777777;
  font-size: 1.3rem;
  letter-spacing: -0.02em;
  text-align: right;
}
.contact-form__error {
  margin-top: calc(8 / 1440 * 100cqw);
  color: #cc0000;
  font-size: 1.4rem;
}
.contact-form__privacy {
  padding: calc(32 / 1440 * 100cqw) calc(28 / 1440 * 100cqw);
  border-radius: calc(12 / 1440 * 100cqw);
  background: #e4fcff;
}
@media screen and (max-width: 768px) {
  .contact-form__privacy {
    padding: calc(20 / 390 * 100cqw) calc(16 / 390 * 100cqw);
  }
}
.contact-form__privacy-title {
  margin-bottom: calc(16 / 1440 * 100cqw);
  color: #21205a;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  text-align: center;
}
.contact-form__privacy-body {
  max-height: calc(180 / 1440 * 100cqw);
  margin-bottom: calc(20 / 1440 * 100cqw);
  padding: calc(16 / 1440 * 100cqw) calc(20 / 1440 * 100cqw);
  overflow: auto;
  border: 1px solid #cccccc;
  border-radius: calc(8 / 1440 * 100cqw);
  color: #2d2d2d;
  background: #ffffff;
  font-size: 1.4rem;
  letter-spacing: -0.02em;
  line-height: 1.8;
}
.contact-form__privacy-body strong {
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .contact-form__privacy-body {
    max-height: calc(320 / 390 * 100cqw);
  }
}
.contact-form__privacy-agree {
  color: #21205a;
  font-size: 1.6rem;
  font-weight: 700;
}
.contact-form__agree {
  display: flex;
  align-items: center;
  gap: calc(10 / 1440 * 100cqw);
  color: #2d2d2d;
  font-family: "Noto sans JP", sans-serif;
  font-style: normal;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.2;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .contact-form__agree {
    gap: calc(10 / 390 * 100cqw);
    font-size: 1.5rem;
  }
}
.contact-form__actions {
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(12 / 1440 * 100cqw);
  justify-content: center;
  gap: calc(16 / 1440 * 100cqw);
}
.contact-form__recaptcha {
  flex-basis: 100%;
  margin-top: calc(8 / 1440 * 100cqw);
  color: #777777;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: -0.02em;
  line-height: 1.6;
  text-align: center;
}
.contact-form__recaptcha a {
  text-decoration: underline;
}
.contact-form__submit {
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  width: calc(306 / 1440 * 100cqw);
  height: calc(70 / 1440 * 100cqw);
  padding: calc(22 / 1440 * 100cqw) calc(56 / 1440 * 100cqw);
  gap: calc(14 / 1440 * 100cqw);
  border-radius: calc(40 / 1440 * 100cqw);
  color: #fff;
  background: #21205a;
  font-style: normal;
  font-size: calc(18 / 1440 * 100cqw);
  font-weight: 700;
  line-height: calc(26 / 1440 * 100cqw);
  white-space: nowrap;
}
.contact-form__submit .button__arrow {
  position: static;
  right: auto;
  flex-shrink: 0;
  background: #fff;
}
.contact-form__submit .button__arrow::before, .contact-form__submit .button__arrow::after {
  background: #fff;
}
@media (any-hover: hover) {
  .contact-form__submit:hover {
    opacity: 1;
    color: #fff;
    background: #002673;
  }
}
@media screen and (max-width: 768px) {
  .contact-form__submit {
    width: calc(240 / 390 * 100cqw);
    height: calc(48 / 390 * 100cqw);
    padding: calc(12 / 390 * 100cqw) calc(36 / 390 * 100cqw);
    gap: calc(10 / 390 * 100cqw);
    font-size: 1.5rem;
    line-height: 1.3;
  }
}
.contact-form__back {
  position: relative;
  display: flex;
  flex-direction: row;
  min-width: calc(160 / 1440 * 100cqw);
  height: calc(70 / 1440 * 100cqw);
  align-items: center;
  justify-content: center;
  padding: calc(22 / 1440 * 100cqw) calc(40 / 1440 * 100cqw);
  gap: calc(14 / 1440 * 100cqw);
  border: 2px solid #21205a;
  border-radius: calc(40 / 1440 * 100cqw);
  color: #21205a;
  background: #ffffff;
  font-style: normal;
  font-size: calc(18 / 1440 * 100cqw);
  font-weight: 700;
  line-height: calc(26 / 1440 * 100cqw);
  white-space: nowrap;
}
.contact-form__back .button__arrow {
  position: static;
  right: auto;
  flex-shrink: 0;
  background: #21205a;
}
.contact-form__back .button__arrow::before, .contact-form__back .button__arrow::after {
  background: #21205a;
}
@media (any-hover: hover) {
  .contact-form__back:hover {
    opacity: 1;
    color: #fff;
    background: #21205a;
  }
  .contact-form__back:hover .button__arrow {
    background: #fff;
  }
  .contact-form__back:hover .button__arrow::before, .contact-form__back:hover .button__arrow::after {
    background: #fff;
  }
}
@media screen and (max-width: 768px) {
  .contact-form__back {
    min-width: 0;
    height: calc(48 / 390 * 100cqw);
    padding: calc(12 / 390 * 100cqw) calc(16 / 390 * 100cqw);
    gap: calc(8 / 390 * 100cqw);
    font-size: 1.5rem;
    line-height: 1.3;
  }
}
.contact-form--confirm {
  gap: 0;
}
.contact-form--confirm .contact-form__fieldset,
.contact-form--confirm .contact-form__field {
  padding: calc(24 / 1440 * 100cqw) 0;
  border-top: 1px solid #ededed;
}
@media screen and (max-width: 768px) {
  .contact-form--confirm .contact-form__fieldset,
  .contact-form--confirm .contact-form__field {
    padding: calc(18 / 390 * 100cqw) 0;
  }
}
.contact-form--confirm .contact-form__legend,
.contact-form--confirm .contact-form__label {
  margin-bottom: calc(8 / 1440 * 100cqw);
}
.contact-form--confirm .contact-form__required,
.contact-form--confirm .contact-form__note {
  display: none;
}
.contact-form--confirm .contact-form__value {
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  color: #2d2d2d;
  background: transparent;
  font-weight: 400;
}
.contact-form--confirm .contact-form__value--area {
  min-height: 0;
}
.contact-form--confirm .contact-form__actions {
  display: grid;
  margin-top: 0;
  padding-top: calc(40 / 1440 * 100cqw);
  border-top: 1px solid #ededed;
  grid-template-columns: 1fr 1fr;
  gap: calc(16 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .contact-form--confirm .contact-form__actions {
    padding-top: calc(28 / 390 * 100cqw);
    gap: calc(12 / 390 * 100cqw);
  }
}
.contact-form--confirm .contact-form__back,
.contact-form--confirm .contact-form__submit {
  width: 100%;
  min-width: 0;
}
@media screen and (max-width: 768px) {
  .contact-form--confirm .contact-form__back,
  .contact-form--confirm .contact-form__submit {
    padding-inline: calc(16 / 390 * 100cqw);
  }
}
.contact-form--confirm .contact-form__recaptcha {
  grid-column: 1/-1;
}

.main-content--error {
  padding-bottom: calc(120 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .main-content--error {
    padding-bottom: calc(80 / 390 * 100cqw);
  }
}

.error-page {
  padding-bottom: calc(80 / 1440 * 100cqw);
}
@media screen and (max-width: 768px) {
  .error-page {
    padding-bottom: calc(48 / 390 * 100cqw);
  }
}
.error-page .subpage-heading h2 {
  color: #21205a;
}
.error-page__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: calc(40 / 1440 * 100cqw);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .error-page__body {
    margin-top: calc(24 / 390 * 100cqw);
  }
}
.error-page__text {
  color: #2d2d2d;
  font-size: 1.5rem;
  font-weight: 400;
  letter-spacing: -0.02em;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .error-page__text {
    font-size: 1.4rem;
  }
}
.error-page__button {
  position: relative;
  display: flex;
  flex-direction: row;
  width: calc(306 / 1440 * 100cqw);
  height: calc(70 / 1440 * 100cqw);
  margin-top: calc(40 / 1440 * 100cqw);
  align-items: center;
  justify-content: center;
  padding: calc(22 / 1440 * 100cqw) calc(48 / 1440 * 100cqw);
  gap: calc(14 / 1440 * 100cqw);
  border-radius: calc(40 / 1440 * 100cqw);
  color: #fff;
  background: #21205a;
  font-size: calc(18 / 1440 * 100cqw);
  font-weight: 700;
  line-height: calc(26 / 1440 * 100cqw);
  white-space: nowrap;
}
.error-page__button .button__arrow {
  position: static;
  right: auto;
  flex-shrink: 0;
  background: #fff;
}
.error-page__button .button__arrow::before, .error-page__button .button__arrow::after {
  background: #fff;
}
@media (any-hover: hover) {
  .error-page__button:hover {
    opacity: 1;
    color: #fff;
    background: #002673;
  }
}
@media screen and (max-width: 768px) {
  .error-page__button {
    width: calc(240 / 390 * 100cqw);
    height: calc(48 / 390 * 100cqw);
    margin-top: calc(32 / 390 * 100cqw);
    padding: calc(12 / 390 * 100cqw) calc(28 / 390 * 100cqw);
    gap: calc(10 / 390 * 100cqw);
    font-size: 1.5rem;
    line-height: 1.3;
  }
}

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