@charset "UTF-8";
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

html {
  font-family: "M PLUS Rounded 1c", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "Meiryo", "メイリオ", sans-serif;
  font-size: 16px;
  scroll-behavior: smooth;
}

h1, h2, h3, h4, h5, h6, p {
  margin: 0;
}

ol, ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

img {
  max-width: 100%;
}

figure {
  margin: 0;
}

.container {
  max-width: 63.75rem;
  margin-left: auto;
  margin-right: auto;
}

.basic-section {
  padding: 6.25rem 1.25rem;
}
@media (max-width: 767px) {
  .basic-section {
    padding: 3.75rem 1.25rem;
  }
}
.basic-section.-schedule {
  background-image: linear-gradient(to right, #EAEAEA 1px, transparent 1px), linear-gradient(to bottom, #EAEAEA 1px, transparent 1px);
  background-size: 40px 40px;
  padding-top: 5.5rem;
}
@media (max-width: 767px) {
  .basic-section.-schedule {
    padding-top: 3.125rem;
  }
}
.basic-section.-schedule .button {
  position: relative;
  display: block;
  margin: 3.75rem auto 0;
  text-decoration: none;
  text-align: center;
  font-size: 1.625rem;
  font-weight: bold;
  color: #fff;
  max-width: 37.5rem;
  width: 100%;
  border-radius: 50vh;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(48.56%, #FF681F), color-stop(53.37%, #F45804));
  background: linear-gradient(180deg, #FF681F 48.56%, #F45804 53.37%);
  -webkit-box-shadow: 0 0.25rem 0.375rem rgba(0, 0, 0, 0.16);
          box-shadow: 0 0.25rem 0.375rem rgba(0, 0, 0, 0.16);
  border: 0.1875rem solid #fff;
  padding: 1.375rem 0.625rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
@media (max-width: 767px) {
  .basic-section.-schedule .button {
    margin-top: 3.125rem;
    font-size: 1.375rem;
  }
}
.basic-section.-schedule .button::after {
  position: absolute;
  top: 50%;
  right: 2.125rem;
  margin-top: -0.875rem;
  width: 1.75rem;
  height: 1.75rem;
  background-image: url("data:image/svg+xml,%3Csvg width='28' height='28' viewBox='0 0 28 28' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M13.9997 0.666626C6.63572 0.666626 0.666382 6.63596 0.666382 14C0.666382 21.364 6.63572 27.3333 13.9997 27.3333C21.3637 27.3333 27.333 21.364 27.333 14C27.333 6.63596 21.3637 0.666626 13.9997 0.666626ZM19.6557 14.0066C19.4057 13.7567 19.0666 13.6162 18.713 13.6162C18.3595 13.6162 18.0204 13.7567 17.7704 14.0066L15.333 16.444V8.34263C15.333 7.989 15.1926 7.64987 14.9425 7.39982C14.6925 7.14977 14.3533 7.00929 13.9997 7.00929C13.6461 7.00929 13.307 7.14977 13.0569 7.39982C12.8069 7.64987 12.6664 7.989 12.6664 8.34263V16.444L10.2277 14.0066C9.97624 13.7637 9.63944 13.6294 9.28985 13.6324C8.94025 13.6354 8.60583 13.7757 8.35862 14.0229C8.11141 14.2701 7.97119 14.6045 7.96815 14.9541C7.96511 15.3037 8.0995 15.6405 8.34238 15.892L13.057 20.6053C13.3071 20.8553 13.6462 20.9957 13.9997 20.9957C14.3533 20.9957 14.6923 20.8553 14.9424 20.6053L19.6557 15.892C19.7797 15.7681 19.878 15.6211 19.9451 15.4592C20.0122 15.2973 20.0468 15.1238 20.0468 14.9486C20.0468 14.7734 20.0122 14.5999 19.9451 14.438C19.878 14.2762 19.7797 14.1291 19.6557 14.0053V14.0066Z' fill='white'/%3E%3C/svg%3E%0A");
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
}
@media (max-width: 767px) {
  .basic-section.-schedule .button::after {
    right: 1.875rem;
    width: 1.5rem;
    height: 1.5rem;
    margin-top: -0.75rem;
  }
}
@media (min-width: 768px) {
  .basic-section.-schedule .button:hover {
    -webkit-box-shadow: none;
            box-shadow: none;
    -webkit-transform: translateY(0.25rem);
            transform: translateY(0.25rem);
  }
}
.basic-section.-event {
  background: #fff8e4;
}
.basic-section.-event .notice {
  text-align: center;
  color: #E60012;
  font-size: 1.5rem;
  font-weight: bold;
  margin-top: 3.125rem;
  text-decoration-color: #E60012;
  text-decoration-thickness: 0.1875rem;
  text-decoration-line: underline;
  text-underline-offset: 0.75rem;
  line-height: 2;
}
@media (max-width: 767px) {
  .basic-section.-event .notice {
    margin-top: 2.1875rem;
    font-size: 1.25rem;
    line-height: 1.8;
    text-decoration-thickness: 0.125rem;
    text-underline-offset: 0.5rem;
  }
}
.basic-section.-teacher, .basic-section.-contact {
  background-color: #35B597;
  background-image: radial-gradient(circle, #5dc4ac 0.1875rem, transparent 0.1875rem);
  background-position: 0 0;
  background-size: 1.125rem 1.125rem;
}
.basic-section.-teacher {
  padding-bottom: 10.75rem;
}
@media (max-width: 767px) {
  .basic-section.-teacher {
    padding-bottom: 6.875rem;
  }
}
.basic-section.-program {
  background: #FFF8E4;
  padding-top: 2.25rem;
  position: relative;
  z-index: 1;
}
.basic-section.-program::after {
  position: absolute;
  z-index: -1;
  top: -4.5rem;
  left: 0;
  width: 100%;
  height: 53rem;
  background: #FFF8E4;
  clip-path: polygon(48.199% 0%, 48.199% 0%, 42.601% 0.08%, 37.075% 0.316%, 31.659% 0.701%, 26.39% 1.228%, 21.306% 1.89%, 16.446% 2.68%, 11.848% 3.591%, 7.548% 4.617%, 3.587% 5.751%, 0% 6.985%, 0% 100%, 100% 100%, 100% 8.495%, 100% 8.495%, 96.408% 7.009%, 92.341% 5.639%, 87.844% 4.395%, 82.964% 3.286%, 77.747% 2.321%, 72.238% 1.511%, 66.482% 0.864%, 60.527% 0.39%, 54.417% 0.099%, 48.199% 0%);
  content: "";
}
@media (min-width: 768px) and (max-width: 960px) {
  .basic-section.-program::after {
    height: 40rem;
  }
}
@media (max-width: 767px) {
  .basic-section.-program::after {
    top: -2.375rem;
    height: 26.5rem;
  }
}
@media (min-width: 768px) {
  .basic-section.-program .container > .heading-a {
    margin-bottom: 2.125rem;
  }
}
.basic-section.-program .container > .text {
  text-align: center;
  font-size: 1rem;
}
@media (max-width: 767px) {
  .basic-section.-program .container > .text {
    font-size: 0.875rem;
  }
}
.basic-section.-application {
  background-image: linear-gradient(to right, #EAEAEA 1px, transparent 1px), linear-gradient(to bottom, #EAEAEA 1px, transparent 1px);
  background-size: 40px 40px;
}
.basic-section.-application .btn-wrap {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: calc(50% - 0.625rem) 1.25rem calc(50% - 0.625rem);
  grid-template-columns: repeat(2, calc(50% - 0.625rem));
  -ms-grid-rows: 9.125rem;
  grid-template-rows: 9.125rem;
  gap: 1.25rem;
}
.basic-section.-application .btn-wrap > *:nth-child(1) {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}
.basic-section.-application .btn-wrap > *:nth-child(2) {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
}
@media (min-width: 768px) and (max-width: 777px) {
  .basic-section.-application .btn-wrap {
    -ms-grid-rows: 7.5rem;
    grid-template-rows: 7.5rem;
  }
}
@media (max-width: 767px) {
  .basic-section.-application .btn-wrap {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    -ms-grid-rows: (6.25rem)[2];
    grid-template-rows: repeat(2, 6.25rem);
  }
  .basic-section.-application .btn-wrap > *:nth-child(1) {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .basic-section.-application .btn-wrap > *:nth-child(2) {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
}
.basic-section.-application .btn-phone {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-decoration: none;
  font-weight: bold;
  color: #000;
  font-size: 1.0625rem;
  border-radius: 0.625rem;
  border: 0.3125rem solid #ED6F32;
  background: #fff;
  -webkit-box-shadow: 0 0.25rem 0.375rem rgba(0, 0, 0, 0.16);
          box-shadow: 0 0.25rem 0.375rem rgba(0, 0, 0, 0.16);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
@media (max-width: 844px) {
  .basic-section.-application .btn-phone {
    font-size: 0.9375rem;
  }
}
@media (max-width: 767px) {
  .basic-section.-application .btn-phone {
    max-width: 500px;
    width: 100%;
    margin: 0 auto;
  }
}
@media (max-width: 480px) {
  .basic-section.-application .btn-phone {
    font-size: 0.8125rem;
  }
}
.basic-section.-application .btn-phone .text {
  padding-left: 1.125rem;
}
@media (min-width: 768px) and (max-width: 844px) {
  .basic-section.-application .btn-phone .text {
    padding-left: 0.875rem;
  }
}
.basic-section.-application .btn-phone .number {
  font-size: 2.5rem;
  line-height: 1;
  margin-top: 0.75rem;
  letter-spacing: 0.04em;
}
@media (max-width: 844px) {
  .basic-section.-application .btn-phone .number {
    font-size: 2.1875rem;
    letter-spacing: 0.02em;
  }
}
@media (max-width: 480px) {
  .basic-section.-application .btn-phone .number {
    font-size: 2rem;
  }
}
.basic-section.-application .btn-phone .number::before {
  display: inline-block;
  margin-right: 0.9375rem;
  width: 2.125rem;
  height: 2.125rem;
  background-image: url("data:image/svg+xml,%3Csvg width='34' height='34' viewBox='0 0 34 34' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M25.0114 33.9952C22.5593 33.9049 15.6098 32.9447 8.33175 25.6698C1.05535 18.3932 0.0966247 11.4469 0.00466929 8.99352C-0.131561 5.25476 2.73268 1.62327 6.04137 0.20506C6.43981 0.0330478 6.87613 -0.0324424 7.30752 0.0150156C7.7389 0.0624736 8.15054 0.221249 8.50203 0.475762C11.2266 2.46091 13.1066 5.46417 14.7209 7.82558C15.0761 8.34439 15.228 8.97572 15.1476 9.59927C15.0672 10.2228 14.7602 10.795 14.285 11.2068L10.9627 13.6738C10.8022 13.7897 10.6892 13.9598 10.6447 14.1527C10.6003 14.3456 10.6273 14.5481 10.7209 14.7225C11.4736 16.0897 12.812 18.1259 14.3446 19.6582C15.8789 21.1904 18.0109 22.6172 19.4737 23.4548C19.6571 23.5577 19.873 23.5865 20.0769 23.5352C20.2809 23.4839 20.4575 23.3564 20.5703 23.179L22.733 19.888C23.1306 19.36 23.7171 19.0062 24.3698 18.9008C25.0224 18.7955 25.6905 18.9467 26.2341 19.3228C28.6301 20.981 31.4262 22.8283 33.473 25.4485C33.7483 25.8024 33.9234 26.2238 33.98 26.6686C34.0366 27.1133 33.9727 27.5651 33.7949 27.9767C32.3696 31.3018 28.7629 34.1331 25.0114 33.9952Z' fill='%23FF681F'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
}
@media (min-width: 768px) and (max-width: 935px) {
  .basic-section.-application .btn-phone .number::before {
    width: 1.875rem;
    height: 1.875rem;
  }
}
@media (max-width: 767px) {
  .basic-section.-application .btn-phone .number::before {
    width: 1.625rem;
    height: 1.625rem;
    margin-right: 0.625rem;
  }
}
@media (min-width: 768px) {
  .basic-section.-application .btn-phone:hover {
    -webkit-box-shadow: none;
            box-shadow: none;
    -webkit-transform: translateY(0.25rem);
            transform: translateY(0.25rem);
  }
}
.basic-section.-application .btn-form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 1.875rem;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(48.56%, #FF681F), color-stop(53.37%, #F45804));
  background-image: linear-gradient(180deg, #FF681F 48.56%, #F45804 53.37%);
  -webkit-box-shadow: 0 0.25rem 0.375rem rgba(0, 0, 0, 0.16);
          box-shadow: 0 0.25rem 0.375rem rgba(0, 0, 0, 0.16);
  border-radius: 0.625rem;
  border: 0.3125rem solid #fff;
  text-decoration: none;
  position: relative;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  letter-spacing: 0.04em;
}
@media (max-width: 844px) {
  .basic-section.-application .btn-form {
    font-size: 1.5625rem;
  }
}
@media (max-width: 767px) {
  .basic-section.-application .btn-form {
    max-width: 500px;
    width: 100%;
    margin: 0 auto;
  }
}
@media (max-width: 480px) {
  .basic-section.-application .btn-form {
    font-size: 1.4375rem;
  }
}
.basic-section.-application .btn-form::after {
  position: absolute;
  top: 50%;
  right: 2.6875rem;
  margin-top: -1.25rem;
  width: 2.5rem;
  height: 2.5rem;
  background-image: url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0.833251 20.0003C0.833252 30.5861 9.41417 39.167 19.9999 39.167C30.5857 39.167 39.1666 30.5861 39.1666 20.0003C39.1666 9.41458 30.5857 0.833659 19.9999 0.833659C9.41417 0.83366 0.833251 9.41458 0.833251 20.0003ZM20.0095 11.8698C19.6502 12.2293 19.4483 12.7167 19.4483 13.2249C19.4483 13.7331 19.6502 14.2206 20.0095 14.58L23.5132 18.0837L11.8675 18.0837C11.3592 18.0837 10.8717 18.2856 10.5122 18.645C10.1528 19.0045 9.95083 19.492 9.95083 20.0003C9.95083 20.5087 10.1528 20.9962 10.5122 21.3556C10.8717 21.7151 11.3592 21.917 11.8675 21.917L23.5132 21.917L20.0095 25.4226C19.6604 25.7841 19.4672 26.2682 19.4715 26.7708C19.4759 27.2733 19.6775 27.754 20.0328 28.1094C20.3882 28.4648 20.8689 28.6663 21.3715 28.6707C21.874 28.6751 22.3582 28.4819 22.7197 28.1327L29.4951 21.3554C29.8544 20.996 30.0563 20.5086 30.0563 20.0003C30.0563 19.4921 29.8544 19.0047 29.4951 18.6452L22.7197 11.8698C22.5417 11.6916 22.3303 11.5502 22.0976 11.4538C21.8649 11.3573 21.6155 11.3077 21.3636 11.3077C21.1117 11.3077 20.8623 11.3573 20.6297 11.4538C20.397 11.5502 20.1856 11.6916 20.0076 11.8698L20.0095 11.8698Z' fill='white'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
}
@media (max-width: 844px) {
  .basic-section.-application .btn-form::after {
    width: 2rem;
    height: 2rem;
    margin-top: -1rem;
    right: 2.125rem;
  }
}
@media (max-width: 480px) {
  .basic-section.-application .btn-form::after {
    width: 1.625rem;
    height: 1.625rem;
    margin-top: -0.8125rem;
    right: 1.75rem;
  }
}
@media (min-width: 768px) {
  .basic-section.-application .btn-form:hover {
    -webkit-box-shadow: none;
            box-shadow: none;
    -webkit-transform: translateY(0.25rem);
            transform: translateY(0.25rem);
  }
}

.heading-a {
  text-align: center;
  color: var(--accent, #231815);
  font-size: 3rem;
  font-weight: bold;
  margin-bottom: 3.125rem;
  letter-spacing: 0.08em;
}
@media (max-width: 767px) {
  .heading-a {
    font-size: 2.1875rem;
    margin-bottom: 1.875rem;
  }
}
.heading-a > span {
  display: block;
  color: #35B597;
  font-size: 1.375rem;
  margin: 0.8125rem 0 0;
  letter-spacing: 0.04em;
}
@media (max-width: 767px) {
  .heading-a > span {
    font-size: 1.125rem;
    margin: 0.5625rem 0 0;
  }
}
.heading-a.-white {
  color: #fff;
}
.heading-a.-white > span {
  color: inherit;
}

.main-visual {
  --bg-color: #53c0a6;
  --ray-color: #35b597;
  --ray-width: 2deg;
  --spacing: 2.5deg;
  position: relative;
  padding: 2.125rem 1.25rem;
  overflow-y: clip;
}
@media (max-width: 767px) {
  .main-visual {
    padding: 1.75rem 1.25rem 1.875rem;
  }
}
@media (max-width: 750px) {
  .main-visual {
    padding-left: 2.667vw;
    padding-right: 2.667vw;
  }
}
.main-visual img {
  display: block;
  max-width: 1125px;
  width: 100%;
  margin: auto;
}
.main-visual::after {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 113.75rem;
  background: repeating-conic-gradient(from 80deg at bottom center, var(--ray-color) 0deg, var(--ray-color) var(--ray-width), transparent var(--ray-width), transparent calc(var(--ray-width) + var(--spacing))) var(--bg-color);
  content: "";
}

.schedule-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.25rem;
}
.schedule-list > .item {
  width: calc(50% - 0.625rem);
  border-radius: 0.625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media (max-width: 767px) {
  .schedule-list > .item {
    width: 100%;
    max-width: 31.25rem;
  }
}
.schedule-list > .item.-orange {
  --accent: #26499d;
}
.schedule-list > .item.-orange .lead {
  background: var(--accent);
}
.schedule-list > .item.-orange .content {
  border-color: var(--accent);
}
.schedule-list > .item.-orange .milestones::after {
  border-color: var(--accent);
}
.schedule-list .lead {
  text-align: center;
  color: #fff;
  font-size: 1.375rem;
  font-weight: bold;
  background: var(--accent, #b73f91);
  border-radius: 0.625rem 0.625rem 0 0;
  padding: 1.125rem;
  letter-spacing: 0.04em;
}
@media (max-width: 767px) {
  .schedule-list .lead {
    font-size: 1.125rem;
  }
}
.schedule-list .content {
  padding: 1.25rem 1.8125rem 1.8125rem;
  background: #fff;
  border: 0.1875rem solid var(--accent, #b73f91);
  border-top: 0;
  border-radius: 0 0 0.625rem 0.625rem;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media (max-width: 480px) {
  .schedule-list .content {
    padding: 1.125rem 1.375rem;
  }
}
.schedule-list .text {
  font-size: 0.9375rem;
  line-height: 1.4666666667;
  padding-right: 0.625rem;
  margin-bottom: 1.125rem;
}
.schedule-list .milestones {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 1.75rem;
  position: relative;
  background: #FFFAEB;
  border-radius: 0.625rem;
  padding: 1.25rem;
  margin-top: auto;
}
@media (max-width: 480px) {
  .schedule-list .milestones {
    padding: 1rem;
  }
}
.schedule-list .milestones::after {
  position: absolute;
  top: 1.25rem;
  left: 50%;
  margin-left: -0.5px;
  border-left: 1px dashed var(--accent, #b73f91);
  height: calc(100% - 2.5rem);
  content: "";
}
.schedule-list .milestones > .date {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: calc(50% - 0.875rem);
  height: 4.375rem;
}
.schedule-list .milestones > .date.-end {
  position: relative;
}
.schedule-list .milestones > .date.-end::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.76);
  color: #fff;
  font-size: 1.375rem;
  font-weight: bold;
  line-height: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  content: "終了しました";
}
@media (min-width: 768px) and (max-width: 960px) {
  .schedule-list .milestones > .date.-end::after {
    font-size: 2.1vw;
  }
}
@media (max-width: 767px) {
  .schedule-list .milestones > .date.-end::after {
    font-size: 1.125rem;
  }
}
@media (max-width: 400px) {
  .schedule-list .milestones > .date.-end::after {
    font-size: 1rem;
  }
}
.schedule-list .milestones + .milestones {
  margin-top: 0.875rem;
}

.event-card {
  border-radius: 1.25rem;
  background: #fff;
}
.event-card + .event-card {
  margin-top: 3.625rem;
}
@media (max-width: 767px) {
  .event-card + .event-card {
    margin-top: 2.5rem;
  }
}
.event-card .lead {
  text-align: center;
  color: #fff;
  font-size: 1.75rem;
  font-weight: bold;
  background: #8bb512;
  border-radius: 1.25rem 1.25rem 0 0;
  padding: 1.25rem;
}
@media (max-width: 767px) {
  .event-card .lead {
    font-size: 1.375rem;
    padding: 0.875rem;
  }
}
.event-card .content {
  padding: 2.6875rem 3.125rem;
  border: 0.1875rem solid #8bb512;
  border-top: 0;
  border-radius: 0 0 1.25rem 1.25rem;
}
@media (min-width: 768px) and (max-width: 840px) {
  .event-card .content {
    padding: 2.1875rem 1.875rem;
  }
}
@media (max-width: 767px) {
  .event-card .content {
    padding: 1.875rem 1.25rem;
  }
}
.event-card .content .text {
  text-align: center;
  font-size: 1.375rem;
  line-height: 1.4;
  font-weight: bold;
  color: #231815;
}
@media (max-width: 767px) {
  .event-card .content .text {
    font-size: 1.125rem;
  }
}
.event-card .content .text > span {
  color: #080504;
}
.event-card .content .text small {
  font-size: 0.875rem;
}

.map-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.75rem;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.map-box + .map-box {
  margin-top: 3.75rem;
  padding-top: 2.5rem;
  background-image: url("data:image/svg+xml,%3Csvg width='8' height='2' viewBox='0 0 8 2' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3.0332 0C3.58529 0.000235208 4.0332 0.44786 4.0332 1C4.0332 1.55214 3.58529 1.99976 3.0332 2H1.04102C0.488917 1.99978 0.0410156 1.55215 0.0410156 1C0.0410156 0.44785 0.488917 0.000218596 1.04102 0H3.0332Z' fill='%238BB512'/%3E%3C/svg%3E%0A");
  background-size: 0.5rem 0.125rem;
  background-repeat: repeat-x;
  background-position: top left 2px;
}
@media (max-width: 767px) {
  .map-box + .map-box {
    margin-top: 2.5rem;
    padding-top: 2.1875rem;
  }
}
@media (max-width: 960px) {
  .map-box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media (max-width: 767px) {
  .map-box {
    gap: 2.125rem;
  }
}
.map-box .address {
  font-style: normal;
  margin: 0 0 1.75rem;
}
.map-box .address > span {
  display: block;
}
.map-box .address > .name {
  font-size: 1.375rem;
  line-height: 1.3636363636;
  font-weight: bold;
  color: #231815;
}
@media (max-width: 767px) {
  .map-box .address > .name {
    font-size: 1.125rem;
    line-height: 1.3;
  }
}
.map-box .address > .position {
  font-size: 1rem;
  font-weight: bold;
  margin: 0.625rem 0 1.5rem;
  color: #231815;
}
@media (max-width: 767px) {
  .map-box .address > .position {
    font-size: 0.875rem;
    line-height: 1.4;
    margin: 0.5rem 0 0.625rem;
  }
}
.map-box .address > .note {
  font-size: 1rem;
  line-height: 1.5;
  color: #E60012;
}
@media (max-width: 767px) {
  .map-box .address > .note {
    font-size: 0.875rem;
  }
}
.map-box .schedule {
  margin: 0 0.875rem 0 0;
}
.map-box .schedule > .name {
  font-size: 1.125rem;
  font-weight: bold;
  color: #b73f91;
  border-bottom: 2px solid currentColor;
  padding: 0 0 0.5rem;
  margin: 0;
}
@media (max-width: 767px) {
  .map-box .schedule > .name {
    font-size: 1rem;
  }
}
.map-box .schedule > .name.-orange {
  color: #26499d;
}
.map-box .schedule > .date {
  margin-top: 0.9375rem;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.3125rem 0.625rem;
}
.map-box .schedule > .date > img {
  height: 1.875rem;
  width: auto;
}
@media (max-width: 480px) {
  .map-box .schedule > .date > img {
    height: 1.625rem;
  }
}
.map-box .schedule > .date > .note {
  font-size: 1rem;
  color: #E60012;
}
@media (max-width: 767px) {
  .map-box .schedule > .date > .note {
    font-size: 0.875rem;
  }
}
.map-box .schedule + .schedule {
  margin-top: 1.875rem;
}
.map-box > .info {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.map-box > .detail {
  width: 27.5rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  text-align: right;
}
@media (max-width: 960px) {
  .map-box > .detail {
    width: 100%;
  }
}
.map-box > .detail iframe {
  width: 100%;
  height: 17.5rem;
  border: 0;
  margin-bottom: 0.625rem;
}
.map-box > .detail .link {
  font-size: 1rem;
  font-weight: bold;
  color: #000;
  text-decoration: none;
}
@media (max-width: 767px) {
  .map-box > .detail .link {
    font-size: 0.875rem;
  }
}
.map-box > .detail .link::after {
  display: inline-block;
  vertical-align: -0.125rem;
  margin-left: 0.625rem;
  background-image: url("data:image/svg+xml,%3Csvg width='8' height='14' viewBox='0 0 8 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.5 12L6.5 7L1.5 2' stroke='%238BB512' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
  background-size: contain;
  background-repeat: no-repeat;
  width: 0.5rem;
  height: 0.875rem;
  content: "";
}

.teacher-list {
  background: #fff;
  border-radius: 0.625rem;
  padding: 3.125rem;
}
@media (min-width: 768px) and (max-width: 900px) {
  .teacher-list {
    padding: 2.5rem 1.875rem;
  }
}
@media (max-width: 767px) {
  .teacher-list {
    padding: 2.1875rem 1.25rem;
  }
}
.teacher-list .item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.75rem;
}
@media (max-width: 767px) {
  .teacher-list .item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.teacher-list .item:not(:last-child) {
  background-image: url("data:image/svg+xml,%3Csvg width='8' height='2' viewBox='0 0 8 2' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3.0332 0C3.58529 0.000235208 4.0332 0.44786 4.0332 1C4.0332 1.55214 3.58529 1.99976 3.0332 2H1.04102C0.488917 1.99978 0.0410156 1.55215 0.0410156 1C0.0410156 0.44785 0.488917 0.000218596 1.04102 0H3.0332Z' fill='%2335B597'/%3E%3C/svg%3E%0A");
  background-size: 0.5rem 0.125rem;
  background-repeat: repeat-x;
  background-position: bottom left 2px;
  margin-bottom: 2.375rem;
  padding-bottom: 2.375rem;
}
.teacher-list .avatar {
  width: 12.5rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin: 0 auto;
}
.teacher-list .info {
  width: 11.25rem;
  font-weight: bold;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin: 0 auto;
  color: #231815;
}
.teacher-list .serial {
  background: #fff89b;
  font-size: 0.9375rem;
  font-weight: bold;
  text-align: center;
  line-height: 1;
  padding: 0.5rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.teacher-list .name {
  font-size: 2rem;
  margin: 0 0 0.625rem;
  white-space: nowrap;
}
.teacher-list .name rt, .teacher-list .name rp {
  font-size: 0.75rem;
  text-align: center;
  margin-bottom: 0.25rem;
}
.teacher-list .position {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  margin-top: 0.375rem;
}
.teacher-list .position .-shrink {
  letter-spacing: -0.08em;
  white-space: nowrap;
}
.teacher-list .content {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  font-size: 1rem;
  line-height: 1.625;
  padding-left: 0.25rem;
}
.teacher-list .content .-small {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  margin-top: 1.1em;
}

.program-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.25rem;
  margin-top: 5.9375rem;
}
@media (max-width: 1020px) {
  .program-list {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4.375rem;
  }
}
.program-list .item {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 50%;
          flex: 1 1 50%;
  background: #fff;
  border-radius: 0.625rem;
  position: relative;
  padding-top: 4.125rem;
  border: 0.1875rem solid var(--accent, #b73f91);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media (max-width: 1020px) {
  .program-list .item {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
    width: 500px;
    max-width: 100%;
  }
}
.program-list .item.-orange {
  --accent: #26499d;
}
.program-list .icon {
  position: absolute;
  top: -2.5rem;
  left: 50%;
  margin-left: -3.75rem;
  width: 7.5rem;
  height: 7.5rem;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(2.5rem, var(--accent, #b73f91)), color-stop(2.5rem, transparent));
  background: linear-gradient(to bottom, var(--accent, #b73f91) 2.5rem, transparent 2.5rem);
  border-radius: 50%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-top: 1.6875rem;
  text-align: center;
}
.program-list .icon > img {
  position: relative;
  z-index: 1;
}
.program-list .icon::after {
  position: absolute;
  inset: 0.1875rem;
  border-radius: 50%;
  background: #fff;
  content: "";
}
.program-list .title {
  font-size: 1.75rem;
  color: #fff;
  background: var(--accent, #b73f91);
  padding: 0.875rem;
  text-align: center;
  position: relative;
  z-index: 1;
  letter-spacing: 0.04em;
}
@media (max-width: 767px) {
  .program-list .title {
    font-size: 1.375rem;
  }
}
@media (max-width: 480px) {
  .program-list .title {
    font-size: 1.25rem;
  }
}
.program-list .body {
  padding: 2rem 1.8125rem;
}
@media (min-width: 768px) and (max-width: 900px) {
  .program-list .body {
    padding-left: 1.875rem;
    padding-right: 1.875rem;
  }
}
@media (max-width: 767px) {
  .program-list .body {
    padding: 1.875rem 1.25rem;
  }
}
.program-list .points {
  counter-reset: points;
}
.program-list .points .lead {
  font-size: 1.375rem;
  line-height: 1.3636363636;
  font-weight: bold;
  color: var(--accent, #b73f91);
  margin-bottom: 0.75rem;
  padding-left: 2.625rem;
  position: relative;
}
@media (max-width: 767px) {
  .program-list .points .lead {
    font-size: 1.25rem;
    padding-left: 2.125rem;
  }
}
@media (max-width: 480px) {
  .program-list .points .lead {
    font-size: 1.1875rem;
  }
}
.program-list .points .lead::before {
  position: absolute;
  top: -0.1875rem;
  left: 0;
  width: 2.125rem;
  height: 2.125rem;
  counter-increment: points;
  border-radius: 50%;
  font-weight: bold;
  line-height: 2.125rem;
  text-align: center;
  font-size: 1.125rem;
  color: #fff;
  background: var(--accent, #b73f91);
  content: counter(points);
}
@media (max-width: 767px) {
  .program-list .points .lead::before {
    top: 0;
    width: 1.75rem;
    height: 1.75rem;
    font-size: 0.9375rem;
    line-height: 1.75rem;
  }
}
@media (max-width: 480px) {
  .program-list .points .lead::before {
    width: 1.625rem;
    height: 1.625rem;
    font-size: 0.875rem;
    line-height: 1.625rem;
  }
}
@media (min-width: 501px) {
  .program-list .points .content {
    max-width: 17.5rem;
  }
}
.program-list .points .image {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  min-width: 7.9375rem;
  text-align: center;
}
.program-list .points .image img {
  height: 8rem;
}
.program-list .points li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0.625rem;
}
@media (max-width: 500px) {
  .program-list .points li {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.program-list .points li:not(:last-child) {
  border-bottom: 1px dashed var(--accent, #b73f91);
  padding-bottom: 1.5rem;
}
.program-list .points li + li {
  margin-top: 1.75rem;
}
.program-list .points li p {
  font-size: 1rem;
  line-height: 1.5;
}
@media (max-width: 767px) {
  .program-list .points li p {
    font-size: 0.9375rem;
    line-height: 1.6;
  }
}
.program-list .companies {
  margin-top: 1.5rem;
}
.program-list .companies > .lead {
  margin: 0;
  color: #fff;
  font-size: 1rem;
  font-weight: bold;
  background: var(--accent);
  padding: 0.375rem 0.5rem;
}
.program-list .companies > .list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: -webkit-max-content 0.625rem -webkit-max-content;
  -ms-grid-columns: max-content 0.625rem max-content;
  grid-template-columns: repeat(2, -webkit-max-content);
  grid-template-columns: repeat(2, max-content);
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  font-size: 0.9375rem;
  color: #080504;
  margin: 0.8125rem 0 0;
  gap: 0.5rem 0.625rem;
}
@media (max-width: 520px) {
  .program-list .companies > .list {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
}
.program-list .companies > .list li {
  padding-left: 0.9375rem;
  position: relative;
}
.program-list .companies > .list li::before {
  position: absolute;
  top: 0.25rem;
  left: 0;
  width: 0.625rem;
  height: 0.625rem;
  background: var(--accent);
  content: "";
}
.program-list .button {
  position: relative;
  display: block;
  text-decoration: none;
  text-align: center;
  font-size: 1.25rem;
  font-weight: bold;
  color: #fff;
  width: 100%;
  border-radius: 50vh;
  background: #26499D;
  -webkit-box-shadow: 0 0.25rem 0.375rem rgba(0, 0, 0, 0.16);
          box-shadow: 0 0.25rem 0.375rem rgba(0, 0, 0, 0.16);
  border: 0.1875rem solid #fff;
  padding: 0.9375rem;
  margin-top: 2.0625rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
@media (max-width: 840px) {
  .program-list .button {
    font-size: 1.125rem;
  }
}
@media (max-width: 767px) {
  .program-list .button {
    max-width: 500px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
}
@media (max-width: 480px) {
  .program-list .button {
    font-size: 1rem;
  }
}
.program-list .button::after {
  position: absolute;
  top: 50%;
  right: 1.875rem;
  margin-top: -0.6875rem;
  width: 1.375rem;
  height: 1.375rem;
  background-image: url("data:image/svg+xml,%3Csvg width='22' height='22' viewBox='0 0 22 22' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0.166626 11.0002C0.166626 16.9834 5.01671 21.8335 11 21.8335C16.9832 21.8335 21.8333 16.9834 21.8333 11.0002C21.8333 5.01691 16.9832 0.166831 11 0.166831C5.01671 0.166832 0.166625 5.01691 0.166626 11.0002ZM11.0054 6.40466C10.8023 6.60782 10.6882 6.88332 10.6882 7.17058C10.6882 7.45784 10.8023 7.73334 11.0054 7.9365L12.9857 9.91683L6.40338 9.91683C6.11606 9.91683 5.84051 10.031 5.63734 10.2341C5.43418 10.4373 5.32004 10.7128 5.32004 11.0002C5.32004 11.2875 5.43418 11.563 5.63734 11.7662C5.84051 11.9694 6.11606 12.0835 6.40338 12.0835L12.9857 12.0835L11.0054 14.0649C10.808 14.2692 10.6988 14.5429 10.7013 14.8269C10.7038 15.111 10.8177 15.3827 11.0186 15.5835C11.2194 15.7844 11.4911 15.8983 11.7752 15.9008C12.0592 15.9033 12.3329 15.7941 12.5372 15.5967L16.3668 11.7661C16.5699 11.5629 16.684 11.2874 16.684 11.0002C16.684 10.7129 16.5699 10.4374 16.3668 10.2342L12.5372 6.40466C12.4366 6.30394 12.3171 6.22403 12.1856 6.16951C12.0541 6.115 11.9131 6.08694 11.7707 6.08694C11.6284 6.08694 11.4874 6.115 11.3559 6.16951C11.2244 6.22403 11.1049 6.30394 11.0043 6.40466L11.0054 6.40466Z' fill='white'/%3E%3C/svg%3E%0A");
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
}
@media (max-width: 840px) {
  .program-list .button::after {
    right: 1.75rem;
  }
}
@media (max-width: 480px) {
  .program-list .button::after {
    width: 1.125rem;
    height: 1.125rem;
    margin-top: -0.5625rem;
    right: 1.25rem;
  }
}
@media (min-width: 768px) {
  .program-list .button:hover {
    -webkit-box-shadow: none;
            box-shadow: none;
    -webkit-transform: translateY(0.25rem);
            transform: translateY(0.25rem);
  }
}

.contact-info {
  text-align: center;
  border-radius: 0.625rem;
  background: #fff;
  font-weight: bold;
  padding: 3.375rem 2.5rem 3.125rem;
}
@media (max-width: 767px) {
  .contact-info {
    padding: 2.5rem 1.25rem 2.1875rem;
  }
}
.contact-info .title {
  font-size: 1.375rem;
  padding-bottom: 1.25rem;
  position: relative;
}
@media (max-width: 480px) {
  .contact-info .title {
    font-size: 1.125rem;
    padding-bottom: 0.875rem;
  }
}
.contact-info .title::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  margin-left: -1.5625rem;
  width: 3.125rem;
  height: 0.1875rem;
  border-radius: 50vh;
  background: #35b597;
  content: "";
}
.contact-info .address {
  font-style: normal;
  margin: 2.6875rem 0;
}
@media (max-width: 480px) {
  .contact-info .address {
    margin: 2rem 0;
  }
}
.contact-info .address .name {
  font-size: 1.875rem;
  display: block;
  margin-bottom: 0.8125rem;
  letter-spacing: 0.04em;
}
@media (max-width: 480px) {
  .contact-info .address .name {
    font-size: 1.5625rem;
  }
}
.contact-info .address .name > span {
  font-size: 1.125rem;
  line-height: 1;
  background: rgba(53, 181, 151, 0.27);
  display: inline-block;
  vertical-align: 0.1875rem;
  padding: 0.625rem 1.375rem;
  margin-right: 1.25rem;
  letter-spacing: 0.04em;
}
@media (max-width: 584px) {
  .contact-info .address .name > span {
    display: block;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto 0.625rem;
  }
}
@media (max-width: 480px) {
  .contact-info .address .name > span {
    font-size: 0.875rem;
  }
}
.contact-info .address .place {
  font-size: 1.25rem;
  letter-spacing: 0.04em;
}
@media (max-width: 480px) {
  .contact-info .address .place {
    font-size: 0.9375rem;
  }
}
.contact-info .phone {
  text-decoration: none;
  color: #000;
  font-size: 3.125rem;
  letter-spacing: 0.04em;
  line-height: 1;
}
@media (max-width: 767px) {
  .contact-info .phone {
    font-size: 2.5rem;
  }
}
@media (max-width: 480px) {
  .contact-info .phone {
    font-size: 2.125rem;
    letter-spacing: 0.02em;
  }
}
.contact-info .phone::before {
  display: inline-block;
  width: 2.25rem;
  height: 2.25rem;
  margin-right: 1.25rem;
  background-image: url("data:image/svg+xml,%3Csvg width='36' height='36' viewBox='0 0 36 36' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M26.4827 35.9949C23.8863 35.8993 16.5281 34.8826 8.82185 27.1798C1.11743 19.4751 0.102309 12.1202 0.00494395 9.52255C-0.1393 5.56387 2.89343 1.71875 6.39675 0.217122C6.81862 0.0349918 7.2806 -0.0343507 7.73737 0.0158989C8.19413 0.0661485 8.62998 0.234264 9.00215 0.503748C11.887 2.60567 13.8776 5.7856 15.5869 8.28591C15.963 8.83524 16.1238 9.50371 16.0386 10.1639C15.9535 10.8242 15.6284 11.43 15.1253 11.866L11.6076 14.4781C11.4376 14.6008 11.318 14.781 11.2709 14.9852C11.2238 15.1895 11.2524 15.4039 11.3515 15.5886C12.1485 17.0361 13.5657 19.1921 15.1884 20.8145C16.813 22.4369 19.0704 23.9476 20.6192 24.8345C20.8134 24.9435 21.042 24.974 21.2579 24.9196C21.4739 24.8653 21.6609 24.7303 21.7804 24.5425L24.0702 21.0579C24.4912 20.4988 25.1122 20.1242 25.8033 20.0127C26.4943 19.9011 27.2017 20.0612 27.7773 20.4594C30.3142 22.2152 33.2748 24.1711 35.442 26.9454C35.7335 27.3202 35.9188 27.7664 35.9788 28.2373C36.0387 28.7082 35.9711 29.1866 35.7828 29.6224C34.2737 33.143 30.4548 36.1409 26.4827 35.9949Z' fill='%2335B597'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
}
@media (max-width: 767px) {
  .contact-info .phone::before {
    width: 1.875rem;
    height: 1.875rem;
    margin-right: 0.9375rem;
  }
}
@media (max-width: 480px) {
  .contact-info .phone::before {
    width: 1.625rem;
    height: 1.625rem;
    margin-right: 0.625rem;
  }
}
.contact-info .time {
  font-size: 1rem;
  margin-top: 0.5rem;
}
@media (max-width: 767px) {
  .contact-info .time {
    font-size: 0.875rem;
  }
}
.contact-info .note {
  font-size: 1rem;
  line-height: 1.5;
  margin-top: 2.75rem;
  font-weight: 400;
  letter-spacing: 0.04em;
}
@media (max-width: 767px) {
  .contact-info .note {
    font-size: 0.875rem;
    margin-top: 1.875rem;
  }
}
@media (max-width: 480px) {
  .contact-info .note {
    font-size: 0.75rem;
    margin-top: 1.5rem;
  }
}
.contact-info .note a {
  color: #35B597;
}
@media (min-width: 768px) {
  .contact-info .note a:hover {
    text-decoration: none;
  }
}

.site-footer .copyright {
  text-align: center;
  font-size: 1rem;
  padding: 1.5rem;
}
@media (max-width: 480px) {
  .site-footer .copyright {
    font-size: 0.75rem;
  }
}
