@charset "UTF-8";
/* CSS Document */
@font-face {
  src: url("../fonts/NotoSansJP-Black.woff2") format("woff2");
  font-family: "Noto Sans JP";
  font-weight: 900;
  font-display: swap;
}
body {
  font-size: 100%;
}

/* フォント */
.bold {
  font-weight: bold;
}

.center {
  text-align: center;
}

@media (min-width: 751px) {
  .f_14 {
    font-size: 0.8em !important;
  }
}

@media (min-width: 751px) {
  .f_18 {
    font-size: 1.1em;
  }
}

.f_20 {
  font-size: 1.2em;
}
@media (max-width: 750px) {
  .f_20 {
    font-size: 1.1em;
  }
}

.f_24 {
  font-size: 1.5em;
}
@media (max-width: 750px) {
  .f_24 {
    font-size: 1.1em;
  }
}

.f_26 {
  font-size: 1.6em;
}
@media (max-width: 750px) {
  .f_26 {
    font-size: 1.2em;
  }
}

.f_28 {
  font-size: 1.75em;
}
@media (max-width: 750px) {
  .f_28 {
    font-size: 1.25em;
  }
}

.f_30 {
  font-size: 1.87em;
}
@media (max-width: 750px) {
  .f_30 {
    font-size: 1.4em;
  }
}

.f_40 {
  font-size: 2.5em;
}
@media (max-width: 750px) {
  .f_40 {
    font-size: 1.5em;
  }
}

.mt120 {
  margin-top: 7.5em;
}
@media (max-width: 750px) {
  .mt120 {
    margin-top: 16vw;
  }
}

.mb120 {
  margin-bottom: 7.5em;
}
@media (max-width: 750px) {
  .mb120 {
    margin-bottom: 16vw;
  }
}

.mt90 {
  margin-top: 6.25em;
}
@media (max-width: 750px) {
  .mt90 {
    margin-top: 14.67vw;
  }
}

.mb90 {
  margin-bottom: 6.25em;
}
@media (max-width: 750px) {
  .mb90 {
    margin-bottom: 14.67vw;
  }
}

.pb90 {
  padding-bottom: 6.25em;
}
@media (max-width: 750px) {
  .pb90 {
    padding-bottom: 14.67vw;
  }
}

.mt60 {
  margin-top: 3.75em;
}
@media (max-width: 750px) {
  .mt60 {
    margin-top: 13.3vw;
  }
}

.mt3em {
  margin-top: 3em;
}
@media (max-width: 750px) {
  .mt3em {
    margin-top: 2em;
  }
}

.mb3em {
  margin-bottom: 3em;
}
@media (max-width: 750px) {
  .mb3em {
    margin-bottom: 2em;
  }
}

.mt2em {
  margin-top: 2em;
}
@media (max-width: 750px) {
  .mt2em {
    margin-top: 1em;
  }
}

.mb2em {
  margin-bottom: 2em;
}
@media (max-width: 750px) {
  .mb2em {
    margin-bottom: 1em;
  }
}

.mt1em {
  margin-top: 1em;
}

.mb1em {
  margin-bottom: 1em;
}

.mt05em {
  margin-top: 0.5em;
}

.mb05em {
  margin-bottom: 0.5em;
}

.disc li {
  line-height: 24px;
  font-size: 1rem;
  padding-left: 12px;
  background: url(../images/dot.png) no-repeat 0 10px;
}

/* タイトル */
.H1 span, .H1-n span {
  font-size: 1.5rem;
  line-height: 1.4;
}
@media (max-width: 750px) {
  .H1 span, .H1-n span {
    font-size: 1.2rem;
  }
}

.H2 span {
  font-size: 1.3rem;
}

.tableFormat th, .tableFormat td {
  font-size: 1rem;
}

.textArea, p, .imgText-box .con p {
  line-height: 1.8;
}

@media (min-width: 751px) {
  .imgflex {
    display: -ms-flexbox;
    /* prefix -> -webkit-*/
    /* no prefix*/
    display: -webkit-box;
    display: flex;
  }
}
@media (min-width: 751px) {
  .imgflex .imgbox {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 19em;
            flex: 1 0 19em;
    width: 19em;
    max-width: 19em;
  }
}
.imgflex .imgbox img {
  width: 100%;
}
@media (max-width: 750px) {
  .imgflex .textbox {
    padding-top: 1em;
  }
}
@media (min-width: 751px) {
  .imgflex .textbox {
    padding-left: 2em;
  }
}
@media (min-width: 751px) {
  .imgflex.alter {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}
@media (max-width: 750px) {
  .imgflex.alter .textbox {
    padding-top: 1em;
  }
}
@media (min-width: 751px) {
  .imgflex.alter .textbox {
    padding-right: 2em;
    padding-left: 0;
  }
}

.teachers-list li {
  display: -ms-flexbox;
  /* prefix -> -webkit-*/
  /* no prefix*/
  display: -webkit-box;
  display: flex;
  background: url(../images/ico_plus.png) repeat-x bottom left 0;
  padding: 2rem 0;
}
.teachers-list .imgbox {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 10em;
          flex: 0 0 10em;
  width: 10em;
  max-width: 10em;
}
@media (max-width: 750px) {
  .teachers-list .imgbox {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 35%;
            flex: 0 0 35%;
    width: 35%;
    max-width: 35%;
  }
}
.teachers-list .imgbox img {
  width: 100%;
}
.teachers-list .list-content {
  width: 100%;
  padding-left: 2rem;
}
@media (max-width: 750px) {
  .teachers-list .list-content {
    padding-left: 1rem;
  }
}
.teachers-list .h4default {
  font-size: 1.6em;
  color: #fb8296;
  margin-bottom: 2rem;
}
@media (max-width: 750px) {
  .teachers-list .h4default {
    font-size: 1.2em;
  }
}
.teachers-list .h4default.incho {
  font-size: 1.8em;
}
@media (max-width: 750px) {
  .teachers-list .h4default.incho {
    font-size: 1.3em;
  }
}

.list-view01 dl {
  width: 100%;
}
@media (min-width: 751px) {
  .list-view01 dl .lv-cont {
    width: 679px;
  }
}
.list-view01 dl .lv-cont .h4Txt {
  font-size: 1.4em;
  line-height: 1.6;
  margin-bottom: 0.5em;
}
@media (max-width: 750px) {
  .list-view01 dl .lv-cont .h4Txt {
    font-size: 1.2em;
  }
}
@media (max-width: 750px) {
  .list-view01 dl dd p {
    font-size: 1em;
  }
}

@media (min-width: 751px) {
  .img-txt-lr .con h4 {
    font-size: 1.4em;
    line-height: 1.6;
  }
}
.img-txt-lr .con p {
  line-height: 1.8;
}

@media (min-width: 751px) {
  .boxW443 {
    width: 710px;
  }
}

@media (max-width: 750px) {
  .img-txt-lr .con p {
    font-size: 1rem;
  }
}

@media (max-width: 750px) {
  .img-txt-lr .order-nums span {
    font-size: 1rem;
  }
}

@media (max-width: 750px) {
  .img-txt-lr .con h4 {
    font-size: 1.4em;
  }
}

@media (min-width: 751px) {
  .imgText-grayBox p {
    width: 60%;
  }
}

@media (max-width: 750px) {
  .imgText-grayBox .con {
    float: none;
    width: 100%;
  }
}

.address-box p {
  line-height: 1.2;
}

.QAbox dt {
  font-size: 1.2em;
}
.QAbox dd {
  font-size: 1em;
  line-height: 1.8;
}

.cta_free-lesson {
  aspect-ratio: 980/340;
  background: url(../images/cta_bg.png) no-repeat top center;
  margin-block: 4em;
}
@media (max-width: 750px) {
  .cta_free-lesson {
    aspect-ratio: 364/316;
    width: calc(100% - 2em);
    background-image: url(../images/cta_bg_sp.png);
    background-size: cover;
    margin-inline: auto;
  }
}
.cta_free-lesson a {
  display: block;
}
.cta_free-lesson a:hover {
  opacity: 0.6;
}
.cta_free-lesson .cta-apply {
  padding-top: 18%;
}
@media (max-width: 750px) {
  .cta_free-lesson .cta-apply {
    padding-top: 35vw;
  }
}
.cta_free-lesson .btn-apply {
  width: 59.5918367347%;
  margin-inline: auto;
}
@media (max-width: 750px) {
  .cta_free-lesson .btn-apply {
    width: 82.4175824176%;
  }
}
@media (min-width: 751px) {
  .cta_free-lesson .cta-btns {
    display: -ms-flexbox;
    /* prefix -> -webkit-*/
    display: -webkit-flex;
    -webkit-justify-content: center;
    /* no prefix*/
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding-top: 1em;
  }
}
.cta_free-lesson .cta-btns a {
  display: block;
  margin-inline: 1em;
}
@media (max-width: 750px) {
  .cta_free-lesson .cta-btns a {
    margin-top: 1em;
    margin-inline: auto;
  }
}
.cta_free-lesson .btn-schedule {
  width: 21.7346938776%;
}
@media (max-width: 750px) {
  .cta_free-lesson .btn-schedule {
    width: 58.5164835165%;
  }
}
.cta_free-lesson .btn-shosai {
  width: 24.2857142857%;
}
@media (max-width: 750px) {
  .cta_free-lesson .btn-shosai {
    width: 65.3846153846%;
  }
}

.banner_lesson {
  max-width: 876px;
  margin-right: auto;
  margin-left: auto;
  width: 100%;
  background: url(../images/banner_bg.gif) center repeat;
  background-size: contain;
  text-align: center;
  border-radius: 0.5em;
  padding: 2em 0;
  margin-block: 4em;
}
.banner_lesson .flex {
  padding: 0 1em;
}
.banner_lesson .title {
  text-align: center;
  margin-bottom: 1em;
}
.banner_lesson .title h2 {
  font-family: "Noto Serif JP", serif;
  font-weight: bold;
  font-size: 1.5em;
  color: #553539;
}
.banner_lesson .title div {
  font-family: "Noto Serif JP", serif;
  font-size: 1.25em;
  color: #553539;
}
.banner_lesson a {
  text-decoration: none;
  margin-inline: 1em;
}
@media (max-width: 750px) {
  .banner_lesson a {
    margin-top: 1em;
  }
}
.banner_lesson a:hover {
  opacity: 0.6;
}
@media (max-width: 750px) {
  .banner_lesson a img {
    width: 90%;
  }
}

.column_cta {
  background: url(../images/column/cta_bg.png) top center/cover no-repeat;
  margin-top: 7.5rem;
  padding: 2.1875rem;
  border-radius: 0.3em;
  max-width: 700px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin-right: auto;
  margin-left: auto;
}
@media (max-width: 750px) {
  .column_cta {
    margin-top: 6rem;
    padding: 3rem;
  }
}
.column_cta .title {
  font-size: 1.875rem;
  text-align: center;
  color: white;
  font-family: "Noto Serif JP", serif;
}
@media (max-width: 750px) {
  .column_cta .title {
    font-size: 24px;
  }
}
@media (min-width: 751px) {
  .column_cta .content-box {
    display: -ms-flexbox;
    /* prefix -> -webkit-*/
    /* no prefix*/
    display: -webkit-box;
    display: flex;
  }
}
.column_cta .content-box > div {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media (min-width: 751px) {
  .column_cta .content-box > div:not(:first-of-type) {
    margin-left: 2.1875rem;
  }
}
.column_cta .content-box > div:not(:first-of-type) .link-box {
  padding-left: 2.2em;
  letter-spacing: -0.05em;
}
@media (max-width: 750px) {
  .column_cta .content-box > div:not(:first-of-type) .link-box {
    margin-top: 1.5rem;
  }
}
.column_cta .content-box .link-box {
  position: relative;
  color: #fb8fa1;
  background-color: white;
  font-size: 1.25rem;
  font-weight: bold;
  text-decoration: none;
  text-align: center;
  width: 100%;
  display: block;
  padding: 0.5em;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: 0.2em;
  margin-top: 1.5625rem;
  letter-spacing: 0;
  font-family: "Noto Serif JP", serif;
}
@media (max-width: 750px) {
  .column_cta .content-box .link-box {
    font-size: 18px;
  }
}
.column_cta .content-box .link-box::before {
  content: "";
  position: absolute;
  left: 0.8em;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1.75rem;
  height: 1.75rem;
  background: url(../images/column/link_icon.png) top center/contain no-repeat;
}
@media (max-width: 750px) {
  .column_cta .content-box .link-box::before {
    width: 28px;
    height: 28px;
  }
}
.column_cta .content-box .info {
  color: #553539;
  font-size: 0.875rem;
  margin-top: 1em;
}
@media (max-width: 750px) {
  .column_cta .content-box .info {
    margin-top: 0.5em;
    font-size: 14px;
  }
}
.column_cta .content-box .info span {
  font-size: 1.2em;
}
.column_cta .content-box .info .text {
  font-family: "Noto Serif JP", serif;
}
.column_cta .content-box .info .text span {
  font-weight: bold;
}
.column_cta .content-box .classinfo {
  display: -ms-flexbox;
  /* prefix -> -webkit-*/
  display: -webkit-flex;
  -webkit-align-items: center;
  /* no prefix*/
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.column_cta .content-box .classinfo .number {
  display: -ms-flexbox;
  /* prefix -> -webkit-*/
  display: -webkit-flex;
  -webkit-justify-content: center;
  -webkit-align-items: center;
  /* no prefix*/
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: white;
  background: #553539;
  border-radius: 50%;
  text-align: center;
  width: 2.5rem;
  height: 2.5rem;
  line-height: 1;
  margin-right: 0.5em;
  font-weight: normal;
  font-family: "Noto Serif JP", serif;
}
@media (max-width: 750px) {
  .column_cta .content-box .classinfo .number {
    width: 40px;
    height: 40px;
    font-size: 14px;
  }
}
.column_cta .content-box .classinfo .number span {
  font-size: 0.78em;
}
.column_cta .content-box .classinfo .text {
  letter-spacing: -0.07em;
}
@media (max-width: 750px) {
  .column_cta .content-box .classinfo .text {
    font-size: 14px;
  }
}

.main-container .wpcf7 .btnBox02 {
  max-width: 310px;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 35px;
  text-align: center;
}
.main-container .wpcf7 .wpcf7-submit {
  display: inline-block;
  width: 310px;
  height: 95px;
  padding: 0;
  border: none;
  background: url(../images/btn_send.png) no-repeat;
  background-color: transparent;
  text-indent: -9999em;
  overflow: hidden;
  color: transparent;
  font-size: 0;
  cursor: pointer;
}
@media (max-width: 750px) {
  .main-container .wpcf7 .wpcf7-submit {
    width: 100%;
    max-width: 310px;
    background-image: url(../images/sp_btn_send.png);
    background-size: contain;
  }
}

.table-schedule table {
  border-bottom: 1px solid #f8d9db;
  border-left: 1px solid #f8d9db;
}
.table-schedule th, .table-schedule td {
  border-top: 1px solid #f8d9db;
  border-right: 1px solid #f8d9db;
  padding: 1em;
}
.table-schedule th {
  text-align: center;
  background: #f1f4fb;
}

@media (min-width: 751px) {
  .pagelink ul {
    display: -ms-flexbox;
    /* prefix -> -webkit-*/
    /* no prefix*/
    display: -webkit-box;
    display: flex;
    gap: 1em;
  }
}
@media (max-width: 750px) {
  .pagelink li {
    display: inline-block;
  }
}
@media (min-width: 751px) {
  .pagelink li {
    width: 100%;
  }
}
.pagelink a {
  display: block;
  font-size: 1.3em;
  font-weight: bold;
  border: 1px solid #E3798B;
  background: #FCF1F3;
  padding: 0.5em 1em;
  border-radius: 0.5em;
  color: black;
  text-decoration: none;
}
.pagelink a::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: url(../images/schedulelist/icon_pagelink.png) no-repeat center center;
  background-size: contain;
  margin-right: 0.5em;
  -webkit-transform: translateY(20%);
          transform: translateY(20%);
}

.breadcrumb {
  font-size: 0.875rem;
}

.ea-bootstrap {
  max-width: 100% !important;
}

.form-horizontal h3 {
  padding: 15px 20px;
  background: #fef0f1;
  font-size: 1.2rem;
  font-weight: bold;
  color: #553539;
}
.form-horizontal .form-group {
  max-width: 885px;
}
.form-horizontal #sex {
  width: 8em;
}
.form-horizontal #age {
  width: 8em;
}
.form-horizontal #occupation {
  width: 15em;
}
.form-horizontal #postcode {
  width: 10em;
}
.form-horizontal #prefectures {
  width: 15em;
}
.form-horizontal #rental, .form-horizontal #receiveemails {
  width: 5em;
}

.ea-bootstrap #booking-overview {
  max-width: 740px;
  margin-right: auto;
  margin-left: auto;
}
.ea-bootstrap #booking-overview table {
  width: 100%;
  border-bottom: 1px solid #f8d9db;
  border-left: 1px solid #f8d9db;
}
.ea-bootstrap #booking-overview td {
  border-top: 1px solid #f8d9db;
  border-right: 1px solid #f8d9db;
}
.ea-bootstrap #booking-overview td.ea-label {
  background: #ecebeb;
  font-weight: bold;
  width: 200px;
  vertical-align: top;
  padding: 1em !important;
}
.ea-bootstrap #booking-overview td.value {
  padding: 1em !important;
}

.ea-bootstrap .btn-primary {
  background-color: #E3798B !important;
  border-color: #E3798B !important;
}

.calendar {
  max-width: 500px;
  margin-right: auto;
  margin-left: auto;
}
.calendar th {
  background-color: #FCF1F3 !important;
}

.ea-bootstrap .ui-datepicker .no-slots, .ea-bootstrap .ui-datepicker .no-slots:hover {
  background-color: white !important;
  color: #ccc !important;
}

.ea-bootstrap .ui-datepicker .no-slots a {
  color: #ccc !important;
}

a.ui-state-default {
  display: block !important;
  color: white !important;
  background-color: #E3798B !important;
}

.ea-bootstrap .ui-datepicker .no-slots a {
  background-color: white !important;
}

.ea-bootstrap a {
  color: #E3798B;
}

.ui-datepicker {
  border: 1px solid #E3798B !important;
  -webkit-box-shadow: 0 0 8px rgba(227, 121, 139, 0.6) !important;
          box-shadow: 0 0 8px rgba(227, 121, 139, 0.6) !important;
}

.ui-datepicker .ui-datepicker-current-day {
  background-color: #E3798B !important;
}

.main-container .lesson-lead-photo {
  max-width: none !important;
  width: 100%;
  margin-left: 0;
  margin-right: 0;
  text-align: left;
}

.main-container .lesson-lead-photo__img {
  width: 100%;
  max-width: 100%;
  height: auto;
  display: block;
}

.main-container.schools-list p.spHide:has(.mapReal02) {
  text-align: center;
}

.main-container.schools-list .mapReal02 {
  display: block;
  margin-inline: auto;
}

.main-container.schools-list .words.tips,
.main-container.schools-list .words.mt10 {
  text-align: center;
  padding-inline: 0;
}

.main-container.welcome-page .spmovie-wrapper {
  position: relative;
  width: 100%;
  max-width: 980px;
  margin-inline: auto;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}

.main-container.welcome-page .spmovie-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.main-container.welcome-page .cta_free-lesson {
  width: 100%;
  max-width: 980px;
  background-size: 100% auto;
}

.main-container.welcome-page .top_banner {
  width: 100%;
  max-width: 980px;
}

.main-container.welcome-page .top_banner .banner01 {
  float: none;
  width: 100%;
  margin-right: 0;
}

.main-container.welcome-page .top_banner .banner01 img {
  width: 100%;
  height: auto;
  display: block;
}

html,
body,
#page {
  font-family: "Noto Serif JP", serif !important;
}

body *,
body *::before,
body *::after {
  font-family: inherit !important;
}

.fa,
.fa::before {
  font-family: "FontAwesome" !important;
}

.ui-datepicker-next.ui-corner-all, .ui-datepicker-prev.ui-corner-all {
  color: #E3798B !important;
}