@charset "UTF-8";
html {
  overflow: auto;
}

body {
  overflow: hidden;
  font-family: -apple-system, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic";
  font-weight: 500;
  font-style: normal;
  color: #333;
}

header {
  width: 100%;
  position: fixed;
  z-index: 999;
}

header .logo {
  display: block;
  width: 111.346px;
  position: absolute;
  top: 28px;
  left: 8.33%;
}

header .logo img {
  width: 100%;
  vertical-align: bottom;
  object-fit: contain;
}

header .hbg_menu .hbg_btn {
  position: absolute;
  top: 0px;
  right: 0;
  width: 90px;
  height: 90px;
  box-sizing: border-box;
  z-index: 999999;
  padding: 0 20px;
  display: flex;
  justify-content: center;
  align-content: center;
  flex-wrap: wrap;
  background-color: #fff;
}

header .hbg_menu .bar {
  display: block;
  width: 43.2px;
  height: 4px;
  background-color: #004CA1;
  transition: .5s;
}

header .hbg_menu .hbg_line1, header .hbg_menu .hbg_line2 {
  margin-bottom: 10px;
}

header .hbg_menu .hbg_cont {
  display: none;
  position: absolute;
  z-index: 100;
  top: 0px;
  left: 0;
  transition: .5s;
  width: 100%;
  height: 100vh;
  box-sizing: border-box;
}

header .hbg_menu .hbg_cont .back {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 95;
  width: 100%;
  height: 100vh;
  background-color: #333;
  opacity: .38;
}

header .hbg_menu .hbg_cont .hbg_cont_in {
  position: absolute;
  z-index: 99;
  width: 47.22%;
  background-color: #E0F2F9;
  height: 100%;
  top: 0;
  right: 0;
}

header .hbg_menu .hbg_cont .hbg_cont_in .sp_menu {
  width: 45.44%;
  margin-left: 7.64%;
  padding-top: 19.06%;
  margin-bottom: 53px;
}

header .hbg_menu .hbg_cont .hbg_cont_in .sp_menu li {
  border-bottom: 1px solid #fff;
  padding-bottom: 11px;
  margin-bottom: 32px;
}

header .hbg_menu .hbg_cont .hbg_cont_in .sp_menu li:last-of-type {
  margin-bottom: 0;
}

header .hbg_menu .hbg_cont .hbg_cont_in .sp_menu li a {
  text-decoration: none;
  font-size: 16px;
  font-weight: 700;
  color: #333;
  letter-spacing: -0.05em;
  padding-left: 16px;
}

header .hbg_menu .hbg_cont .hbg_cont_in .sp_menu li a span {
  font-family: acumin-pro, sans-serif;
  font-weight: 700;
  font-style: normal;
}

header .hbg_menu .hbg_cont .hbg_cont_in .btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 45.44%;
  margin-left: 7.64%;
  height: 46.87px;
  background-color: #FB0050;
  border: #FB7D46 solid 2.3px;
  box-sizing: border-box;
  text-decoration: none;
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  transition: .5s;
}

header .hbg_menu .hbg_cont .hbg_cont_in .btn:hover {
  background-color: #fff;
  color: #d84b50;
  transition: .5s;
}

header .hbg_menu .hbg_cont.open {
  display: flex;
}

header .hbg_menu .hbg_cont.open .hbg_cont_in.open {
  transform: translateX(0);
}

.hbg_line1.active {
  transform: translateY(10px) rotate(225deg);
  transition: 1s;
  position: absolute !important;
  top: 30px;
  margin-bottom: 0 !important;
}

.hbg_line2.active {
  opacity: 0;
  transition: .5s;
}

.hbg_line3.active {
  transform: translateY(-10px) rotate(-225deg);
  transition: 1s;
  position: absolute;
  margin-bottom: 0;
  bottom: 35px;
}

main {
  width: 100%;
}

main #main_v {
  position: relative;
  width: 100%;
  height: calc(100vh - 94px);
  background: url(../img/mv.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

main #main_v .mv_sp {
  display: none;
  position: relative;
  width: 100%;
  height: 500px;
  background: url(../img/sp_mv.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: right;
}

main #main_v .main_v_cont {
  position: absolute;
  /* top: 85px; */
  top: 20vh;
  left: 8.33%;
  max-width: 620px;
}

main #main_v .main_v_cont h1 {
  font-family: noto-sans-cjk-jp, sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 38px;
  line-height: 1.57;
  letter-spacing: 0.08em;
  margin-bottom: 29px;
}

main #main_v .main_v_cont h1 span {
  color: #004CA1;
}

main #main_v .main_v_cont .award_flex {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  margin-bottom: -22px;
}

main #main_v .main_v_cont .award_flex .award_cont {
  width: 159.445px;
}

main #main_v .main_v_cont .award_flex .award_cont img {
  width: 100%;
  object-fit: cover;
  vertical-align: bottom;
}

main #main_v .main_v_cont .award_flex .award01 {
  margin-right: 48px;
}

main #main_v .main_v_cont .award_flex .award02 {
  width: 155.689px;
  margin-right: 52px;
}

main #main_v .main_v_cont .award_flex .award03 {
  width: 166.689px;
}

main #main_v .main_v_cont .main_text {
  font-size: 26.18px;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-weight: 700;
  font-style: normal;
  letter-spacing: 0.03em;
  color: #003B5B;
  padding-left: 50px;
  margin-bottom: 23px;
}

main #main_v .main_v_cont .main_text span {
  font-size: 60px;
}

main #main_v .main_v_cont .off {
  width: 100%;
}

main #main_v .main_v_cont .off img {
  width: 100%;
  object-fit: cover;
  vertical-align: bottom;
}

main #main_v .sp_main {
  display: none;
  width: 90%;
  position: absolute;
  top: 230px;
  background-color: #fff;
  left: 50%;
  transform: translateX(-50%);
  padding: 16px;
}

main #main_v .sp_main h1 {
  font-size: 24px;
  font-weight: 700;
  padding: 0px 0 24px 0;
}

main #main_v .sp_main h1 span {
  color: #004CA1;
}

main #main_v .sp_main .off_btn {
  width: 100%;
  margin-bottom: 24px;
}

main #main_v .sp_main .off_btn img {
  width: 100%;
  object-fit: cover;
}

main #main_v .sp_main .award_flex {
  display: flex;
  justify-content: space-between;
  width: 100%;
  align-items: flex-start;
}

main #main_v .sp_main .award_flex .award_sp {
  width: 32%;
}

main #main_v .sp_main .award_flex .award_sp img {
  width: 100%;
  object-fit: cover;
}

#cta {
  position: fixed;
  z-index: 99;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 94px;
  background: -moz-linear-gradient(0% 50% 0deg, #fef9e5 0%, #e0f2e4 0%, #0082bc 100%);
  background: -webkit-linear-gradient(0deg, #fef9e5 0%, #e0f2e4 0%, #0082bc 100%);
  background: -webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0, #fef9e5), color-stop(0, #e0f2e4), color-stop(1, #0082bc));
  background: -o-linear-gradient(0deg, #fef9e5 0%, #e0f2e4 0%, #0082bc 100%);
  background: -ms-linear-gradient(0deg, #fef9e5 0%, #e0f2e4 0%, #0082bc 100%);
  background: linear-gradient(90deg, #fef9e5 0%, #e0f2e4 0%, #0082bc 100%);
  display: flex;
  justify-content: center;
  align-items: center;
}

#cta .cta_btn {
  width: 640px;
  height: 66px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #FB0050;
  border: 3.5px #FB7D46 solid;
  box-sizing: border-box;
  box-shadow: 5px 5px 5px rgba(150, 150, 150, 0.75);
  font-size: 22px;
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  transition: .5s;
}

#cta .cta_btn:hover {
  background-color: #fff;
  color: #FB0050;
  transition: .5s;
}

#banner {
  width: 100%;
  height: 180px;
  background: url(../img/banner_back.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  /* background-color: #e0f2f9; */
}

#banner .banner_waku {
  width: 100%;
  height: 100%;
  margin: 0 auto;
}

#banner .banner_waku .banner_img {
  display: block;
  width: 45.7%;
  max-width: 1000px;
  margin: 0 auto;
}

#banner .banner_waku .banner_img:hover img {
  opacity: .7;
  transition: .5s;
}

#banner .banner_waku .banner_img img {
  width: 100%;
  object-fit: cover;
  transition: .5s;
}

.btn_banner01 {
  display: block;
  width: 45.7%;
}

.btn_banner02 {
  display: flex;
  width: 100%;
  height: 100%;
  justify-content: center;
  align-items: center;
  transition: .5s;
}

.btn_banner02:hover {
  opacity: .7;
  transition: .5s;
}

.btn_banner02 .photo {
  width: 400px;
}

.btn_banner01 img,
.btn_banner02 img {
  width: 100%;
  vertical-align: bottom;
}

body.fixed {
  position: fixed;
  left: 0;
  width: 100%;
}

.banner_content01 {
  display: none;
  /* 初期状態 */
  position: fixed;
  z-index: 19999;
  top: 0;
  left: 0;
  width: 100%;
  /* モーダルは画面いっぱいに */
  height: 100%;
  /* モーダルは画面いっぱいに */
  overflow-y: scroll;
}

.banner_content02 {
  display: none;
  /* 初期状態 */
  position: fixed;
  z-index: 19999;
  top: 0;
  left: 0;
  width: 100%;
  /* モーダルは画面いっぱいに */
  height: 100%;
  /* モーダルは画面いっぱいに */
  overflow-y: scroll;
}

.overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  /* 黒背景も画面いっぱいに */
  height: 100%;
  /* 黒背景も画面いっぱいに */
  background-color: rgba(0, 0, 0, 0.5);
  overflow-y: scroll;
}

/* 配置関連。モーダル自体とは関係なし */
.modal_banner {
  position: absolute;
  background-color: #fff;
  top: 32px;
  left: 50%;
  bottom: 32px;
  transform: translateX(-50%);
  width: 90%;
  max-width: 1200px;
  overflow-y: scroll;
  padding: 56px 0;
}

.modal__close_banner {
  position: fixed;
  text-decoration: none;
  top: 30px;
  right: 30px;
}

.modal__close_banner i {
  color: #fff;
  font-size: 30px;
  font-weight: 900;
}

.modal_banner .modal_banner_waku {
  width: 90%;
  margin: 0 auto;
  text-align: center;
}

.modal_banner .modal_banner_waku h2 {
  font-size: 32px;
  text-align: center;
  color: #444;
  font-weight: 700;
  margin-bottom: 48px;
}

.modal_banner .modal_banner_waku .photo {
  width: 50%;
  margin: 0 auto;
  margin-bottom: 48px;
}

.modal_banner .modal_banner_waku .photo img {
  width: 100%;
  vertical-align: bottom;
}

.modal_banner .modal_banner_waku .target_waku {
  width: 100%;
  margin: 0 auto;
  border: 5px solid #daf2fa;
  padding: 24px;
  box-sizing: border-box;
  margin-bottom: 48px;
}

.modal_banner .modal_banner_waku .target_waku h3 {
  font-size: 24px;
  text-align: center;
  font-weight: 700;
  color: #f84a52;
  margin-bottom: 24px;
}

.modal_banner .modal_banner_waku .target_waku ul li {
  position: relative;
  font-size: 16px;
  color: #444;
  margin-bottom: 24px;
  padding-left: 40px;
  text-align: left;
}

.modal_banner .modal_banner_waku .target_waku ul li::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  display: block;
  width: 16px;
  height: 16px;
  border: 1px solid #daf2fa;
}

.modal_banner .modal_banner_waku .target_waku ul li::after {
  content: "\f00c";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  top: 2px;
  left: -1px;
  color: #f84a52;
  font-size: 20px;
}

.modal_banner .modal_banner_waku .campaign1 {
  font-size: 36px;
  color: #d84b50;
  font-weight: 700;
  position: relative;
  z-index: 2;
  display: inline-block;
  margin-bottom: 36px;
}

.modal_banner .modal_banner_waku .campaign1::before {
  position: absolute;
  z-index: -2;
  content: "";
  display: block;
  top: 30px;
  left: 0;
  width: 100%;
  height: 30px;
  background: url(../img/yellow_dush.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.modal_banner .modal_banner_waku .campaign2::before {
  position: absolute;
  z-index: -2;
  content: "";
  display: block;
  top: 65px;
  left: 0;
  width: 100%;
  height: 30px;
  background: url(../img/yellow_dush.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.modal_banner .modal_banner_waku .yajirushi i {
  text-align: center;
  font-size: 56px;
  color: #d84b50;
  margin-bottom: 36px;
}

.modal_banner .modal_banner_waku .campaign2 {
  font-size: 72px;
  font-weight: 700;
  color: #d84b50;
  margin-bottom: 56px;
  position: relative;
}

.modal_banner .modal_banner_waku .campaign2 .jukou {
  font-size: 36px;
  display: inline-block;
  margin-right: 24px;
  color: #444;
}

.modal_banner .modal_banner_waku .campaign2 .zei {
  font-size: 36px;
  font-weight: 500;
}

.modal_banner .modal_banner_waku .campaign_waku {
  width: 100%;
  background-color: #daf2fa;
  display: flex;
  justify-content: space-between;
  padding: 40px 24px;
  box-sizing: border-box;
  text-align: left;
}

.modal_banner .modal_banner_waku .campaign_waku .list01 {
  width: 45%;
}

.modal_banner .modal_banner_waku .campaign_waku .list01 li h3 {
  font-size: 18px;
  color: #444;
  font-weight: 700;
  margin-bottom: 24px;
}

.modal_banner .modal_banner_waku .campaign_waku .list01 li p {
  font-size: 16px;
  font-weight: 700;
  color: #444;
  margin-bottom: 12px;
}

.modal_banner .modal_banner_waku .campaign_waku .list01 li span {
  display: block;
  color: #444;
  margin-bottom: 32px;
}

.modal_banner .modal_banner_waku .campaign_waku .list01 li h4 {
  font-size: 40px;
  font-weight: 700;
  color: #d84b50;
  padding-top: 30px;
}

.show600 {
  display: none;
}

.show900 {
  display: none;
}

#title {
  width: 100%;
  height: auto;
  background-color: #e0f2f9;
  margin-bottom: 84px;
  text-align: center;
}

#title a {
  line-height: 36px;
  text-decoration: none;
  font-size: 24px;
  font-weight: 700;
  font-style: normal;
  color: #1a1a1a;
  position: relative;
  padding: 32px 5%;
  transition: .5s;
      display: block;
}

#title a:hover {
  opacity: .7;
  transition: .5s;
}

#why_study {
  width: 100%;
  margin-bottom: 160px;
}

#why_study .why_study_waku {
  max-width: 1238px;
  width: 90%;
  margin: 0 auto;
}

#why_study .why_study_waku .sub_title {
  font-size: 24px;
  font-weight: 700;
  letter-spacing: -0.06em;
  text-align: center;
  margin-bottom: 28px;
}

#why_study .why_study_waku h2 {
  font-size: 40px;
  font-weight: 700;
  letter-spacing: -0.06em;
  text-align: center;
  margin-bottom: 86px;
}

#why_study .why_study_waku h2 span {
  color: #004CA1;
  font-family: acumin-pro, sans-serif;
  font-weight: 700;
}

#why_study .why_study_waku .why_flex {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 117px;
}

#why_study .why_study_waku .why_flex .box {
  width: 59.12%;
}

#why_study .why_study_waku .why_flex .box .photo {
  width: 100%;
  margin-bottom: 32px;
}

#why_study .why_study_waku .why_flex .box .photo img {
  width: 100%;
  object-fit: contain;
}

#why_study .why_study_waku .why_flex .text {
  width: 35.13%;
  font-size: 18px;
  font-weight: 700;
  line-height: 2.5;
}

#why_study .why_study_waku .why_flex .text h3 {
  font-size: 24px;
  color: #004CA1;
  font-weight: 700;
  margin-bottom: 45px;
}

#why_study .why_study_waku .no2 {
  flex-flow: row-reverse;
  margin-bottom: 0;
}

#why_study .why_study_waku .no2 .photo {
  width: 59.12%;
}

#why_study .why_study_waku .no2 .photo img {
  width: 100%;
}

#why_study .why_study_waku .no2 .text {
  width: 35.58%;
}

#course {
  width: 100%;
  margin-bottom: 156px;
}

#course .course_waku {
  width: 90%;
  max-width: 1238px;
  margin: 0 auto;
}

#course .course_waku .sub_title {
  font-size: 24px;
  letter-spacing: -0.06em;
  font-weight: 700;
  text-align: center;
  margin-bottom: 32px;
}

#course .course_waku h2 {
  text-align: center;
  font-family: acumin-pro, sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 54px;
  color: #004CA1;
  margin-bottom: 60px;
}

#course .course_waku h2 span {
  font-size: 40px;
  color: #333;
}

#course .course_waku .course_flex {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  position: relative;
  z-index: 2;
}

#course .course_waku .course_flex li {
  position: relative;
  width: 29.32%;
  min-height: 262px;
  box-shadow: 3px 3px 2px rgba(150, 150, 150, 0.75);
  border-radius: 9.989px;
  padding: 18px 24px 18px 24px;
  box-sizing: border-box;
  margin-bottom: 80px;
  background-color: #fff;
}

#course .course_waku .course_flex li::before {
  position: absolute;
  content: "";
  top: -4px;
  left: -4px;
  width: 101%;
  height: 101%;
  display: block;
  background: -moz-linear-gradient(0% 50% 0deg, #fef9e5 0%, #fef7d8 0%, #fceea1 0%, #fbb03b 100%);
  background: -webkit-linear-gradient(0deg, #fef9e5 0%, #fef7d8 0%, #fceea1 0%, #fbb03b 100%);
  background: -webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0, #fef9e5), color-stop(0, #fef7d8), color-stop(0, #fceea1), color-stop(1, #fbb03b));
  background: -o-linear-gradient(0deg, #fef9e5 0%, #fef7d8 0%, #fceea1 0%, #fbb03b 100%);
  background: -ms-linear-gradient(0deg, #fef9e5 0%, #fef7d8 0%, #fceea1 0%, #fbb03b 100%);
  background: linear-gradient(90deg, #fef9e5 0%, #fef7d8 0%, #fceea1 0%, #fbb03b 100%);
  border-radius: 9px;
  -moz-border-radius: 9px;
  -webkit-border-radius: 9px;
  z-index: -1;
}

#course .course_waku .course_flex li:nth-of-type(4), #course .course_waku .course_flex li:nth-of-type(5), #course .course_waku .course_flex li:nth-of-type(6) {
  margin-bottom: 0;
}

#course .course_waku .course_flex li .pict {
  position: relative;
  z-index: 2;
  width: 83.32px;
  margin: 0 auto 17px auto;
  min-height: 85.03px;
}

#course .course_waku .course_flex li .pict img {
  width: 100%;
  object-fit: cover;
  vertical-align: bottom;
}

#course .course_waku .course_flex li h3 {
  position: relative;
  z-index: 2;
  font-size: 16px;
  font-weight: 700;
  color: #004CA1;
  text-align: center;
  margin-bottom: 15px;
}

#course .course_waku .course_flex li h3 span {
  font-family: acumin-pro, sans-serif;
  font-weight: 700;
  font-style: normal;
}

#course .course_waku .course_flex li p {
  position: relative;
  z-index: 2;
  font-size: 16px;
  line-height: 1.8;
  word-break: break-all;
}

#curriculum {
  width: 100%;
  margin-bottom: 214px;
  position: relative;
}

#curriculum .back1 {
  position: absolute;
  z-index: 1;
  top: -156px;
  left: 0;
  width: 100%;
  height: 678px;
  background: url(../img/back1.png);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}

#curriculum .curriculum_waku {
  position: relative;
  z-index: 2;
  width: 90%;
  max-width: 1156px;
  margin-left: 7.15%;
  display: flex;
  justify-content: space-between;
}

#curriculum .curriculum_waku .photo {
  width: 43.54%;
}

#curriculum .curriculum_waku .photo img {
  width: 100%;
  object-fit: cover;
  vertical-align: bottom;
}

#curriculum .curriculum_waku .text {
  width: 35.89%;
  margin-top: 22px;
}

#curriculum .curriculum_waku .text h2 {
  font-size: 32px;
  font-family: acumin-pro, sans-serif;
  font-weight: 700;
  font-style: normal;
  color: #004CA1;
  letter-spacing: 0.03em;
  margin-bottom: 23px;
}

#curriculum .curriculum_waku .text h3 {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 10px;
}

#curriculum .curriculum_waku .text p {
  font-size: 16px;
  line-height: 2;
  margin-bottom: 40px;
}

#curriculum .curriculum_waku .text .btn_curriculum {
  width: 310px;
  height: 52px;
  border: #FB7D46 2px solid;
  box-sizing: border-box;
  background-color: #FB0050;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 16px;
  color: #fff;
  transition: .5s;
  cursor: pointer;
}

#curriculum .curriculum_waku .text .btn_curriculum:hover {
  background-color: #fff;
  color: #FB0050;
  transition: .5s;
}

#curriculum .curriculum_waku .text .curriculum_content {
  display: none;
  /* 初期状態 */
  position: fixed;
  z-index: 19999;
  top: 0;
  left: 0;
  width: 100%;
  /* モーダルは画面いっぱいに */
  height: 100%;
  /* モーダルは画面いっぱいに */
  overflow-y: scroll;
}

#curriculum .curriculum_waku .text .curriculum_content .modal_banner {
  position: absolute;
  background-color: #fff;
  overflow-y: scroll;
  bottom: 32px;
  width: 90%;
  max-width: 1200px;
}

#curriculum .curriculum_waku .text .curriculum_content .modal_banner .modal_banner_waku {
  width: 90%;
}

#curriculum .curriculum_waku .text .curriculum_content .modal_banner .modal_banner_waku h2 {
  font-size: 32px;
  font-weight: 700;
  font-family: acumin-pro, sans-serif;
  color: #004CA1;
  margin-bottom: 18px;
}

#curriculum .curriculum_waku .text .curriculum_content .modal_banner .modal_banner_waku .sub {
  font-size: 16px;
  font-weight: 700;
  line-height: 2.125;
  margin-bottom: 38px;
}

#curriculum .curriculum_waku .text .curriculum_content .modal_banner .modal_banner_waku .curriculum_list_waku {
  width: 100%;
  border: 1px solid #000;
  box-sizing: border-box;
  padding: 37px;
}

#curriculum .curriculum_waku .text .curriculum_content .modal_banner .modal_banner_waku .curriculum_list_waku h3 {
  text-align: left;
  font-family: acumin-pro, sans-serif;
  font-size: 32px;
  font-weight: 700;
  color: #004CA1;
  padding-bottom: 14px;
  border-bottom: 1px solid #000;
  margin-bottom: 35px;
  padding-left: 45px;
}

#curriculum .curriculum_waku .text .curriculum_content .modal_banner .modal_banner_waku .curriculum_list_waku ul {
  text-align: left;
  padding-left: 45px;
  margin-bottom: 63px;
}

#curriculum .curriculum_waku .text .curriculum_content .modal_banner .modal_banner_waku .curriculum_list_waku ul li {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 40px;
}

#curriculum .curriculum_waku .text .curriculum_content .modal_banner .modal_banner_waku .curriculum_list_waku ul li span {
  font-size: 18px;
}

#curriculum .curriculum_waku .text .curriculum_content .modal_banner .modal_banner_waku .curriculum_list_waku ul .dot {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 0px;
  padding-left: 50px;
}

#curriculum .curriculum_waku .text .curriculum_content .modal_banner .modal_banner_waku .curriculum_list_waku ul .dot_last {
  margin-bottom: 40px;
  padding-left: 50px;
}

#curriculum .curriculum_waku .text .curriculum_content .modal_banner .modal_banner_waku .curriculum_list_waku ul .sub {
  padding-left: 30px;
}

#curriculum .curriculum_waku .text .curriculum_content .modal_banner .modal_banner_waku .curriculum_list_waku ul .sub span {
  font-size: 18px;
}

#reason {
  width: 100%;
  position: relative;
  z-index: 0;
  margin-bottom: 152px;
}

#reason .back2 {
  position: absolute;
  z-index: 1;
  left: 0;
  top: 656px;
  width: 100%;
  height: 678px;
  background: url(../img/back2.png);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}

#reason .reason_waku {
  position: relative;
  z-index: 2;
  width: 90%;
  max-width: 1228px;
  margin: 0 auto;
}

#reason .reason_waku .sub {
  font-size: 24px;
  letter-spacing: -0.06em;
  font-weight: 700;
  text-align: center;
}

#reason .reason_waku h2 {
  font-size: 40px;
  letter-spacing: -0.06em;
  font-weight: 700;
  text-align: center;
  margin-bottom: 86px;
}

#reason .reason_waku h2 .blue {
  font-size: 49px;
  color: #004CA1;
  font-weight: 700;
}

#reason .reason_waku h2 .blue .big {
  font-size: 74px;
}

#reason .reason_waku .reason_flex {
  width: 100%;
  display: flex;
  justify-content: space-between;
}

#reason .reason_waku .reason_flex .text {
  margin-top: 90px;
  width: 45.76%;
}

#reason .reason_waku .reason_flex .text h3 {
  color: #fff;
  font-size: 24px;
  font-weight: 700;
  line-height: 2;
  margin-bottom: 30px;
}

#reason .reason_waku .reason_flex .text h3 span {
  background-color: #F7931E;
  padding: 8px;
}

#reason .reason_waku .reason_flex .text h4 {
  display: none;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.75;
  margin-bottom: 24px;
  color: #F7931E;
}

#reason .reason_waku .reason_flex .text p {
  font-size: 16px;
  line-height: 2;
  padding-left: 13px;
}

#reason .reason_waku .reason_flex .photo {
  width: 35%;
}

#reason .reason_waku .reason_flex .photo img {
  width: 100%;
  vertical-align: bottom;
  object-fit: cover;
}

#reason .reason_waku .reason01 {
  flex-flow: row-reverse;
}

#reason .reason_waku .reason02 .photo {
  margin-top: -7px;
  margin-left: -11px;
}

#reason .reason_waku .reason02 .text {
  margin-top: 85px;
  width: 56.1%;
}

#reason .reason_waku .reason02 .text h3 {
  margin-bottom: 36px;
}

#reason .reason_waku .reason02 .text p {
  padding-left: 9px;
}

#reason .reason_waku .reason03 {
  flex-flow: row-reverse;
}

#reason .reason_waku .reason03 .photo {
  margin-top: 20px;
}

#reason .reason_waku .reason03 .text {
  margin-top: 110px;
  width: 59%;
}

#reason .reason_waku .reason03 .text h3 {
  margin-bottom: 33px;
}

#reason .reason_waku .reason03 .text h3 span {
  padding: 8px 14px;
}

#support {
  position: relative;
  width: 100%;
  height: 424px;
  background: url(../img/support.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  z-index: 0;
  margin-bottom: 131px;
}

#support::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: .38;
  z-index: 1;
}

#support .text {
  padding-top: 69px;
  position: relative;
  z-index: 2;
  text-align: center;
}

#support .text .curi {
  position: relative;
  font-size: 33.05px;
  line-height: 1.5;
  font-weight: 700;
  color: #fff;
  letter-spacing: 2.2px;
  margin-bottom: 96px;
}

#support .text .curi span {
  display: inline-block;
  width: 130px;
  margin-right: 7px;
  vertical-align: bottom;
}

#support .text .curi span img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

#support .text .curi::before {
  position: absolute;
  bottom: -53px;
  left: 50%;
  transform: translateX(-50%);
  width: 434px;
  height: 25px;
  background: url(../img/curi_title.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
}

#support .text .sup {
  font-size: 30px;
  color: #fff;
  line-height: 1.5;
}

#support .text .sup span {
  font-weight: 700;
  font-size: 40px;
}

#teacher {
  padding-bottom: 160px;
}

#teacher .teacher_waku {
  width: 90%;
  max-width: 1080px;
  margin: 0 auto;
}

#teacher .teacher_waku .sub {
  font-weight: 700;
  font-size: 24px;
  letter-spacing: -0.06em;
  text-align: center;
  margin-bottom: 28px;
}

#teacher .teacher_waku h2 {
  font-size: 40px;
  font-weight: 700;
  letter-spacing: -0.06em;
  text-align: center;
  margin-bottom: 80px;
}

#teacher .teacher_waku h2 .blue {
  color: #004CA1;
}

#teacher .teacher_waku h2 .blue .big {
  font-size: 74px;
}

#teacher .teacher_waku .teacher_flex {
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin-bottom: 77px;
}

#teacher .teacher_waku .teacher_flex:nth-of-type(2) {
  margin-bottom: 0;
}

#teacher .teacher_waku .teacher_flex .photo {
  width: 31.75%;
  aspect-ratio: 1/1.4;
}

#teacher .teacher_waku .teacher_flex .photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#teacher .teacher_waku .teacher_flex .photo_sp {
  display: none;
  width: 50%;
  margin: 0 auto;
  margin-bottom: 28px;
}

#teacher .teacher_waku .teacher_flex .photo_sp img {
  width: 100%;
  object-fit: cover;
}

#teacher .teacher_waku .teacher_flex .text {
  width: 61.2%;
}

#teacher .teacher_waku .teacher_flex .text h3 {
  font-size: 36px;
  font-weight: 700;
  margin-bottom: 13px;
}

#teacher .teacher_waku .teacher_flex .text h3 .mini {
  font-size: 24px;
}

#teacher .teacher_waku .teacher_flex .text h3 .blue {
  color: #2F84BC;
  font-weight: 500;
  font-size: 20px;
}

#teacher .teacher_waku .teacher_flex .text .post {
  font-size: 20px;
  font-weight: 700;
  color: #2F84BC;
  margin-bottom: 45px;
}

#teacher .teacher_waku .teacher_flex .text .post span {
  font-family: acumin-pro, sans-serif;
  font-weight: 700;
  font-style: normal;
}

#teacher .teacher_waku .teacher_flex .text .intro {
  width: 86.38%;
  margin: 0 auto;
  padding: 43px 0;
  font-size: 16px;
  font-weight: 700;
  line-height: 2.25;
  position: relative;
}

#teacher .teacher_waku .teacher_flex .text .intro::before {
  position: absolute;
  top: 0;
  left: -46px;
  content: "";
  display: block;
  width: 54px;
  height: 54px;
  border-top: 1px solid #2F84BC;
  border-left: 1px solid #2F84BC;
}

#teacher .teacher_waku .teacher_flex .text .intro::after {
  position: absolute;
  bottom: 13px;
  right: -46px;
  content: "";
  display: block;
  width: 54px;
  height: 54px;
  border-right: 1px solid #2F84BC;
  border-bottom: 1px solid #2F84BC;
}

#student_voice {
  width: 100%;
  padding-bottom: 75px;
  margin-bottom: 160px;
}

#student_voice .student_voice_waku {
  width: 95%;
  max-width: 1300px;
  margin: 0 auto;
}

#student_voice .student_voice_waku .sub {
  font-size: 24px;
  letter-spacing: -0.06em;
  font-weight: 700;
  text-align: center;
  padding-top: 30px;
  margin-bottom: 30px;
}

#student_voice .student_voice_waku h2 {
  font-size: 40px;
  font-weight: 700;
  letter-spacing: -0.06em;
  text-align: center;
  margin-bottom: 83px;
}

#student_voice .student_voice_waku h2 span {
  color: #004CA1;
}

#student_voice .voice_student {
  display: none;
  /* 初期状態 */
  position: fixed;
  z-index: 19999;
  top: 0;
  left: 0;
  width: 100%;
  /* モーダルは画面いっぱいに */
  height: 100%;
  /* モーダルは画面いっぱいに */
  overflow-y: scroll;
}

#student_voice .voice_student .modal_banner {
  position: absolute;
  background-color: #fff;
  overflow-y: scroll;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 90%;
  max-width: 1200px;
  padding: 110px 0;
  bottom: auto;
}

#student_voice .voice_student .modal_banner .modal_banner_waku {
  width: 90%;
  margin: 0 auto;
}

#student_voice .voice_student .modal_banner .modal_banner_waku .voice_waku {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

#student_voice .voice_student .modal_banner .modal_banner_waku .voice_waku .photo {
  width: 215px;
  aspect-ratio: 1/1;
  margin: 0;
}

#student_voice .voice_student .modal_banner .modal_banner_waku .voice_waku .photo img {
  width: 100%;
  object-fit: cover;
}

#student_voice .voice_student .modal_banner .modal_banner_waku .voice_waku .text {
  width: 72%;
  text-align: left;
}

#student_voice .voice_student .modal_banner .modal_banner_waku .voice_waku .text .blue {
  display: block;
  margin-bottom: 22px;
  font-weight: 600;
  font-size: 14px;
  color: #2F84BC;
}

#student_voice .voice_student .modal_banner .modal_banner_waku .voice_waku .text h3 {
  position: relative;
  font-size: 20px;
  font-weight: 100;
  margin-bottom: 80px;
}

#student_voice .voice_student .modal_banner .modal_banner_waku .voice_waku .text h3::after {
  position: absolute;
  content: "";
  display: block;
  width: 63px;
  height: 4px;
  background-color: #2F84BC;
  bottom: -40px;
}

#student_voice .voice_student .modal_banner .modal_banner_waku .voice_waku .text .cont {
  font-size: 16px;
  text-align: left;
  line-height: 1.5;
}

#slick {
  width: 100%;
}

#slick .slick-list {
  width: 92.3%;
  margin: 0 auto;
}

#slick .slick-list .slick-track .slick-slide {
  width: 586px;
  margin-right: 27px;
}

#slick .slick-list .slick-track .slick-slide div {
  width: 100%;
}

#slick .slick-list .slick-track .slick-slide div li {
  width: 100%;
  height: 195px;
  padding: 23px 44px 27px 20px;
  box-sizing: border-box;
  background-color: #E0F2F9;
}

#slick .slick-list .slick-track .slick-slide div li .slick_inner {
  width: 100%;
  display: flex;
  justify-content: space-between;
  height: 100%;
}

#slick .slick-list .slick-track .slick-slide div li .slick_inner .photo {
  width: 27.77%;
  aspect-ratio: 1/1;
}

#slick .slick-list .slick-track .slick-slide div li .slick_inner .photo img {
  width: 100%;
  object-fit: cover;
}

#slick .slick-list .slick-track .slick-slide div li .slick_inner .text {
  width: 68.96%;
  padding-left: 7px;
}

#slick .slick-list .slick-track .slick-slide div li .slick_inner .text .blue {
  color: #2F84BC;
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 18px;
  margin-top: 7px;
}

#slick .slick-list .slick-track .slick-slide div li .slick_inner .text h3 {
  font-size: 20px;
  font-weight: 100;
  margin-bottom: 28px;
}

#slick .slick-list .slick-track .slick-slide div li .slick_inner .text .slick_btn {
  width: 124px;
  height: 36px;
  background-color: #2F84BC;
  color: #fff;
  font-size: 14px;
  font-weight: 200;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 17.65px;
  transition: .5s;
  cursor: pointer;
}

#slick .slick-list .slick-track .slick-slide div li .slick_inner .text .slick_btn:hover {
  color: #2F84BC;
  background-color: #fff;
  border: 1px solid #2F84BC;
  box-sizing: border-box;
}

#slick .slick-prev, #slick .slick-next {
  width: 34px;
  height: 34px;
  top: 47%;
}

#slick .slick-next {
  right: 0;
}

#slick .slick-prev {
  left: 0;
}

#slick .slick-prev:before, #slick .slick-next:before {
  width: 34px;
  height: 34px;
  opacity: 1;
}

#slick .slick-prev:before {
  content: "";
  display: block;
  background: url(../img/arrow_prev.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

#slick .slick-next::before {
  display: block;
  content: "";
  background: url(../img/arrow_next.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

#plan {
  margin-bottom: 172px;
}

#plan .plan_waku {
  padding-top: 82px;
  width: 90%;
  max-width: 1234px;
  margin: 0 auto;
}

#plan .plan_waku .sub {
  font-size: 24px;
  font-weight: 700;
  letter-spacing: -0.06em;
  text-align: center;
  margin-bottom: 28px;
}

#plan .plan_waku h2 {
  font-size: 40px;
  font-weight: 700;
  letter-spacing: -0.06em;
  text-align: center;
  margin-bottom: 86px;
}

#plan .plan_waku h2 span {
  color: #004CA1;
}

#plan .plan_waku table {
  width: 667px;
  margin: 0 auto;
  border-right: 1px solid #e6e6e6;
  margin-bottom: 104px;
}

#plan .plan_waku table thead {
  width: 100%;
  height: 109px;
}

#plan .plan_waku table thead .title {
  width: 223px;
  border-right: 1px solid #e6e6e6;
}

#plan .plan_waku table thead .logoin {
  width: 444px;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

#plan .plan_waku table thead .logoin span {
  width: 438.5px;
  margin: 0 auto;
  background: -moz-linear-gradient(0% 50% 0deg, #fef9e5 0%, #e0f2e4 0%, #0082bc 100%);
  background: -webkit-linear-gradient(0deg, #fef9e5 0%, #e0f2e4 0%, #0082bc 100%);
  background: -webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0, #fef9e5), color-stop(0, #e0f2e4), color-stop(1, #0082bc));
  background: -o-linear-gradient(0deg, #fef9e5 0%, #e0f2e4 0%, #0082bc 100%);
  background: -ms-linear-gradient(0deg, #fef9e5 0%, #e0f2e4 0%, #0082bc 100%);
  background: linear-gradient(90deg, #fef9e5 0%, #e0f2e4 0%, #0082bc 100%);
  height: 109px;
  display: flex;
  justify-content: center;
  align-items: center;
}

#plan .plan_waku table thead .logoin span img {
  width: 130px;
}

#plan .plan_waku table tbody {
  width: 100%;
}

#plan .plan_waku table tbody tr {
  width: 100%;
  height: 100px;
}

#plan .plan_waku table tbody tr:nth-of-type(3) {
  height: 119px;
}

#plan .plan_waku table tbody tr td {
  width: 223px;
  font-size: 18px;
  border-right: 1px solid #e6e6e6;
  box-sizing: border-box;
  padding-left: 33px;
}

#plan .plan_waku table tbody tr .bold {
  padding-left: 112px;
  width: 444px;
  box-sizing: border-box;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.75;
}

#plan .plan_waku table tbody tr .bold span {
  font-weight: 500;
}

#plan .plan_waku table tbody .last {
  box-sizing: border-box;
  border-top: double #E6E6E6 7px;
  border-bottom: 3px solid #e6e6e6;
  height: 91px;
}

#plan .plan_waku table tbody .last .price {
  width: 444px;
  height: 91px;
  padding: 0 16px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 16px;
  font-weight: 700;
}

#plan .plan_waku table tbody .last .price .motone {
  color: #777;
  position: relative;
  font-size: 20px;
}

#plan .plan_waku table tbody .last .price .motone::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #777;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

#plan .plan_waku table tbody .last .price .yaji {
  font-size: 24px;
  font-weight: 700;
}

#plan .plan_waku table tbody .last .price .yasune {
  position: relative;
}

#plan .plan_waku table tbody .last .price .yasune::before {
  content: "→";
  font-size: 16px;
  font-weight: 700;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  display: none;
}

#plan .plan_waku table tbody .last .price .yasune span {
  font-size: 32px;
  color: #FB7D46;
  font-weight: 700;
}

#plan .plan_waku h3 {
  font-size: 24px;
  text-align: center;
  font-weight: 700;
  color: #004CA1;
  letter-spacing: -0.06em;
  margin-bottom: 80px;
}

#plan .plan_waku .date_flex {
  width: 100%;
  max-width: 720px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

#plan .plan_waku .date_flex .date_cont {
  /* width: 29.17%; */
  width: 48%;
  box-shadow: 0px 0px 5px rgba(170, 170, 170, 0.75);
  height: 309px;
  box-sizing: border-box;
}

#plan .plan_waku .date_flex .date_cont:nth-of-type(2) .deadline, #plan .plan_waku .date_flex .date_cont:nth-of-type(3) .deadline {
  background-color: #fff;
  border: 1px solid #FB0050;
}

#plan .plan_waku .date_flex .date_cont:nth-of-type(2) .deadline .word, #plan .plan_waku .date_flex .date_cont:nth-of-type(3) .deadline .word {
  color: #FB0050;
}

#plan .plan_waku .date_flex .date_cont:nth-of-type(2) .deadline .day, #plan .plan_waku .date_flex .date_cont:nth-of-type(3) .deadline .day {
  color: #FB0050;
}

#plan .plan_waku .date_flex .date_cont h4 {
  width: 85.83%;
  padding-top: 30px;
  margin: 0 auto;
  font-size: 24px;
  font-weight: 700;
  text-align: center;
  padding-bottom: 6px;
  border-bottom: 1px solid #000;
  margin-bottom: 39px;
}

#plan .plan_waku .date_flex .date_cont .class_date {
  font-size: 40px;
  font-weight: 700;
  text-align: center;
  margin-bottom: 40px;
}

#plan .plan_waku .date_flex .date_cont .class_date span {
  font-size: 24px;
  font-weight: 400;
}

#plan .plan_waku .date_flex .date_cont .deadline {
  width: 85.83%;
  height: 78px;
  margin: 0 auto;
  background-color: #FB0050;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  box-sizing: border-box;
}

#plan .plan_waku .date_flex .date_cont .deadline .word {
  width: 100%;
  text-align: center;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  padding-top: 4px;
}

#plan .plan_waku .date_flex .date_cont .deadline .day {
  font-size: 32px;
  color: #fff;
}

#plan .plan_waku .date_flex .date_cont .deadline .day span {
  font-size: 20px;
}

#plan .plan_waku .date_flex .special .class_date {
  font-size: 32px;
}

#plan .plan_waku .date_flex .special .deadline {
  align-items: center;
}

#plan .plan_waku .date_flex .special .deadline .day {
  font-weight: 700;
}

#student_works {
  width: 100%;
  margin-bottom: 55px;
}

#student_works .student_works_waku {
  max-width: 1297px;
  width: 95%;
  margin: 0 auto;
}

#student_works .student_works_waku .sub {
  font-size: 24px;
  font-weight: 700;
  letter-spacing: -0.06em;
  text-align: center;
  margin-bottom: 29px;
}

#student_works .student_works_waku h2 {
  font-size: 40px;
  font-weight: 700;
  letter-spacing: -0.06em;
  text-align: center;
  margin-bottom: 80px;
}

#student_works .student_works_waku h2 span {
  color: #004CA1;
}

#slick02 {
  width: 100%;
}

#slick02 .slick-list {
  width: 1176px;
  padding: 0 !important;
  margin: 0 auto;
}

#slick02 .slick-list .slick-track .slick-slide {
  width: 360px;
  margin-right: 48px;
}

#slick02 .slick-list .slick-track .slick-slide div {
  width: 100%;
}

#slick02 .slick-list .slick-track .slick-slide div li {
  width: 100%;
}

#slick02 .slick-list .slick-track .slick-slide div li .box {
  width: 100%;
  height: 260px;
  background-color: #E0F2F9;
  box-sizing: border-box;
  padding-top: 20px;
  margin-bottom: 20px;
}

#slick02 .slick-list .slick-track .slick-slide div li .box .photo {
  width: 100%;
  aspect-ratio: 16/9;
}

#slick02 .slick-list .slick-track .slick-slide div li .box .photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#slick02 .slick-list .slick-track .slick-slide div li h3 {
  font-size: 16px;
  font-weight: 700;
  color: #004CA1;
  padding-left: 19px;
  margin-bottom: 12px;
}

#slick02 .slick-list .slick-track .slick-slide div li p {
  width: 360px;
  min-height: 122px;
  box-sizing: border-box;
  font-size: 16px;
  line-height: 2;
  background-color: #F8F8F8;
  padding: 13px 14px;
}

#slick02 .slick-prev, #slick02 .slick-next {
  width: 34px;
  height: 34px;
  top: 31%;
}

#slick02 .slick-next {
  right: 0;
}

#slick02 .slick-prev {
  left: 0;
}

#slick02 .slick-prev:before, #slick02 .slick-next:before {
  width: 34px;
  height: 34px;
  opacity: 1;
}

#slick02 .slick-prev:before {
  content: "";
  display: block;
  background: url(../img/arrow_prev.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

#slick02 .slick-next::before {
  display: block;
  content: "";
  background: url(../img/arrow_next.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

#point {
  width: 100%;
  background: -moz-linear-gradient(0% 50% 0deg, #fef9e5 0%, #e0f2e4 0%, #0082bc 100%);
  background: -webkit-linear-gradient(0deg, #fef9e5 0%, #e0f2e4 0%, #0082bc 100%);
  background: -webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0, #fef9e5), color-stop(0, #e0f2e4), color-stop(1, #0082bc));
  background: -o-linear-gradient(0deg, #fef9e5 0%, #e0f2e4 0%, #0082bc 100%);
  background: -ms-linear-gradient(0deg, #fef9e5 0%, #e0f2e4 0%, #0082bc 100%);
  background: linear-gradient(90deg, #fef9e5 0%, #e0f2e4 0%, #0082bc 100%);
  padding-bottom: 160px;
}

#point .point_waku {
  max-width: 1000px;
  width: 90%;
  margin: 0 auto;
  padding-top: 56px;
}

#point .point_waku .sub {
  font-size: 24px;
  font-weight: 700;
  letter-spacing: -0.06em;
  text-align: center;
  color: #FFFFFF;
  margin-bottom: 3px;
}

#point .point_waku h2 {
  font-size: 40px;
  font-weight: 700;
  letter-spacing: -0.06em;
  color: #fff;
  text-align: center;
  margin-bottom: 80px;
}

#point .point_waku h2 .blue {
  color: #004CA1;
}

#point .point_waku h2 .blue .big {
  font-size: 74px;
}

#point .point_waku .point_flex {
  width: 100%;
  display: flex;
  justify-content: space-between;
}

#point .point_waku .point_flex .point_cont {
  width: 29.27%;
}

#point .point_waku .point_flex .point_cont .circle {
  width: 100%;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #FFFFFF;
  margin: 0 auto;
  margin-bottom: 55px;
}

#point .point_waku .point_flex .point_cont .circle .num {
  text-align: center;
  font-size: 24px;
  font-weight: 600;
  padding-top: 41px;
  margin-bottom: 40px;
}

#point .point_waku .point_flex .point_cont .circle h3 {
  text-align: center;
  font-size: 24px;
  font-feature-settings: "palt";
  line-height: 1.66;
  font-weight: 700;
}

#point .point_waku .point_flex .point_cont .textbox {
  width: 100%;
  position: relative;
  min-height: 235px;
  background-color: #fff;
}

#point .point_waku .point_flex .point_cont .textbox::after, #point .point_waku .point_flex .point_cont .textbox::before {
  border: solid transparent;
  content: '';
  height: 0;
  width: 0;
  pointer-events: none;
  position: absolute;
  bottom: 99%;
  left: 50%;
}

#point .point_waku .point_flex .point_cont .textbox::before {
  border-color: rgba(255, 255, 255, 0);
  border-top-width: 35px;
  border-bottom-width: 35px;
  border-left-width: 47px;
  border-right-width: 47px;
  margin-left: -47px;
  margin-bottom: 2px;
  border-bottom-color: #FFFFFF;
}

#point .point_waku .point_flex .point_cont .textbox::after {
  border-color: rgba(255, 15, 0, 0);
  border-top-width: 41px;
  border-bottom-width: 35px;
  border-left-width: 49px;
  border-right-width: 49px;
  margin-left: -49px;
  border-bottom-color: #fff;
}

#point .point_waku .point_flex .point_cont .textbox .text {
  padding: 38px 20px 33px 20px;
  box-sizing: border-box;
  font-size: 16px;
  line-height: 1.7;
  font-weight: 700;
}

#award_select {
  width: 100%;
  background: -moz-linear-gradient(0% 50% 0deg, #fef9e5 0%, #e0f2e4 0%, #0082bc 100%);
  background: -webkit-linear-gradient(0deg, #fef9e5 0%, #e0f2e4 0%, #0082bc 100%);
  background: -webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0, #fef9e5), color-stop(0, #e0f2e4), color-stop(1, #0082bc));
  background: -o-linear-gradient(0deg, #fef9e5 0%, #e0f2e4 0%, #0082bc 100%);
  background: -ms-linear-gradient(0deg, #fef9e5 0%, #e0f2e4 0%, #0082bc 100%);
  background: linear-gradient(90deg, #fef9e5 0%, #e0f2e4 0%, #0082bc 100%);
  padding-bottom: 97px;
}

#award_select .award_select_waku {
  max-width: 1000px;
  width: 95%;
  margin: 0 auto;
}

#award_select .award_select_waku img {
  width: 100%;
  object-fit: cover;
}

#flow {
  width: 100%;
  position: relative;
  z-index: 0;
  margin-bottom: 100px;
}

#flow .flow_waku {
  width: 90%;
  max-width: 961.5px;
  margin: 0 auto;
  padding-top: 146px;
  position: relative;
  z-index: 0;
}

#flow .flow_waku h2 {
  font-size: 40px;
  font-weight: 700;
  letter-spacing: -0.06em;
  text-align: center;
  margin-bottom: 67px;
}

#flow .flow_waku h2 span {
  color: #004CA1;
}

#flow .flow_waku .flow_cont {
  width: 98.5%;
  background-color: #E0F2F9;
  box-sizing: border-box;
  padding: 28px 43px;
  margin-bottom: 66px;
  position: relative;
  display: flex;
}

#flow .flow_waku .flow_cont:nth-of-type(1), #flow .flow_waku .flow_cont:nth-of-type(2) {
  margin-bottom: 40px;
}

#flow .flow_waku .flow_cont::after {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border: 1px solid #004CA1;
  top: 7px;
  left: 7px;
  z-index: -1;
}

#flow .flow_waku .flow_cont .sub {
  display: inline-block;
  font-family: acumin-pro, sans-serif;
  font-style: italic;
  font-weight: 500;
  font-size: 20px;
  letter-spacing: 0.13em;
  padding-bottom: 1px;
  border-bottom: 1px solid #fff;
  margin-right: 48px;
  color: #2F84BC;
}

#flow .flow_waku .flow_cont h3 {
  font-size: 22px;
  font-weight: 700;
  font-feature-settings: "palt";
  letter-spacing: 0.04em;
}

#flow .flow_waku .flow_cont .text {
  font-size: 14px;
  line-height: 1.75;
}

#flow .flow_waku .flow_cont a {
  text-decoration: none;
  font-size: 14px;
  color: #2F84BC;
  transition: .5s;
}

#flow .flow_waku .flow_cont a:hover {
  opacity: .7;
  transition: .5s;
}

#flow .flow_waku .flow_grad {
  width: 98.5%;
  background-color: #E0F2F9;
  box-sizing: border-box;
  padding: 28px 50px 28px 43px;
  margin-bottom: 66px;
  position: relative;
  background: -moz-linear-gradient(-0.42% 50% 0deg, #fef9e5 0%, #e0f2f9 0%, #fffbe5 100%);
  background: -webkit-linear-gradient(0deg, #fef9e5 0%, #e0f2f9 0%, #fffbe5 100%);
  background: -webkit-gradient(linear, -0.42% 50%, 99.58% 50%, color-stop(0, #fef9e5), color-stop(0, #e0f2f9), color-stop(1, #fffbe5));
  background: -o-linear-gradient(0deg, #fef9e5 0%, #e0f2f9 0%, #fffbe5 100%);
  background: -ms-linear-gradient(0deg, #fef9e5 0%, #e0f2f9 0%, #fffbe5 100%);
  background: linear-gradient(90deg, #fef9e5 0%, #e0f2f9 0%, #fffbe5 100%);
}

#flow .flow_waku .flow_grad::after {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border: 1px solid #004CA1;
  top: 7px;
  left: 7px;
  z-index: -1;
}

#flow .flow_waku .flow_grad h3 {
  font-size: 22px;
  font-weight: 700;
  font-feature-settings: "palt";
  letter-spacing: 0.04em;
  margin-bottom: 20px;
}

#flow .flow_waku .flow_grad p {
  font-size: 14px;
  line-height: 2;
}

#flow .flow_waku .flow_grad p span {
  font-weight: 700;
}

#map {
  width: 100%;
  position: relative;
  z-index: 0;
}

#map h2 {
  position: relative;
  text-align: center;
  font-family: acumin-pro, sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 36px;
  margin-bottom: 28px;
}

#map .map {
  position: relative;
  z-index: 0;
  width: 100%;
  height: 385px;
  margin-bottom: 250px;
}

#map .map iframe {
  width: 100%;
  height: 100%;
}

#map .adress {
  position: absolute;
  top: 294px;
  z-index: 1;
  width: 50.76%;
  height: 310px;
  background-color: #2F84BC;
  box-sizing: border-box;
  padding: 40px 0 0px 0;
  padding-left: 20.41%;
}

#map .adress dl {
  color: #fff;
  margin-bottom: 41px;
}

#map .adress dl:last-of-type {
  margin-bottom: 0;
}

#map .adress dl dt {
  font-size: 21px;
  font-weight: 700;
  font-feature-settings: "palt";
  margin-bottom: 4px;
}

#map .adress dl dd {
  font-size: 15px;
  font-feature-settings: "palt";
  line-height: 2;
}

footer {
  background-color: #B3B3B3;
  margin-bottom: 94px;
}

footer .footer_waku {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 160px 0 78px 0;
}

footer .footer_waku .footer_logo {
  display: block;
  width: 130px;
  margin-bottom: 53px;
}

footer .footer_waku .footer_logo img {
  width: 100%;
  vertical-align: bottom;
}

footer .footer_waku .footer_flex {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

footer .footer_waku .footer_flex .left dt {
  font-size: 12px;
  font-weight: 700;
}

footer .footer_waku .footer_flex .left dd {
  font-size: 10px;
  letter-spacing: 0.088em;
}

footer .footer_waku .footer_flex .right dd a {
  color: #fff;
  text-decoration: none;
  font-size: 15px;
  font-feature-settings: "palt";
}

footer .footer_waku .footer_flex .right dd small {
  font-size: 15px;
  font-feature-settings: "palt";
  color: #fff;
}

.show800 {
  display: none;
}

.show700 {
  display: none;
}

.show600 {
  display: none;
}

#course,
#reason,
#teacher,
#plan,
#student_works,
#flow,
#map {
  padding-top: 100px;
  margin-top: -100px;
}

#covid {
  width: 100%;
  padding-top: 240px;
  padding-bottom: 160px;
}

#covid #covid-measures {
  width: 100%;
}

#covid #covid-measures .covid_waku {
  max-width: 960px;
  width: 90%;
  margin: 0 auto;
}

#covid #covid-measures .covid_waku h1 {
  font-size: 32px;
  color: #fff;
  background-color: #004CA1;
  text-align: center;
  font-weight: 700;
  padding: 10px;
  margin-bottom: 80px;
}

#covid #covid-measures .covid_waku p {
  font-size: 16px;
  letter-spacing: 0.04em;
  line-height: 2;
}

#covid #covid-measures .covid_waku p span {
  padding-left: 1em;
}

#covid #covid-measures .covid_waku h3 {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 2;
  margin: 20px 0;
}

.modal-content{
  width: 90%;
  height: 90%;
  top: 5%;
  left: 5%;
}

