@charset "UTF-8";
@media only screen and (min-width: 768px) {
  .only-sp {
    display: none !important;
  }
}

@media only screen and (max-width: 767.999px) {
  .only-pc {
    display: none !important;
  }
}

.grecaptcha-badge {
  visibility: hidden;
  z-index: 10;
}

.grecaptcha-custom-text {
  margin: 24px auto 0;
  padding: 0;
  color: #728889;
  font-size: 10px;
  line-height: 1.4;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .grecaptcha-custom-text {
    font-size: 12px;
  }
}

.only-lp-recor-1 {
  display: none !important;
}

.form-lp-recor-1 .only-lp-recor-1 {
  display: block !important;
}

.c-siryo__banner {
  aspect-ratio: 375/404;
  margin: 0 auto;
}
@media only screen and (min-width: 768px) {
  .c-siryo__banner {
    aspect-ratio: 1080/280;
    max-width: 67.5rem;
  }
  .c-siryo__banner.-freeschool {
    margin-bottom: 5rem;
  }
}

.c-section {
  position: relative;
  padding-top: 28px;
}
.c-section.-noicon::before {
  display: none;
}
.c-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 32px;
  height: 16px;
  -webkit-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
  background: linear-gradient(to right, #0F2942 50%, #00A9DE 50%);
}
.c-section__inner {
  margin: 0 auto;
  padding: 0 16px;
}
.c-section__ttl {
  margin-bottom: 16px;
  font-weight: 700;
  text-align: center;
}
.c-section__ttl b {
  font-size: 28px;
  font-weight: 700;
  line-height: 1.4642857143;
}
.c-section__ttl ._sub {
  display: block;
  margin-top: -3px;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.4444444444;
}

.ly-contact .c-brochure {
  margin-top: 0;
}
@media only screen and (min-width: 768px) {
  .ly-contact .c-brochure {
    margin-top: 5rem;
  }
}
.ly-contact__top {
  display: block;
  position: relative;
  z-index: 0;
  width: 100%;
  overflow: hidden;
}
.ly-contact__top::before {
  content: "";
  display: block;
  padding-top: 50.6666666667%;
}
.ly-contact__top img {
  position: absolute;
  z-index: 0;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -o-object-fit: cover;
  object-fit: cover;
}
.ly-contact__top-body {
  padding-top: 32px;
  padding-bottom: 32px;
  background: #0F2942;
  color: #fff;
}
@media only screen and (min-width: 768px) {
  .ly-contact__top-body {
    padding: 1.75rem 0;
  }
  .ly-contact__top-body--inner {
    max-width: 40rem;
    margin: 0 auto;
  }
}
.ly-contact__top-body--ttl {
  margin-bottom: 8px;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.1875;
  text-align: center;
}
.ly-contact__top-body--txt {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  text-align: center;
}
.ly-contact__body {
  padding-top: 40px;
  padding-bottom: 40px;
  background: #E1F7FF;
}
.ly-contact__body.--white {
  padding-right: 8px;
  padding-left: 8px;
  background: #fff;
}
@media only screen and (min-width: 768px) {
  .ly-contact__body-inner {
    max-width: 40rem;
    margin: 0 auto;
  }
}
.ly-contact__body-txt {
  color: #728889;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.75;
}

.screen-reader-response,
.wpcf7-not-valid-tip,
.wpcf7-response-output {
  display: block;
  color: red;
  font-size: 12px;
}

.wpcf7-not-valid-tip {
  display: none !important;
  padding: 4px 0 0;
}

.screen-reader-response {
  margin-bottom: 24px;
}

.sp-form .form-radio-button-group-container._grade {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.sp-form .form-radio-button-group-container .form-radio-button-group {
  width: 100% !important;
}
.sp-form .form-radio-button-group-container .form-radio-button-group.half {
  width: calc(50% - 0.25rem) !important;
  margin-right: 0 !important;
  margin-bottom: 0 !important;
  margin-left: 0 !important;
}
.sp-form .form-radio-button-group-container .form-radio-button-group.wide {
  width: 100% !important;
  margin-bottom: 0;
}

@media only screen and (min-width: 768px) {
  .only-sp {
    display: none !important;
  }
}
@media only screen and (max-width: 767.9999px) {
  .only-pc {
    display: none !important;
  }
}
.none-lp-recor {
  display: none !important;
}

.wpcf7-list-item {
  display: inline-block;
  margin: 0 !important;
}

.form-group-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 9px;
}

.form-group {
  margin: 40px auto 0;
  padding: 0 12px;
}
.form-group._address {
  margin-top: 8px;
}
.form-group.top {
  margin-top: 0;
}
.form-group.g-contact {
  margin-top: 25px;
}
.form-group.gakunen, .form-group.contactmail {
  margin-top: 30px;
}
@media only screen and (min-width: 768px) {
  .form-group {
    margin-top: 1.5rem;
    padding: 0;
  }
  .form-group.g-contact1 {
    width: 50%;
    margin-left: 0;
  }
  .form-group.gakunen {
    margin-top: 30px;
  }
}
@media only screen and (max-width: 767.9999px) {
  .form-group {
    padding-right: 0;
    padding-left: 0;
  }
}

form .must,
form .any {
  margin-left: 3px;
  padding: 0 4px;
  border-radius: 3px;
  color: #fff;
  font-size: 13px;
  letter-spacing: 0.2em;
}
@media only screen and (max-width: 767.9999px) {
  form .must,
  form .any {
    font-size: 12px;
  }
}

form .must {
  padding: 0 4px 0 6px;
  background: #375d8e;
  font-weight: 500;
}

form .any {
  padding: 0 4px 0 6px;
  background: #afbcbe;
  font-weight: 500;
}

.form-group .error {
  display: none;
  padding: 4px 0 0;
  color: red;
  font-size: 12px;
  font-weight: 700;
}
.form-group .error.active {
  display: block;
}

.form-group .form-label {
  display: block;
  margin: 0 0 9px;
  color: #265659;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.5;
}
.form-group .form-label._no-margin {
  margin-bottom: 0;
}
.form-group .form-label span.label_image {
  padding-left: 2px;
}
.form-group .form-label span.label_image img {
  vertical-align: -3px;
}

.form-group .form-text {
  display: block;
  margin: 0 0 9px;
  color: #265659;
  font-size: 14px;
  font-weight: bold;
}

.form-group input.form-input_text,
.form-group textarea.form-input_textarea {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 44px;
  padding: 4px 14px 0;
  border: 1px solid #ededed;
  border-radius: 8px;
  background: #fdfdfd;
  font-size: 14px;
}
.form-group input.form-input_text:focus,
.form-group textarea.form-input_textarea:focus {
  outline: none;
  background: #fff;
}

.form-group textarea.form-input_textarea {
  min-width: 99%;
  max-width: 100%;
  height: auto;
  min-height: 92px;
  padding: 8px 14px;
}

.form-group .form-radio-button-group {
  display: block;
  margin: 0 auto 12px;
  padding: 14px 10px;
  border: 1px solid #EDEDED;
  border-radius: 8px;
  background: #FFFFFF;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
}
.form-group .form-radio-button-group.form-radio-button-group-bottom {
  padding: 14px 10px 26px;
}
.form-group .form-radio-button-group.is-selected {
  border-color: #375d8e;
}
.form-group .form-radio-button-group.half {
  display: inline-block;
  width: 48%;
}
.form-group .form-radio-button-group.half:nth-child(2n) {
  margin-right: 1%;
  margin-left: 0;
}
.form-group .form-radio-button-group.half:nth-child(2n-1) {
  margin-right: 0;
  margin-left: 1%;
}
.form-group .form-radio-button-group input[type=radio],
.form-group .form-radio-button-group input[type=checkbox] {
  display: none;
}
.form-group .form-radio-button-group .form-radio-button,
.form-group .form-radio-button-group .wpcf7-list-item-label {
  display: inline-block;
  position: relative;
  box-sizing: border-box;
  width: auto;
  color: #265659;
  text-indent: 32px;
  cursor: pointer;
}
.form-group .form-radio-button-group .form-radio-button::before,
.form-group .form-radio-button-group .wpcf7-list-item-label::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 5px;
  width: 20px;
  height: 20px;
  margin-top: -9px;
  border: 1px solid #375d8e;
  border-radius: 50%;
  background: #fff;
}
.form-group .form-radio-button-group .form-radio-button::after,
.form-group .form-radio-button-group .wpcf7-list-item-label::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 10px;
  width: 10px;
  height: 10px;
  margin-top: -4px;
  border-radius: 50%;
  opacity: 0;
  background: #375d8e;
}
.form-group .form-radio-button-group input[type=radio]:checked + .form-radio-button::after,
.form-group .form-radio-button-group input[type=radio]:checked + .wpcf7-list-item-label::after,
.form-group .form-radio-button-group input[type=checkbox]:checked + .form-radio-button::after,
.form-group .form-radio-button-group input[type=checkbox]:checked + .wpcf7-list-item-label::after {
  opacity: 1;
}
@media only screen and (max-width: 767.9999px) {
  .form-group .form-radio-button-group {
    margin: 0 auto 8px;
    padding: 14px 3px;
  }
}

.form-radio-button-group-container._grade {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.form-radio-button-group-container._grade .form-radio-button-group {
  width: 100% !important;
}
.form-radio-button-group-container._grade .form-radio-button-group.half {
  width: calc(50% - 0.25rem) !important;
  margin-right: 0 !important;
  margin-bottom: 0 !important;
  margin-left: 0 !important;
}
@media only screen and (min-width: 768px) {
  .form-radio-button-group-container._grade .form-radio-button-group {
    width: calc(19.9% - 0.375rem) !important;
  }
}
@media only screen and (min-width: 768px) {
  .form-radio-button-group-container.g-form {
    width: 343px;
  }
}

.form-group .form-checkbox-group {
  display: block;
  margin: 0 auto 12px;
  padding: 14px 10px;
  border: 1px solid #ededed;
  border-radius: 8px;
  background: #FFFFFF;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
}
.form-group .form-checkbox-group.form-checkbox-group-bottom {
  padding: 14px 10px 28px;
}
.form-group .form-checkbox-group.is-selected {
  border-color: #375d8e;
}
.form-group .form-checkbox-group.g-contact343 {
  margin: 0;
  margin-right: auto;
}
@media only screen and (min-width: 768px) {
  .form-group .form-checkbox-group.g-contact343 {
    width: 343px !important;
  }
}
.form-group .form-checkbox-group .form-checkbox-button,
.form-group .form-checkbox-group .wpcf7-list-item-label {
  display: inline-block;
  position: relative;
  box-sizing: border-box;
  width: auto;
  color: #265659;
  text-indent: 32px;
  cursor: pointer;
}
.form-group .form-checkbox-group .form-checkbox-button::before,
.form-group .form-checkbox-group .wpcf7-list-item-label::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 5px;
  width: 20px;
  height: 20px;
  margin-top: -9px;
  border: 1px solid #375d8e;
  border-radius: 3px;
  background: #fff;
}
.form-group .form-checkbox-group .form-checkbox-button::after,
.form-group .form-checkbox-group .wpcf7-list-item-label::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 11px;
  width: 8px;
  height: 15px;
  margin-top: -9px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  opacity: 0;
}
.form-group .form-checkbox-group #privacy_policy .form-checkbox-button::before,
.form-group .form-checkbox-group #privacy_policy .wpcf7-list-item-label::before {
  border: 1px solid #C4C4C4;
}
.form-group .form-checkbox-group input[type=checkbox]:checked + .form-checkbox-button::before,
.form-group .form-checkbox-group input[type=checkbox]:checked + .wpcf7-list-item-label::before {
  background: #375d8e;
}
.form-group .form-checkbox-group #privacy_policy input[type=checkbox]:checked + .form-checkbox-button::before,
.form-group .form-checkbox-group #privacy_policy input[type=checkbox]:checked + .wpcf7-list-item-label::before {
  border: 1px solid #375d8e;
}
.form-group .form-checkbox-group input[type=checkbox]:checked + .form-checkbox-button::after,
.form-group .form-checkbox-group input[type=checkbox]:checked + .wpcf7-list-item-label::after {
  opacity: 1;
}

.form-group .submit-button {
  display: block;
  width: 100%;
  max-width: inherit;
  margin: 0 auto 25px;
}
.form-group .submit-button.g-contact {
  margin-bottom: 0;
}
@media only screen and (min-width: 768px) {
  .form-group .submit-button.g-contact {
    width: 343px;
    margin: 0 auto 25px;
  }
}
.form-group .submit-button button {
  display: block;
  width: 100%;
  border: none;
  outline: 0;
  background: 0 0;
  cursor: pointer;
}
@media only screen and (min-width: 768px) {
  .form-group .submit-button button {
    max-width: 33.75rem;
    margin: 0 auto;
  }
}
.form-group .submit-button button img {
  display: none;
  width: 100%;
  margin: 0 auto;
  padding: 0;
}
.form-group .submit-button button img.is-lp-recor {
  display: block !important;
}
.form-group .submit-button button img.active-button_image {
  display: inherit;
}
.form-group .submit-button button img.muted-button_image {
  display: none;
}
.form-group .submit-button button:disabled img.muted-button_image {
  display: inherit;
}
.form-group .submit-button button:disabled img.active-button_image {
  display: none;
}

.submit-button-shadow {
  -webkit-filter: drop-shadow(0 4px 10px rgba(0, 169, 222, 0.3));
  filter: drop-shadow(0 4px 10px rgba(0, 169, 222, 0.3));
}
.submit-button-shadow:disabled {
  opacity: 0.3;
}

input[type=radio],
input[type=checkbox] {
  display: none;
}

.form__p,
.form__tit,
.form__check,
.form__caution {
  font-size: 13px;
  font-weight: 400;
  line-height: 1.5;
}
.form__p a,
.form__tit a,
.form__check a,
.form__caution a {
  color: #375d8e;
}

.form__tit {
  display: inline-block;
  margin-bottom: 8px;
}
.form__tit::after {
  content: "任意";
  display: inline-block;
  width: 32px;
  height: 16px;
  margin-left: 8px;
  border-radius: 2px;
  background-color: #afbcbe;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  line-height: 16px;
  text-align: center;
}
.form__tit.required::after {
  content: "必須";
  background-color: #375d8e;
}

.form__item {
  margin-bottom: 20px;
}

.form__caution {
  margin-bottom: 12px;
}

.form__link {
  margin-bottom: 20px;
}
.form__link a {
  color: #375d8e;
  font-size: 14px;
  font-weight: 400;
}

.form__check,
.form__who,
.form__grade,
.form__privacy {
  font-weight: 700;
  cursor: pointer;
}

.form__box {
  margin-bottom: -8px;
}

.form__check,
.form__who > label,
.form__grade {
  display: block;
  margin-bottom: 8px;
  padding: 14px 12px 14px 38px;
  border: 1px solid #ededed;
  border-radius: 8px;
  background-color: #fdfdfd;
}

.form__who,
.form__grade {
  position: relative;
}
.form__who span::before,
.form__grade span::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 12px;
  width: 18px;
  height: 18px;
  margin-top: -9px;
  border: 1px solid #ededed;
  border-radius: 50%;
  background-color: #fff;
}
.form__who span::after,
.form__grade span::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 16px;
  width: 10px;
  height: 10px;
  margin-top: -5px;
  border-radius: 50%;
  opacity: 0;
  background-color: #375d8e;
}

.form__check {
  position: relative;
}
.form__check span::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 12px;
  width: 18px;
  height: 18px;
  margin-top: -9px;
  border: 1px solid #ededed;
  border-radius: 4px;
  background-color: #fff;
}
.form__check span::after {
  content: url(../lp/images/page-campaign-online/form/check.svg);
  display: flex;
  position: absolute;
  top: 50%;
  left: 12px;
  justify-content: center;
  width: 18px;
  height: 18px;
  margin-top: -9px;
  border-radius: 4px;
  opacity: 0;
  background-color: #375d8e;
}

.form__wrap input,
.form__wrap textarea {
  display: block;
  box-sizing: border-box;
  width: 100%;
  padding: 12px;
  border: 1px solid #ededed;
  border-radius: 8px;
  background-color: #fdfdfd;
  resize: none;
}

.form__grade--box {
  display: flex;
  flex-wrap: wrap;
}

.form__grade {
  flex: calc(50% - 4px);
  margin-right: 8px;
}
.form__grade:nth-child(2n) {
  margin-right: 0;
}

.form__privacy {
  display: block;
  position: relative;
  width: 100%;
  margin-bottom: 20px;
  padding: 19px 28px 19px 44px;
  border: 1px solid #eaeaea;
  border-radius: 8px;
  background-color: #f5f5f5;
}
.form__privacy span::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 16px;
  width: 20px;
  height: 20px;
  margin-top: -9px;
  border: 1px solid #ddd;
  border-radius: 4px;
  background-color: #fff;
}
.form__privacy span::after {
  content: url(../lp/images/page-campaign-online/form/check.svg);
  display: flex;
  position: absolute;
  top: 50%;
  left: 16px;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  margin-top: -9px;
  border-radius: 4px;
  opacity: 0;
  background-color: #375d8e;
}

input:checked + span::after {
  opacity: 1;
}

.form-container {
  display: block;
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 0;
  padding-bottom: 10px;
  border-right: 4px solid #375d8e;
  border-left: 4px solid #375d8e;
  background-color: white;
}
.form-container h2 {
  display: block;
  margin-bottom: 8px;
  padding: 22px 0;
  background-color: #375d8e;
  color: white;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
}
.form-container p {
  padding-top: 4px;
  padding-bottom: 8px;
  color: #265659;
  font-size: 14px;
  text-align: center;
}
.form-container .list {
  display: flex;
  justify-content: center;
}
.form-container .list-item {
  line-height: 1.4;
  text-align: left;
}
.form-container .attention {
  margin-bottom: 20px;
  padding: 0 16px;
  font-weight: 400;
  line-height: 1.4;
  text-align: left;
}

.form-box .must,
.form-box .any {
  margin-left: 10px;
  padding: 0 4px;
  border-radius: 3px;
  color: #fff;
  font-size: 13px;
  letter-spacing: 0.2em;
}

.form-box .must {
  padding: 4px 4px 4px 6px;
  background: #375d8e;
  font-weight: bold;
}

.form-box .any {
  padding: 4px 4px 4px 6px;
  background: #AFBCBE;
}

.contact-soudan {
  margin-bottom: 6px;
  padding: 0;
  color: #728889;
  font-size: 12.5px;
  line-height: 1.6em;
  text-align: left;
}
@media only screen and (min-width: 768px) {
  .contact-soudan {
    line-height: 1.5em;
  }
}

@media only screen and (min-width: 768px) {
  .form-radio-button-group.g-yoko,
  .form-group.g-contact343 span input {
    width: 343px !important;
  }
}

@media only screen and (min-width: 768px) {
  .ly-contact__top-body .form-pic {
    position: absolute;
    top: 0;
    right: 15%;
    left: calc(50% + 20.625rem);
    height: 144px;
  }
}
@media only screen and (max-width: 767.9999px) {
  .ly-contact__body {
    padding-bottom: 10px;
    background: #e7f1fc;
  }
  .ly-contact__top::before {
    content: "";
    display: block;
    padding-top: 215px;
  }
  .ly-contact__top-body {
    background: linear-gradient(to right, #005493, #7cbefa);
  }
}
@media only screen and (min-width: 768px) {
  .ly-contact__body {
    padding: 0 !important;
    background: #fff;
  }
  .ly-contact__body-inner {
    max-width: 850px;
    margin: 0 auto;
    padding: 24px 40px;
    background: #e7f1fc;
  }
  .ly-contact__top-body {
    position: relative;
    max-width: 850px;
    height: 144px;
    background: linear-gradient(to right, #005493, #7cbefa);
  }
}