@charset "UTF-8";
/* Scss Document */
:root {
  --main-color: #FFF;
  --black: #222222;
}

/* Scss Document */
/* -------------------------------------------------- */
/* file   : program.css                                  */
/* update : 2025                                      */
/* -------------------------------------------------- */
/* -------------------------------------------------- */
/* pc向け */
/* --------------------------------------------------- */
html, body {
  height: 100%;
  margin: 0;
}

#container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-height: 100vh;
}

main {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.footer {
  margin-top: auto;
}

.contents {
  padding: 10.3rem 0 13.2rem;
}

.preparation {
  font-size: 4rem;
  text-align: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.program__ttl {
  padding-bottom: 0.6rem;
  font-family: "Noto Serif JP", serif;
  font-size: 3rem;
  font-weight: 500;
  letter-spacing: 0.07em;
  color: var(--main-color);
  border-bottom: 2px solid #D6D6D6;
  position: relative;
}
.program__ttl::after {
  content: "";
  width: 10rem;
  height: 2px;
  display: block;
  position: absolute;
  bottom: -2px;
  left: 0;
  background: var(--main-color);
}

.program__flex {
  margin-top: 3.6rem;
}

.program__textarea {
  letter-spacing: 0.04em;
}

/* -------------------pc END------------------------------- */
/* -------------------------------------------------- */
/* tablet向け */
/* --------------------------------------------------- */
/* ---------------------tablet END----------------------------- */
/* -------------------------------------------------- */
/* sp向け */
/* --------------------------------------------------- */
@media screen and (max-width: 750px) {
  .contents {
    padding: 3.6rem 0 6.5rem;
  }
  .program__ttl {
    padding-bottom: 1rem;
    font-size: 1.8rem;
    line-height: 1.5;
    border-bottom: 1px solid #D6D6D6;
  }
  .program__ttl::after {
    width: 5.7rem;
    height: 1px;
    bottom: -1px;
  }
  .program__flex {
    margin-top: 3rem;
  }
}
/* -------------------sp END------------------------------- */