/* reset */
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0;
  padding: 0;
}

:root {
  font-size: 2.7777777778vw;
}
@media screen and (min-width: 601px) {
  :root {
    font-size: 1vw;
  }
  :root .sp {
    display: none !important;
  }
}
@media screen and (min-width: 1001px) {
  :root {
    font-size: 10px;
  }
}
@media screen and (max-width: 600px) {
  :root .pc {
    display: none !important;
  }
}

body {
  padding: 0;
  margin: 0;
  line-height: 1.8;
  width: 100%;
  -webkit-text-size-adjust: none;
  font-family: sans-serif;
  text-align: justify;
}

img {
  display: block;
  max-width: 100%;
}

h1 {
  margin: 0;
  background: #333;
  padding: 0;
  text-align: center;
}

.wrap {
  width: min(100%, 1000px);
  margin: 0 auto;
  font-size: 1.6rem;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

.page-lead {
  margin: 1.2rem;
  text-align: justify;
  font-size: 1.6rem;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 601px) {
  .page-lead {
    font-size: 1.8rem;
    margin: 1em;
  }
}

.intro {
  background-color: #FFFCDC;
  margin: 0;
}
.intro .point2 {
  margin-bottom: -1rem;
}
@media screen and (min-width: 601px) {
  .intro .row {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  .intro .row .point1 {
    width: 100%;
  }
  .intro .row .point1 img.head {
    margin-bottom: -8rem;
  }
  .intro .row .point2,
  .intro .row .point3,
  .intro .row .point4,
  .intro .row .point5 {
    width: 50%;
    margin: 0;
  }
}

.univ h2 {
  margin: 4rem 0 1rem;
}
.univ .univ-lead {
  margin: 1rem 2rem;
  text-align: justify;
  font-size: 1.6rem;
  letter-spacing: 0.05em;
}
.univ .inner {
  border: 0.5rem solid #CF1225;
  position: relative;
  z-index: 0;
  margin-bottom: 7rem;
}
.univ .point2 {
  position: relative;
  margin-bottom: 2rem;
}
.univ .point2 a {
  display: block;
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  margin: auto;
}
.univ .seminar {
  position: relative;
  padding-bottom: 6rem;
}
.univ .seminar .seminar-button {
  width: 28rem;
  margin: 0 auto;
  position: absolute;
  inset-inline: 0;
  top: 46rem;
}
.univ .seminar .ch-button {
  width: calc(100% + 1rem);
  margin: 0 auto;
  position: absolute;
  left: -0.5rem;
  bottom: -0.5rem;
}
.univ .test h3 {
  margin: 2rem 0 0;
}
.univ .schedule {
  margin-top: 1rem;
}
.univ .access {
  margin-top: 1rem;
}
@media screen and (min-width: 601px) {
  .univ h2 {
    margin: 0;
  }
  .univ h2 + h3 {
    width: 96rem;
    margin: 0 auto;
  }
  .univ .inner {
    width: 96rem;
    margin: 0 auto;
  }
  .univ .point2 a {
    width: 43.2rem;
    bottom: 3rem;
  }
  .univ .univ-lead {
    margin: 0 6rem;
    text-align: center;
    font-weight: 700;
    font-size: 2rem;
  }
  .univ .seminar {
    background: url("../images/seminar_bg_pc.svg") no-repeat center/100%;
    padding: 4.5rem 8rem 15rem;
  }
  .univ .seminar .seminar-button {
    left: auto;
    right: 11rem;
    top: 33.5rem;
    width: 36rem;
  }
  .univ .seminar .ch-button {
    width: 36rem;
    bottom: 2rem;
    inset-inline: 0;
  }
  .univ .test .test-inner {
    background-color: #FAE1E3;
    padding: 4rem 5rem;
  }
  .univ .test .test-inner .test-button {
    width: 43.2rem;
    margin-inline: auto;
  }
  .univ .scholarship {
    background-color: #FAE1E3;
    margin-top: 2rem;
    padding-bottom: 4rem;
  }
  .univ .scholarship .scholarship-button {
    width: 43.2rem;
    margin-inline: auto;
  }
  .univ .schedule {
    margin-top: 0;
  }
  .univ .access {
    margin-top: 0;
  }
}

.external-link .one {
  margin: 3rem 0 2rem;
  text-align: center;
}
.external-link .two {
  margin: 1rem 0 2rem;
  text-align: center;
}
.external-link .three {
  margin: 1rem 0 3rem;
  text-align: center;
}
@media screen and (min-width: 601px) {
  .external-link {
    width: 90rem;
    margin-inline: auto;
    margin-bottom: 4rem;
    display: grid;
    grid-template-columns: 43.2rem 43.2rem;
    grid-template-rows: auto auto;
    gap: 2rem 3rem;
    grid-template-areas: "two three" "one one";
  }
  .external-link > p {
    width: 43.2rem;
  }
  .external-link .one {
    margin: 0;
    grid-area: one;
    width: 100%;
  }
  .external-link .one img {
    width: 43.2rem;
    margin: 0 auto;
  }
  .external-link .two {
    margin: 0;
    grid-area: two;
  }
  .external-link .three {
    margin: 0;
    grid-area: three;
  }
}

.univ-info {
  background: #CF1225;
  font-family: sans-serif;
  padding: 2.5rem 0 0;
}
.univ-info h2 {
  margin: 0;
  text-align: center;
}
.univ-info p {
  font-size: 1.4rem;
  margin: 1rem 2rem 2rem;
  color: #fff;
}
.univ-info p a {
  color: #fff;
  text-decoration: underline;
}
.univ-info p.img {
  margin: 1rem 2rem 0;
  padding: 0 0 2rem;
  text-align: center;
}
@media screen and (min-width: 601px) {
  .univ-info {
    padding: 3rem 5rem;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .univ-info .txt {
    background: #fff;
    width: 46.8rem;
  }
  .univ-info .txt h2 {
    margin: 0;
  }
  .univ-info .txt p {
    color: #000;
    margin: 0 0 0 6rem;
    line-height: 1.4;
    letter-spacing: 0.08em;
  }
  .univ-info .txt p a {
    color: #000;
  }
  .univ-info p.img {
    width: 43.2rem;
    margin: 0;
    padding: 0;
  }
  .univ-info p.img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}

#footer {
  background: #fff;
  margin-top: 2rem;
}
#footer .cast-info {
  background: #CF1225;
  padding: 1rem 1.4rem;
  color: #fff;
}
#footer .cast-info-body {
  margin: 0 1.5rem;
  font-size: 85%;
  line-height: 1.6;
  text-align: left;
}
@media screen and (min-width: 601px) {
  #footer .cast-info {
    text-align: center;
    padding: 1em 0;
  }
  #footer .cast-info br {
    display: none;
  }
}
#footer .contact-head {
  margin: 1.5rem 0 0;
  padding: 0.5rem 1.5rem;
  background: #ccc;
  font-size: 80%;
}
#footer .contact-body {
  margin: 1.5rem 1.5rem 0;
  font-size: 80%;
}
#footer .contact-body .ip_phone {
  border: 1px solid #666;
  padding: 0 0.3rem;
}
#footer .stop {
  margin: 1rem 1.5rem 0 1rem;
  padding-top: 1rem;
  border-top: 1px solid #000;
  font-size: 80%;
}

#floating_button {
  width: 36vw;
  position: fixed;
  bottom: 2rem;
  right: 0;
}
@media screen and (min-width: 601px) {
  #floating_button {
    width: 20rem;
  }
}/*# sourceMappingURL=style.css.map */