@charset "UTF-8";
/*
Theme Name: 
Description: 
Version: 1.0
Author: kamedaifuku
*/
/* =========================================================
  Foundation
  ========================================================== */
/* Reset
  --------------------------------------------------------- */
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

:where([hidden]:not([hidden=until-found])) {
  display: none !important;
}

:where(html) {
  -webkit-text-size-adjust: none;
  color-scheme: dark light;
  -moz-tab-size: 2;
    -o-tab-size: 2;
       tab-size: 2;
}

@media (prefers-reduced-motion: no-preference) {
  :where(html:focus-within) {
    scroll-behavior: smooth;
  }
}
:where(body) {
  line-height: 1.5;
  font-family: system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}

:where(button) {
  all: unset;
}

:where(input, button, textarea, select) {
  font: inherit;
  color: inherit;
}

:where(textarea) {
  resize: vertical;
  resize: block;
}

:where(button, label, select, summary, [role=button], [role=option]) {
  cursor: pointer;
}

:where(:disabled) {
  cursor: not-allowed;
}

:where(label:has(> input:disabled), label:has(+ input:disabled)) {
  cursor: not-allowed;
}

:where(a) {
  color: inherit;
  text-underline-offset: 0.2ex;
}

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

:where(img, svg, video, canvas, audio, iframe, embed, object) {
  display: block;
}

:where(img, picture, svg, video) {
  max-inline-size: 100%;
  block-size: auto;
}

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

:where(h1, h2, h3) {
  line-height: calc(1em + 0.5rem);
  text-wrap: balance;
}

:where(hr) {
  border: none;
  border-block-start: 1px solid;
  color: inherit;
  block-size: 0;
  overflow: visible;
}

:where(:focus-visible) {
  outline: 3px solid CanvasText;
  box-shadow: 0 0 0 5px Canvas;
  outline-offset: 1px;
}

:where(:focus-visible, :target) {
  scroll-margin-block: 8vh;
}

:where(.visually-hidden:not(:focus-within, :active)) {
  -webkit-clip-path: inset(50%) !important;
          clip-path: inset(50%) !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden !important;
  position: absolute !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Base
  --------------------------------------------------------- */
:root {
  --base-size-pc: clamp(0.5rem, calc(0.9877vw - 0rem), 1rem);
  --base-size-sp: clamp(0.75rem, calc(3.6364vw + 0.0227rem), 1rem);
  --base-size: var(--base-size-pc);
  --header-height: max(4.375rem, calc(var(--base-size) * 120 * 0.0625));
  scroll-behavior: smooth;
}
@media (width < 768px) {
  :root {
    --base-size: var(--base-size-sp);
    --header-height: 4.375rem;
  }
}

body {
  background: #fff;
  font-size: 1.25rem;
  font-weight: 700;
  font-family: "Noto Sans JP", sans-serif;
  color: #111;
  line-height: 1.2;
}

a {
  text-decoration: none;
}

em {
  font-style: normal;
}

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

/* =========================================================
 *   Layout
 *========================================================== */
.l-body-wrapper {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-areas: "header" "main" "footer";
  min-height: 100vh;
  overflow: clip;
}

.l-header {
  grid-area: header;
  position: sticky;
  top: 0;
  width: 100%;
  z-index: 20;
}

.l-main {
  grid-area: main;
}

.l-footer {
  grid-area: footer;
}

.l-modal {
  position: fixed;
  top: 0;
  width: 100%;
  height: 100vh;
}

.l-svg-mask {
  position: fixed;
  visibility: hidden;
  top: 0;
  z-index: -100;
}

/* =========================================================
    Object
  ========================================================== */
/* Component
  --------------------------------------------------------- */
/*汎用コンポーネント
 *********************/
.c-site-logo {
  display: flex;
  align-items: center;
}
.c-site-logo.m-footer {
  gap: calc(var(--base-size) * 12 * 0.0625);
}

.c-site-logo__image {
  width: calc(var(--base-size) * 80 * 0.0625);
  aspect-ratio: 1/1;
}
.c-site-logo__image img {
  width: 100%;
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
}
.m-footer > .c-site-logo__image {
  width: 4.125rem;
}
.m-footer > .c-site-logo__image img {
  aspect-ratio: 2/3;
}
@media (width < 768px) {
  .c-site-logo__image {
    width: 1.875rem;
  }
  .m-footer > .c-site-logo__image {
    width: calc(var(--base-size) * 44 * 0.0625);
  }
  .m-footer > .c-site-logo__image img {
    aspect-ratio: 2/3;
  }
}

.c-site-logo__text {
  color: #2A78CB;
  font-size: calc(var(--base-size) * 28 * 0.0625);
  font-weight: 900;
}
.m-footer > .c-site-logo__text {
  font-size: 1.75rem;
}
@media (width < 768px) {
  .m-footer > .c-site-logo__text {
    font-size: calc(var(--base-size) * 24 * 0.0625);
  }
}
@media (width <= 1024px) {
  .c-site-logo__text.m-footer {
    padding-top: 0.3em;
  }
}
@media (width < 768px) {
  .c-site-logo__text {
    font-size: 1rem;
  }
  .m-footer > .c-site-logo__text {
    font-size: calc(var(--base-size) * 24 * 0.0625);
  }
}

.c-global-menu__list {
  display: flex;
  gap: 0.75rem calc(var(--base-size) * 40 * 0.0625);
}
@media (width < 768px) {
  .c-global-menu__list.m-footer {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}

.c-global-menu__item {
  font-size: calc(var(--base-size) * 20 * 0.0625);
  font-weight: 500;
}
.m-footer > .c-global-menu__item {
  font-size: calc(var(--base-size) * 24 * 0.0625);
}
@media (width <= 1024px) {
  .m-footer > .c-global-menu__item {
    font-size: 1.125rem;
  }
}

.c-global-menu__link {
  transition: color 0.25s;
}
.c-global-menu__link:hover {
  color: #2A78CB;
}

.c-section_title {
  font-size: calc(var(--base-size) * 84 * 0.0625);
  font-weight: 700;
}
@media (width < 768px) {
  .c-section_title {
    font-size: calc(var(--base-size) * 48 * 0.0625);
  }
}

.c-rounded-button {
  --button-height: 0.25rem;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  border-radius: 100vmax;
  background: #FFF1AB;
  box-shadow: 0 var(--button-height) #F2E148;
  translate: 0 calc(var(--button-height) * -1);
  transition: translate 0.25s, box-shadow 0.25s;
}
.c-rounded-button:hover {
  --button-height: 0.0625rem;
}
.c-rounded-button.m-has-border {
  border: 2px solid #F2E148;
}
.c-rounded-button.m-has-icon--large {
  --button-height: calc(var(--base-size) * 8 * 0.0625);
  gap: calc(var(--base-size) * 8 * 0.0625);
  padding-inline: 0.892em 0.714em;
  height: 1.66em;
  font-size: calc(var(--base-size) * 56 * 0.0625);
}
.c-rounded-button.m-has-icon--large::after {
  content: "";
  height: 1em;
  aspect-ratio: 45/56;
  background: url(../images/icon_lower_green.svg) center bottom/contain no-repeat;
}
.c-rounded-button.m-has-icon--large:hover {
  --button-height: 0.125rem;
}
@media (width < 768px) {
  .c-rounded-button.m-has-icon--large {
    font-size: calc(var(--base-size) * 33 * 0.0625);
  }
}
.c-rounded-button.m-modal-style {
  --button-height: 0.1875rem;
  background: #fff;
  border: 1px solid #2A78CB;
  box-shadow: 0 var(--button-height) #2A78CB;
  padding: 0.25rem 2rem;
}
.c-rounded-button.m-modal-style:hover {
  --button-height: 0.0625rem;
}

.c-bubble-text {
  background: #FFF1AB;
}
.c-bubble-text.m-pointer-under__fv {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  padding: 0.5em 0.5em;
  border-radius: 100vmax;
}
.c-bubble-text.m-pointer-under__fv::after {
  content: "";
  position: absolute;
  top: calc(100% - 0.125rem);
  right: 10%;
  width: 1.8em;
  aspect-ratio: 2/1;
  background: #FFF1AB;
  -webkit-clip-path: polygon(0 0, 80% 0, 100% 100%);
          clip-path: polygon(0 0, 80% 0, 100% 100%);
}
.c-bubble-text.m-pointer-left {
  display: flex;
  align-items: center;
  position: relative;
  min-height: 3rem;
  margin-left: 0.5rem;
  padding: 0.625rem 0.9375rem 0.625rem calc(var(--base-size) * 40 * 0.0625);
  border-radius: 1.25rem;
}
.c-bubble-text.m-pointer-left::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 1.625rem;
  aspect-ratio: 26/16;
  top: calc(50% - 0.5rem);
  left: -1.5625rem;
  background: #FFF1AB;
  -webkit-clip-path: polygon(0 50%, 100% 0, 100% 100%);
          clip-path: polygon(0 50%, 100% 0, 100% 100%);
}
@media (width < 768px) {
  .c-bubble-text.m-pointer-left {
    padding: 0.625rem calc(var(--base-size) * 10 * 0.0625);
    min-height: 0;
  }
  .c-bubble-text.m-pointer-left::before {
    width: 1.25rem;
    left: -1.1875rem;
    top: calc(50% - 0.375rem);
  }
}
.c-bubble-text.m-pointer-left-diagonal {
  display: flex;
  align-items: center;
  position: relative;
  min-height: 3rem;
  margin-left: 0.5rem;
  padding: 0.625rem 0.9375rem 0.625rem calc(var(--base-size) * 40 * 0.0625);
  margin-block: 1.25rem;
  border-radius: 1.25rem;
}
.c-bubble-text.m-pointer-left-diagonal:where(.m-padding) {
  padding: 0.625rem calc(var(--base-size) * 30 * 0.0625) 0.625rem calc(var(--base-size) * 40 * 0.0625);
}
.c-bubble-text.m-pointer-left-diagonal::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 1.625rem;
  aspect-ratio: 26/16;
  top: 45%;
  left: -1.5625rem;
  background: #FFF1AB;
  -webkit-clip-path: polygon(0 0, 100% 10%, 100% 100%);
          clip-path: polygon(0 0, 100% 10%, 100% 100%);
}
@media (width < 768px) {
  .c-bubble-text.m-pointer-left-diagonal {
    padding: 0.625rem calc(var(--base-size) * 10 * 0.0625);
    min-height: 0;
  }
  .c-bubble-text.m-pointer-left-diagonal::before {
    width: 1.25rem;
    left: -1.1875rem;
  }
}

.c-em__red {
  color: #FF1414;
}

.c-em__large--main {
  padding-inline: 0.25rem;
  font-size: 1.35em;
  color: #2A78CB;
}

.c-em__under-line--large {
  display: inline-block;
  position: relative;
  z-index: 1;
  font-size: 1.75em;
  line-height: 100%;
}
.c-em__under-line--large::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -0.125rem;
  height: 0.875rem;
  border-radius: 100vmax;
  background: #2A78CB;
  z-index: -1;
}
@media (width < 768px) {
  .c-em__under-line--large {
    font-size: 1.5em;
  }
  .c-em__under-line--large::after {
    bottom: -0.25rem;
    height: calc(var(--base-size) * 12 * 0.0625);
  }
}

.c-highlight__white--main {
  display: inline-block;
  padding-inline: 0.25rem;
  background: #fff;
  color: #2A78CB;
}

.c-highlight__line-style {
  display: inline-block;
  padding: 0.083em 0.166em;
  background: #00C300;
  color: #fff;
}

.c-stroke-text--main {
  color: #fff;
  filter: url(#stroke-main);
}
.c-stroke-text--main.m-large120 {
  font-size: 1.23em;
}
.c-stroke-text--main.m-large170 {
  font-size: 1.72em;
}
.c-stroke-text--main.m-has-shadow {
  filter: url(#stroke-main) drop-shadow(0.045em 0.045em rgba(0, 0, 0, 0.6));
}

.c-support-card {
  display: flex;
  width: calc(var(--base-size) * 1400 * 0.0625);
  min-height: calc(var(--base-size) * 37.5 * 0.0625);
  background: #fff;
  box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.25);
}
@media (width <= 1024px) {
  .c-support-card {
    flex-flow: column;
    width: 24.375rem;
    min-height: 30rem;
  }
}
@media (width < 768px) {
  .c-support-card {
    width: calc(var(--base-size) * 390 * 0.0625);
    min-height: calc(18.75rem + var(--base-size) * 160 * 0.0625);
  }
}

.c-support-card__image {
  flex-shrink: 0;
  align-self: stretch;
  width: min(43%, 37.5rem);
}
.c-support-card__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
@media (width <= 1024px) {
  .c-support-card__image {
    width: 100%;
    height: 15.625rem;
  }
}

.c-support-card__contents {
  flex-shrink: 0;
  width: calc(var(--base-size) * 800 * 0.0625);
  display: inline-flex;
  flex-flow: column;
  align-items: center;
  justify-content: space-evenly;
  padding: calc(var(--base-size) * 48 * 0.0625) calc(var(--base-size) * 16 * 0.0625);
  font-weight: 700;
}
@media (width <= 1024px) {
  .c-support-card__contents {
    width: 100%;
    align-items: center;
    gap: 1.875rem;
    padding: 1.125rem 0.9375rem 1.5rem;
  }
}

.c-support-card__title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(var(--base-size) * 16 * 0.0625);
  font-size: calc(var(--base-size) * 48 * 0.0625);
}
.c-support-card__title::before {
  flex-shrink: 0;
  content: counter(support);
  display: grid;
  place-items: center;
  width: calc(var(--base-size) * 80 * 0.0625);
  aspect-ratio: 1/1;
  border-radius: 50%;
  color: #fff;
  background: #F2E148;
}
@media (width <= 1024px) {
  .c-support-card__title {
    font-size: 1.125rem;
  }
  .c-support-card__title::before {
    width: 2rem;
  }
}
@media (width < 768px) {
  .c-support-card__title {
    gap: 0.5rem;
    font-size: calc(var(--base-size) * 18 * 0.0625);
  }
  .c-support-card__title::before {
    width: calc(var(--base-size) * 32 * 0.0625);
  }
}

.c-support-card__descs {
  display: flex;
  flex-flow: column;
  font-size: calc(var(--base-size) * 28 * 0.0625);
  gap: 0.625rem;
  padding-inline: calc(var(--base-size) * 48 * 0.0625) calc(var(--base-size) * 16 * 0.0625);
}
.c-support-card__descs:where(.m-none-left-padding) {
  padding-inline: calc(var(--base-size) * 16 * 0.0625) calc(var(--base-size) * 16 * 0.0625);
}
.c-support-card__descs:where(.m-plus-left-padding) {
  padding-inline: calc(var(--base-size) * 64 * 0.0625) calc(var(--base-size) * 16 * 0.0625);
}
@media (width <= 1024px) {
  .c-support-card__descs {
    padding-inline: 0;
    font-size: 1rem;
  }
}
@media (width < 768px) {
  .c-support-card__descs {
    font-size: calc(var(--base-size) * 16 * 0.0625);
  }
}

.c-support-card__annotation {
  width: min(100%, 45.625rem);
  font-size: calc(var(--base-size) * 24 * 0.0625);
  padding-inline: calc(var(--base-size) * 48 * 0.0625) calc(var(--base-size) * 8 * 0.0625);
}
.c-support-card__annotation::before {
  content: "＊";
}
@media (width <= 1024px) {
  .c-support-card__annotation {
    padding-inline: 0;
    font-size: 1rem;
  }
}
@media (width < 768px) {
  .c-support-card__annotation {
    font-size: calc(var(--base-size) * 16 * 0.0625);
  }
}

.c-wrap-group {
  display: flex;
  flex-flow: column;
  align-items: center;
}
.c-wrap-group > span {
  white-space: nowrap;
}
@media (width <= 1024px) {
  .c-wrap-group.m-nowrap-sp {
    flex-flow: row;
  }
}

.c-multiple-phrases {
  display: flex;
  flex-flow: column;
  align-items: center;
  gap: 0.52em;
  position: relative;
}
.c-multiple-phrases > span {
  white-space: nowrap;
}
.c-multiple-phrases::after {
  content: "&";
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  font-size: 0.75em;
}

.c-multiple-phrases--dot {
  display: flex;
  flex-flow: column;
  align-items: center;
  gap: 0.416em;
  position: relative;
}
.c-multiple-phrases--dot::after {
  content: "・";
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
}

.c-annotation-target {
  display: inline-flex;
}
.c-annotation-target::after {
  position: relative;
  align-self: flex-start;
  content: "＊";
  font-size: 0.58em;
  top: -0.25em;
}

.c-benefit-card {
  flex-shrink: 0;
  display: flex;
  flex-flow: column;
  align-items: center;
  justify-content: space-around;
  gap: 0.625rem;
  width: min(100%, clamp(24.375rem, 51.6667vw - 7.9167rem, 43.75rem));
  aspect-ratio: 1/1;
  padding: clamp(0.8125rem, 1.2727vw - 0.0227rem, 1.25rem);
  border-radius: clamp(0.6875rem, 1.6364vw - 0.3864rem, 1.25rem);
  background: #FFF1AB;
  box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.25);
}

.c-benefit-card__title-box.m-has-image {
  display: flex;
  align-items: center;
  gap: clamp(0.5rem, 1.4545vw - 0.4545rem, 1rem);
}

.c-benefit-card__title {
  font-size: clamp(3.875rem, 10.4vw - 3.275rem, 7.125rem);
  color: #fff;
  filter: url(#stroke-main) drop-shadow(4px 4px 4px rgba(0, 0, 0, 0.5));
}
.c-benefit-card__title .u-large {
  font-size: 1.1123em;
}
.c-benefit-card__title .u-xsmall {
  font-size: 0.421em;
}
.c-benefit-card__title .u-small {
  font-size: 0.789em;
}
@media (width < 576px) {
  .c-benefit-card__title {
    font-size: clamp(2.625rem, 18.1818vw - 1.0114rem, 3.875rem);
  }
}

.c-benefit-card__title-image {
  width: clamp(5.625rem, 14vw - 3.5625rem, 10.4375rem);
  aspect-ratio: 168/325;
}
@media (width < 576px) {
  .c-benefit-card__title-image {
    width: clamp(4.375rem, 18.1818vw + 0.7386rem, 5.625rem);
  }
}

.c-benefit-card__descs {
  display: flex;
  flex-flow: column;
  width: min(100%, 40rem);
  font-size: clamp(1.125rem, 1.0909vw + 0.4091rem, 1.5rem);
}
.c-benefit-card__descs.u-width560 {
  width: min(100%, 35rem);
}
@media (width < 576px) {
  .c-benefit-card__descs {
    font-size: calc(var(--base-size) * 18 * 0.0625);
  }
}

.c-benefit-card__desc.m-margin-over-lg {
  margin-block: 2.5em 1.6em;
}
@media (width <= 1024px) {
  .c-benefit-card__desc.m-margin-over-lg {
    margin-block: 1.25rem;
  }
}

.c-benefit-card__image > img {
  width: clamp(12.5rem, 36.3636vw - 11.3636rem, 25rem);
  aspect-ratio: 400/269;
}

.c-flow-card {
  align-self: flex-start;
  display: flex;
  flex-flow: column;
  align-items: center;
  gap: clamp(1.5rem, 2.9091vw - 0.4091rem, 2.5rem);
  background: #F7F9FA;
  width: 100%;
  height: 100%;
  padding-bottom: 0.9375rem;
  box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.4);
}
@media (width <= 1024px) {
  .c-flow-card {
    gap: 2.5rem;
    padding-bottom: 3.125rem;
    height: auto;
  }
}

.c-flow-card__image {
  width: 100%;
}
.c-flow-card__image > img {
  width: 100%;
  aspect-ratio: 400/300;
}

.c-flow-card__title {
  font-size: clamp(1.5rem, 2.9091vw - 0.4091rem, 2.5rem);
}
@media (width <= 1024px) {
  .c-flow-card__title {
    font-size: clamp(1.875rem, 9.0909vw + 0.0568rem, 2.5rem);
  }
}

.c-flow-card__descs {
  display: flex;
  flex-flow: column;
  gap: 1.7em;
  padding-inline: 1.25rem;
  font-size: clamp(1rem, 1.4545vw + 0.0455rem, 1.5rem);
}
@media (width <= 1024px) {
  .c-flow-card__descs {
    font-size: clamp(1.125rem, 5.4545vw + 0.0341rem, 1.5rem);
  }
}
@media (width < 768px) {
  .c-flow-card__descs {
    font-size: calc(var(--base-size) * 18 * 0.0625);
  }
}

.c-flow-card__link {
  display: flex;
  justify-content: space-between;
  width: 9.65em;
  aspect-ratio: 270/47;
  font-size: clamp(1.25rem, 1.4545vw + 0.2955rem, 1.75rem);
}
@media (width <= 1024px) {
  .c-flow-card__link {
    font-size: 1.75rem;
  }
}

.c-customers-voice-card {
  display: flex;
  width: min(100%, 47.5rem);
  background: #fff;
}
@media (width <= 1024px) {
  .c-customers-voice-card {
    flex-flow: column;
    width: min(100%, 24.375rem);
  }
}

.c-customers-voice-card__image img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
}
@media (width <= 1024px) {
  .c-customers-voice-card__image img {
    width: 100%;
    height: auto;
    aspect-ratio: 39/30;
  }
}

.c-customers-voice-card__contents {
  flex-shrink: 0.6;
  display: flex;
  flex-flow: column;
  justify-content: center;
  gap: 1em;
  width: min(100%, 25rem);
  padding: 1.25rem;
  font-size: clamp(1.125rem, 2.6vw, 1.25rem);
}
.c-customers-voice-card__contents:where(.m-padding) {
  padding: 1.25rem 2.25rem;
}
@media (width <= 1024px) {
  .c-customers-voice-card__contents {
    padding: 1.25rem 0.75rem;
  }
}
@media (width < 768px) {
  .c-customers-voice-card__contents {
    font-size: calc(var(--base-size) * 18 * 0.0625);
  }
}

.c-accordion {
  --duration: 0.5s;
  padding: calc(var(--base-size) * 30 * 0.0625) calc(var(--base-size) * 40 * 0.0625) calc(var(--base-size) * 20 * 0.0625) calc(var(--base-size) * 60 * 0.0625);
  border-radius: 1.25rem;
  background: #F7F9FA;
  box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.4);
  font-size: calc(var(--base-size) * 32 * 0.0625);
}
@media (width < 768px) {
  .c-accordion {
    padding: 1.875rem calc(var(--base-size) * 10 * 0.0625) 1.25rem;
    box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.25);
    font-size: calc(var(--base-size) * 18 * 0.0625);
  }
}

.c-accordion__question {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  list-style: none;
}
.c-accordion__question::before {
  content: "";
  flex-shrink: 0;
  width: calc(var(--base-size) * 100 * 0.0625);
  aspect-ratio: 10/8;
  background: url(../images/icon_question.svg) no-repeat center/contain;
}
@media (width < 768px) {
  .c-accordion__question::before {
    width: calc(var(--base-size) * 50 * 0.0625);
  }
}
.c-accordion__question::after {
  content: "";
  flex-shrink: 0;
  width: 1.5625rem;
  aspect-ratio: 25/18;
  position: relative;
  margin-left: auto;
  background: url(../images/icon_rounded_triangle.svg) no-repeat center/cover;
  transition: rotate var(--duration) ease;
}
.is-open .c-accordion__question::after {
  rotate: -180deg;
}
@media (width < 768px) {
  .c-accordion__question {
    gap: 0.75rem;
  }
  .c-accordion__question::after {
    width: 1rem;
    align-self: flex-end;
  }
}

.c-accordion__answer {
  display: grid;
  grid-template-rows: 0fr;
  opacity: 0;
  transition: grid-template-rows var(--duration) ease, padding-top var(--duration) ease, opacity var(--duration) ease;
}
.is-open .c-accordion__answer {
  grid-template-rows: 1fr;
  padding-top: 1.25rem;
  opacity: 1;
}

.c-accordion__answer-box {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  list-style: none;
  overflow: hidden;
  padding-right: 3.125rem;
}
.c-accordion__answer-box::before {
  content: "";
  flex-shrink: 0;
  width: calc(var(--base-size) * 100 * 0.0625);
  aspect-ratio: 10/16;
  background: url(../images/icon_teacher.png) no-repeat center/cover;
}
@media (width < 768px) {
  .c-accordion__answer-box {
    gap: 0.75rem;
    padding-right: 1.75rem;
  }
  .c-accordion__answer-box::before {
    width: calc(var(--base-size) * 50 * 0.0625);
    translate: 0 calc(var(--base-size) * -20 * 0.0625);
  }
}

.c-copyright > small {
  font-size: calc(var(--base-size) * 24 * 0.0625);
  font-weight: 400;
}
@media (width <= 1024px) {
  .c-copyright > small {
    font-size: 1rem;
  }
}

.c-modal-menu__list {
  display: flex;
  flex-flow: column;
  align-items: flex-end;
  gap: 2.875rem;
  font-size: 1.25rem;
  font-weight: 500;
}

/* Project
  --------------------------------------------------------- */
/*全ページ共通
 *********************/
.p-header {
  display: flex;
  justify-content: center;
  height: var(--header-height);
  padding-inline: 1.375rem;
  background: #fff;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
  font-size: calc(var(--base-size) * 16 * 0.0625);
}
@media (width < 768px) {
  .p-header {
    padding-inline: 1.25rem;
  }
}

.p-header__container {
  display: flex;
  justify-content: space-between;
  width: 100%;
}

.p-header__menu {
  display: flex;
  gap: calc(var(--base-size) * 56 * 0.0625);
  align-items: center;
}
@media (width <= 1024px) {
  .p-header__menu {
    display: none;
  }
}

.p-header__link {
  flex-shrink: 0;
  font-size: calc(var(--base-size) * 24 * 0.0625);
  height: 1.7em;
}
.p-header__link > .c-rounded-button {
  padding-inline: 1.25em;
}

.p-hamburger-menu {
  display: none;
  transition: opacity 0.5s;
}
@media (width <= 1024px) {
  .p-hamburger-menu {
    display: flex;
    align-items: center;
    padding-right: 1.25rem;
  }
}
@media (width < 768px) {
  .p-hamburger-menu {
    padding-right: 0;
  }
}
body:has(.l-modal.is-show) .p-hamburger-menu {
  opacity: 0;
}

.p-hamburger-menu__button > img {
  width: 1.875rem;
  aspect-ratio: 30/21;
}

.p-main {
  display: flex;
  flex-flow: column;
  align-items: stretch;
}

.p-first-view {
  display: flex;
  flex-flow: column;
  align-items: center;
  justify-content: center;
  gap: calc(var(--base-size) * 58 * 0.0625);
  padding-top: calc(var(--base-size) * 200 * 0.0625);
  padding-inline: 1.25rem;
  height: max(100svh - var(--header-height), 47.5rem);
  background: url(../images/fv_image_pc.jpg) top center/cover;
}
@media (width <= 1024px) {
  .p-first-view {
    padding-top: min(30%, 12.5rem);
    height: max(100svh - var(--header-height), 37.5rem);
    background: url(../images/fv_image_tab.jpg) top 20% center/cover;
  }
}
@media (width < 576px) {
  .p-first-view {
    padding-top: min(40%, 16.875rem);
    padding-inline: calc(var(--base-size) * 16 * 0.0625);
    background: url(../images/fv_image_sp.jpg) top center/cover;
  }
}

.p-first-view__texts {
  display: flex;
  flex-flow: column;
  align-items: flex-start;
  gap: 1.0625rem;
  width: min(100%, 98.75rem);
}
@media (width <= 1024px) {
  .p-first-view__texts {
    align-items: center;
  }
}

.p-first-view__title {
  color: #2A78CB;
  filter: url(#stroke-white) drop-shadow(0 6px 0 rgba(0, 0, 0, 0.6));
  font-size: calc(var(--base-size) * 74 * 0.0625);
  font-weight: 700;
  line-height: 1.5;
}
.p-first-view__title::before {
  content: "「";
}
.p-first-view__title::after {
  content: "」";
}
@media (width <= 1024px) {
  .p-first-view__title {
    display: flex;
    flex-flow: wrap;
    justify-content: center;
  }
  .p-first-view__title::after, .p-first-view__title::before {
    content: "";
  }
}
@media (width < 768px) {
  .p-first-view__title {
    font-size: calc(var(--base-size) * 44 * 0.0625);
  }
}

.p-first-view__subdesc {
  --font-size: calc(var(--base-size) * 40 * 0.0625);
  margin-left: var(--font-size);
  margin-bottom: 0.5em;
  font-size: var(--font-size);
}
@media (width <= 1024px) {
  .p-first-view__subdesc {
    align-self: flex-start;
    margin-left: 15vw;
    margin-bottom: 0;
    filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.4));
  }
}
@media (width < 768px) {
  .p-first-view__subdesc {
    margin-left: 8vw;
    --font-size: calc(var(--base-size) * 23 * 0.0625);
  }
}
@media (width < 576px) {
  .p-first-view__subdesc {
    margin-left: clamp(1.25rem, 5.9259vw + 0.0278rem, 2.25rem);
  }
}

.p-first-view__catchphrase {
  --font-size: calc(var(--base-size) * 40 * 0.0625);
  margin-left: var(--font-size);
  font-size: var(--font-size);
}
@media (width <= 1024px) {
  .p-first-view__catchphrase {
    display: flex;
    flex-flow: wrap;
    justify-content: center;
    margin-left: 0;
  }
}
@media (width < 768px) {
  .p-first-view__catchphrase {
    --font-size: calc(var(--base-size) * 20 * 0.0625);
  }
}

.p-first-view__link {
  width: min(100%, 98.75rem);
  font-size: calc(var(--base-size) * 48 * 0.0625);
  padding-left: 2.48em;
}
.p-first-view__link > .c-rounded-button {
  width: 12.5em;
  aspect-ratio: 60/9;
  --button-height: 0.16em;
  border-width: calc(var(--base-size) * 4 * 0.0625);
}
.p-first-view__link > .c-rounded-button:hover {
  --button-height: 0.0625rem;
}
@media (width <= 1024px) {
  .p-first-view__link {
    display: flex;
    justify-content: center;
    padding-left: 0;
  }
}
@media (width < 768px) {
  .p-first-view__link {
    font-size: calc(var(--base-size) * 25 * 0.0625);
  }
  .p-first-view__link > .c-rounded-button {
    border-width: 0.125rem;
  }
}

.p-conversation-hacks {
  display: flex;
  flex-flow: column;
  align-items: center;
  padding-top: 3.125rem;
  overflow: clip;
}
@media (width < 768px) {
  .p-conversation-hacks {
    padding-top: 1.75rem;
  }
}

.p-conversation-hacks__title {
  display: flex;
  flex-flow: wrap;
  justify-content: center;
  align-items: baseline;
  font-size: clamp(2rem, 5vw, 3rem);
  font-weight: 700;
}

.p-concerns {
  display: grid;
  margin-top: 3.125rem;
  padding-inline: 1.25rem;
  width: calc(var(--base-size) * 1540 * 0.0625);
  height: calc(var(--base-size) * 655 * 0.0625);
  overflow: hidden;
}
.p-concerns > * {
  grid-area: 1/1/2/2;
}
@media (width < 768px) {
  .p-concerns {
    display: flex;
    flex-flow: column;
    max-width: calc(var(--base-size) * 430 * 0.0625);
    height: auto;
  }
}

.p-concerns__item {
  display: grid;
  height: calc(var(--base-size) * 500 * 0.0625);
}
.p-concerns__item > * {
  grid-area: 1/1/2/2;
}
.p-concerns__item.m-case1 {
  place-self: start start;
  width: min(100%, var(--base-size) * 1160 * 0.0625);
}
.p-concerns__item.m-case2 {
  place-self: end end;
  width: min(100%, var(--base-size) * 1100 * 0.0625);
}
@media (width < 768px) {
  .p-concerns__item {
    overflow: hidden;
  }
  .p-concerns__item.m-case1 {
    height: calc(var(--base-size) * 340 * 0.0625);
  }
  .p-concerns__item.m-case2 {
    height: calc(var(--base-size) * 314 * 0.0625);
  }
}

.p-concerns-cases__list {
  display: grid;
  position: relative;
  z-index: 1;
}
.p-concerns-cases__list > * {
  grid-area: 1/1/2/2;
}

.p-concerns-cases__item {
  display: flex;
  flex-flow: column;
  align-items: center;
  min-width: 13.6em;
  padding: 0.679em;
  border-radius: 1.429em;
  background: #D4E4F5;
  font-size: calc(var(--base-size) * 28 * 0.0625);
  position: absolute;
}
.m-case1 .p-concerns-cases__item:nth-child(1) {
  left: calc(var(--base-size) * 34 * 0.0625);
}
.m-case1 .p-concerns-cases__item:nth-child(2) {
  top: calc(var(--base-size) * 260 * 0.0625);
  left: 0;
}
.m-case1 .p-concerns-cases__item:nth-child(3) {
  top: calc(var(--base-size) * 44 * 0.0625);
  right: 0;
}
.m-case2 .p-concerns-cases__item:nth-child(1) {
  bottom: calc(var(--base-size) * 71 * 0.0625);
}
.m-case2 .p-concerns-cases__item:nth-child(2) {
  bottom: calc(var(--base-size) * 335 * 0.0625);
  right: 0;
}
.m-case2 .p-concerns-cases__item:nth-child(3) {
  bottom: calc(var(--base-size) * 105 * 0.0625);
  right: calc(var(--base-size) * 11 * 0.0625);
}
@media (width < 768px) {
  .p-concerns-cases__item {
    font-size: calc(var(--base-size) * 16 * 0.0625);
    border-radius: 1.375em;
    padding: 0.675em 0.8125em;
  }
  .m-case1 .p-concerns-cases__item:nth-child(1) {
    left: 0;
  }
  .m-case1 .p-concerns-cases__item:nth-child(2) {
    top: calc(var(--base-size) * 110 * 0.0625);
    left: auto;
    right: 0;
  }
  .m-case1 .p-concerns-cases__item:nth-child(3) {
    top: calc(var(--base-size) * 270 * 0.0625);
    right: calc(var(--base-size) * 22 * 0.0625);
  }
  .m-case2 .p-concerns-cases__item:nth-child(1) {
    bottom: calc(var(--base-size) * 244 * 0.0625);
  }
  .m-case2 .p-concerns-cases__item:nth-child(2) {
    bottom: calc(var(--base-size) * 100 * 0.0625);
    right: auto;
    left: 0;
  }
  .m-case2 .p-concerns-cases__item:nth-child(3) {
    bottom: 0;
    right: 0;
  }
}

.p-concerns__image {
  place-self: end center;
  z-index: 0;
  width: calc(var(--base-size) * 360 * 0.0625);
}
.p-concerns__image > img {
  offset: cover;
}
.m-case2 .p-concerns__image {
  translate: 0 1.25rem;
}
@media (width < 768px) {
  .p-concerns__image {
    position: relative;
    max-width: calc(var(--base-size) * 200 * 0.0625);
  }
  .m-case1 .p-concerns__image {
    place-self: center start;
  }
  .m-case2 .p-concerns__image {
    place-self: end end;
    translate: 0 -1.25rem;
  }
}

.p-solution {
  display: flex;
  justify-content: center;
  gap: min(6.25rem, 5vw);
  padding: 3.125rem 1.25rem 0;
  width: 100%;
  min-height: 18.75rem;
  background: #FFF1AB;
}
@media (width < 768px) {
  .p-solution {
    flex-flow: column;
    justify-content: flex-start;
    align-items: center;
    gap: 0.625rem;
    margin-top: 6.25rem;
  }
}

.p-solution__image {
  flex-shrink: 0;
  position: relative;
  width: 17.5rem;
}
.p-solution__image > img {
  position: absolute;
  bottom: 0;
  height: clamp(18.75rem, 27vw, 25rem);
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}
@media (width < 768px) {
  .p-solution__image {
    height: 3.125rem;
  }
  .p-solution__image > img {
    height: 10rem;
  }
}

.p-solution__texts {
  display: flex;
  flex-flow: column;
  gap: 2.5rem;
  padding-bottom: 1.75rem;
  font-weight: 700;
  font-size: clamp(1.5rem, 2.6vw, 2.5rem);
}
@media (width < 768px) {
  .p-solution__texts {
    gap: 1.5rem;
    font-size: clamp(0.9375rem, 5vw, 1.25rem);
  }
}

.p-solution__text {
  text-align: center;
}
.p-solution__text.m-large {
  font-size: 1.2em;
}
@media (width < 768px) {
  .p-solution__text {
    line-height: 1.8;
  }
  .p-solution__text.m-large {
    line-height: 1.5;
    font-size: 1.3em;
  }
}

.p-line-invite {
  display: flex;
  flex-flow: column;
  align-items: center;
  padding: 2.5rem 1.25rem 3.75rem;
  background: #E6F9E6;
}
@media (width < 768px) {
  .p-line-invite {
    padding: 2.5rem 1.25rem;
  }
}

.p-line-invite__grid {
  display: grid;
  grid-template-columns: 1fr min(47.5rem, 50vw);
  grid-template-areas: "banner registration" "banner present" "banner link";
  justify-content: center;
  gap: 1.1875rem 3rem;
  width: min(100%, 101rem);
}
@media (width <= 1024px) {
  .p-line-invite__grid {
    grid-template-columns: 1fr;
    grid-template-areas: "registration" "banner" "present" "link";
    width: min(100%, 32.5rem);
  }
}

.p-line-registration-info {
  grid-area: registration;
  display: flex;
  gap: 0 clamp(1.5rem, 2.5vw, 2.25rem);
}
@media (width <= 1024px) {
  .p-line-registration-info {
    justify-content: center;
  }
}
@media (width < 768px) {
  .p-line-registration-info {
    flex-flow: wrap;
  }
}

.p-line-registration-info__image {
  width: clamp(9.625rem, 18vw, 16.25rem);
  aspect-ratio: 15/13;
  filter: drop-shadow(4px 4px 4px rgba(0, 0, 0, 0.4));
}
@media (width < 768px) {
  .p-line-registration-info__image {
    filter: drop-shadow(2px 2px 3px rgba(0, 0, 0, 0.4));
  }
}

.p-line-registration-info__text {
  display: flex;
  flex-flow: column;
  font-size: clamp(2.125rem, 3.61vw, 3.25rem);
  font-weight: 700;
}
.p-line-registration-info__text > .m-large180 {
  font-size: clamp(4rem, 6.67vw, 6rem);
}

.p-line-invite__banner {
  grid-area: banner;
  display: flex;
  align-self: center;
  margin-top: 6.25rem;
}
.p-line-invite__banner > img {
  width: 100%;
  aspect-ratio: 1.779/1;
}
@media (width <= 1024px) {
  .p-line-invite__banner {
    margin-top: 0;
    padding-inline: 1rem;
  }
}

.p-present-info {
  font-size: clamp(2.4375rem, 5.41vw, 4.875rem);
  font-weight: 700;
}
@media (width < 576px) {
  .p-present-info {
    font-size: clamp(1.875rem, 10vw, 2.4375rem);
  }
}

.p-present-info__text {
  grid-area: present;
  width: min(100%, 43.75rem);
  text-align: center;
}

.p-line-invite__link {
  grid-area: link;
  justify-self: center;
  margin-top: 1.25rem;
}

.p-support {
  display: flex;
  flex-flow: column;
  background: #F7F9FA;
  padding-bottom: 4.375rem;
}
@media (width <= 1024px) {
  .p-support {
    padding-bottom: 1.875rem;
  }
}

.p-support__main {
  padding-top: 3.125rem;
  padding-bottom: 6.25rem;
  display: flex;
  flex-flow: column;
  gap: calc(var(--base-size) * 60 * 0.0625);
  align-items: center;
  background: #FFF1AB;
}
@media (width < 768px) {
  .p-support__main {
    padding-top: 2.6875rem;
    padding-bottom: 3.75rem;
    gap: calc(var(--base-size) * 24 * 0.0625);
  }
}

.p-support__desc {
  font-size: clamp(1.125rem, 3vw, 2rem);
}

.p-support__list {
  display: flex;
  flex-flow: column;
  align-items: center;
  gap: 3.75rem;
  padding-top: 0.3125rem;
  padding-inline: 1.25rem;
  width: min(100%, var(--base-size) * 1440 * 0.0625);
  counter-reset: support;
}
@media (width < 768px) {
  .p-support__list {
    gap: 2.5rem;
  }
}

.p-support__item {
  counter-increment: support 1;
}

.p-support__benefits {
  align-self: center;
  display: flex;
  flex-flow: wrap;
  gap: clamp(3.125rem, 9.0909vw - 2.8409rem, 6.25rem);
  justify-content: center;
  padding: 4.375rem 1.25rem 3.125rem;
}
@media (width <= 1024px) {
  .p-support__benefits {
    flex-flow: column;
    align-items: center;
  }
}
@media (width < 768px) {
  .p-support__benefits {
    padding: 2.5rem 1.25rem 2.25rem;
  }
}

.p-support__link {
  align-self: center;
}

.p-usage-flow {
  display: flex;
  flex-flow: column;
  align-items: center;
  gap: 3.875rem;
  padding: 3.5rem 1.25rem 2.5rem;
}
@media (width <= 1024px) {
  .p-usage-flow {
    padding: 3.9375rem 1.25rem 3.125rem;
    gap: 2.5rem;
  }
}

.p-usage-flow__list {
  --gap: clamp(6.25rem, calc(9.0909vw + 0.2841rem), 9.375rem);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--gap);
  place-items: stretch;
  width: min(100%, 93.75rem);
}
@media (width <= 1024px) {
  .p-usage-flow__list {
    display: flex;
    flex-flow: column nowrap;
    align-items: center;
    gap: 3.8125rem;
    width: min(100%, 25rem);
  }
}

.p-usage-flow__item {
  display: grid;
  height: 100%;
}
.p-usage-flow__item > * {
  grid-area: 1/1/2/2;
}
.p-usage-flow__item:not(:last-child):after {
  content: "";
  grid-area: 1/1/2/2;
  align-self: center;
  justify-self: end;
  position: relative;
  translate: calc(var(--gap) / 2 + 50%);
  width: clamp(2.5rem, 7.2727vw - 2.2727rem, 5rem);
  aspect-ratio: 79/87;
  background: url(../images/icon_right_arrow.svg) no-repeat center/cover;
}
@media (width <= 1024px) {
  .p-usage-flow__item:not(:last-child) {
    display: flex;
    flex-flow: column;
    gap: 3.75rem;
  }
  .p-usage-flow__item:not(:last-child)::after {
    width: 3.75rem;
    aspect-ratio: 70/61;
    translate: 0;
    background: url(../images/icon_lower_arrow.svg) no-repeat center/cover;
  }
}

.p-customers-voice {
  display: flex;
  flex-flow: column;
  align-items: center;
  gap: 4.8125rem;
  padding: 3.375rem 1.25rem 5.4375rem;
  background: #FFF1AB;
}
@media (width < 768px) {
  .p-customers-voice {
    gap: 2.375rem;
    padding: 2.5rem 1.25rem 2.5rem;
  }
}

.p-customers-voice__list {
  display: flex;
  justify-content: center;
  gap: 3.75rem clamp(3.75rem, 8.3333vw - 3.75rem, 6.25rem);
}
@media (width < 1440px) {
  .p-customers-voice__list {
    flex-flow: wrap;
  }
}

.p-faq {
  display: flex;
  flex-flow: column;
  align-items: center;
  gap: 5rem;
  padding: 4rem 1.25rem 5.8125rem;
}
@media (width < 768px) {
  .p-faq {
    gap: 2rem;
    padding: 2rem 1.25rem 2rem;
  }
}

.p-faq__list {
  display: flex;
  flex-flow: column;
  gap: 3.75rem;
  width: min(88%, 75rem);
}
@media (width < 768px) {
  .p-faq__list {
    width: min(100%, 41.25rem);
    gap: 2.5rem;
  }
}

.p-introduction {
  display: flex;
  flex-flow: column;
  align-items: center;
  padding: 5.75rem 1.25rem 7.75rem;
  background: #FFF1AB;
}
@media (width <= 1024px) {
  .p-introduction {
    padding: 2.5rem 1.25rem;
  }
}

.p-introduction__list {
  display: flex;
  width: min(100%, 93.75rem);
  gap: 2.5rem;
  justify-content: space-between;
}
@media (width <= 1024px) {
  .p-introduction__list {
    flex-flow: column;
    align-items: center;
    gap: 3.75rem;
  }
}

.p-introduction__item {
  display: flex;
  flex-flow: column;
  align-items: center;
  gap: clamp(1.75rem, 6.25vw - 2.25rem, 4rem);
  width: min(100%, 43.75rem);
}
@media (width <= 1024px) {
  .p-introduction__item {
    width: min(100%, 31.25rem);
  }
}

.p-introduction__title {
  display: grid;
  place-items: center;
  padding-block: 0.4em;
  padding-inline: clamp(1rem, 0.6944vw + 0.5556rem, 1.25rem);
  border-radius: 0.416em;
  border: 0.125em solid #F2E148;
  background: #fff;
  font-size: clamp(1.9375rem, 2.9514vw + 0.0486rem, 3rem);
}
@media (width <= 1024px) {
  .p-introduction__title {
    padding-inline: clamp(0.5rem, 8vw - 1.25rem, 1rem);
    font-size: clamp(1.25rem, 8.4615vw - 0.4423rem, 1.9375rem);
  }
}

.p-introduction__contents {
  background: #fff;
  width: 100%;
  min-height: clamp(37.5rem, 24.0385vw + 22.1154rem, 43.75rem);
  font-size: clamp(1.125rem, 1.0417vw + 0.4583rem, 1.5rem);
}
@media (width <= 1024px) {
  .p-introduction__contents {
    min-height: 0;
    padding-bottom: 1.25rem;
    font-size: 1.125rem;
  }
}
@media (width < 768px) {
  .p-introduction__contents {
    font-size: calc(var(--base-size) * 18 * 0.0625);
  }
}

.p-teacher-introduction {
  display: grid;
  gap: 5.625rem 2.0625rem;
  grid-template-areas: "name  career" "image career";
  padding: 1.25rem 1.25rem 1.25rem 2.5rem;
}
@media (width <= 1024px) {
  .p-teacher-introduction {
    grid-template-areas: "name" "image" "career";
    gap: 0.625rem;
    padding: 1.25rem;
  }
}
@media (width < 768px) {
  .p-teacher-introduction {
    padding: 1.25rem calc(var(--base-size) * 8 * 0.0625);
  }
}

.p-teacher-introduction__name {
  grid-area: name;
  display: grid;
  place-items: end center;
  font-size: 2em;
  min-height: 2.5em;
}
@media (width <= 1024px) {
  .p-teacher-introduction__name {
    place-items: center;
    min-height: 0;
  }
}

.p-teacher-introduction__image {
  grid-area: image;
  display: grid;
  place-items: start center;
}
.p-teacher-introduction__image > img {
  width: 10em;
  aspect-ratio: 240/362;
}
@media (width <= 1024px) {
  .p-teacher-introduction__image > img {
    width: 7.875rem;
  }
}

.p-teacher-introduction__career {
  grid-area: career;
  align-self: center;
  display: flex;
  flex-flow: column;
  gap: 1.1em;
  padding-inline: 0.5rem;
}
@media (width <= 1024px) {
  .p-teacher-introduction__career {
    gap: 0.5em;
    padding-inline: 0;
  }
}

.p-teacher-introduction__career-text {
  padding-top: 0.625rem;
}

.p-thoughts-on-coaching {
  display: flex;
  flex-flow: column;
  gap: 1.5rem;
}

.p-thoughts-on-coaching__descs {
  display: flex;
  flex-flow: column;
  gap: 1.25rem;
  padding-inline: 1.875rem;
}
@media (width <= 1024px) {
  .p-thoughts-on-coaching__descs {
    padding-inline: 0.625rem;
  }
}
@media (width < 768px) {
  .p-thoughts-on-coaching__descs {
    padding-inline: calc(var(--base-size) * 10 * 0.0625);
  }
}

.p-footer {
  display: flex;
  flex-flow: column;
  align-items: center;
  gap: 1.5625rem;
  padding: 2.1875rem 1.25rem;
}
@media (width < 768px) {
  .p-footer {
    gap: 0.9375rem;
    padding: 1.25rem 0.625rem;
  }
}

.p-footer__container {
  display: flex;
  flex-flow: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.875rem;
  width: min(100%, 97.5rem);
}
@media (width <= 1024px) {
  .p-footer__container {
    flex-flow: column;
    justify-content: flex-start;
  }
}

.p-footer__menu {
  margin-left: auto;
}
@media (width <= 1024px) {
  .p-footer__menu {
    margin-left: 0;
  }
}

.p-modal {
  display: flex;
  flex-direction: row-reverse;
  opacity: 0;
  visibility: hidden;
  z-index: -50;
  background-color: rgba(0, 0, 0, 0.5);
  transition: all 0.5s;
}
.p-modal.is-show {
  opacity: 1;
  visibility: visible;
  z-index: 50;
}

.p-modal__container {
  display: flex;
  flex-flow: column;
  gap: 0.625rem;
  width: min(100%, 31.25rem);
  height: 100%;
  padding-inline: 1.25rem;
  background: rgba(242, 225, 72, 0.8);
  translate: 100%;
  transition: translate 0.5s;
}
.is-show .p-modal__container {
  translate: 0;
}
@media (width < 768px) {
  .p-modal__container {
    width: 100%;
    padding-right: 0;
  }
}

.p-modal__button-box {
  display: flex;
  flex-flow: row-reverse;
  align-items: center;
  height: var(--header-height);
  padding-right: 1.25rem;
}

.p-modal__button > img {
  width: 2.8125rem;
  aspect-ratio: 30/21;
}
@media (width < 768px) {
  .p-modal__button {
    width: 1.875rem;
  }
}

.p-modal__menu {
  display: flex;
  flex-flow: column;
  align-items: flex-end;
  gap: 3.125rem;
  padding-right: 2.5rem;
}

.p-modal__link {
  font-size: 1.125rem;
  font-weight: 700;
}

/* Utility
  --------------------------------------------------------- */
.u-under-xl-only {
  display: none;
}
@media (width < 1440px) {
  .u-under-xl-only {
    display: initial;
  }
}

.u-under-sm-only {
  display: none;
}
@media (width < 576px) {
  .u-under-sm-only {
    display: initial;
  }
}

.u-over-md-only {
  display: initial;
}
@media (width < 768px) {
  .u-over-md-only {
    display: none;
  }
}

.u-over-lg-only {
  display: initial;
}
@media (width <= 1024px) {
  .u-over-lg-only {
    display: none;
  }
}