@charset "UTF-8";

.drawer--right.drawer-open .drawer-nav,
.drawer--right .drawer-hamburger,
.drawer--right.drawer-open .drawer-navbar .drawer-hamburger {
  background-color: #fff;
}

.drawer--right .drawer-hamburger {
  background-color: #fff;
}

.drawer--right.drawer-open .drawer-hamburger {
  background: #000000;
}

.drawer-hamburger {
  width: clamp(6rem, 4.3009708738rem + 4.5307443366vw, 13rem);
  height: clamp(6rem, 4.3009708738rem + 4.5307443366vw, 13rem);
  padding: 0;
}

.drawer-hamburger span {
  width: 53%;
  margin: 0 auto;
  margin-top: -0.8854166667vw;
}

@media only screen and (max-width: 559px) {
  .drawer-hamburger span {
    margin-top: -2.4vw;
  }
}

header {
  padding-left: 2.5rem;
  padding-right: 2.5rem;
  height: clamp(6rem, 4.3009708738rem + 4.5307443366vw, 13rem);
}

.hd_login {
  position: fixed;
  top: 0;
  right: clamp(6rem, 4.3009708738rem + 4.5307443366vw, 13rem);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: clamp(6rem, 4.3009708738rem + 4.5307443366vw, 13rem);
  z-index: 1;
  background-color: rgba(255, 255, 255, 0.8);
}

.hd_login a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: clamp(6rem, 4.3009708738rem + 4.5307443366vw, 13rem);
  height: 100%;
}

.hd_login_img {
  width: 2.65625vw;
}

.hd_login_text {
  font-size: 1.0416666667vw;
}

h1.hd_logo {
  width: 18rem;
  position: fixed;
  left: 0;
  z-index: 1;
  margin-left: clamp(0rem, -1.4563106796rem + 3.8834951456vw, 6rem);
  padding-top: 10px;
}

header.top {
  position: fixed;
  top: 0;
  left: 0;
}

.drawer-hamburger-icon,
.drawer--left.drawer-open .drawer-hamburger-icon {
  background: #000000;
}

.drawer-hamburger-icon::before,
.drawer-hamburger-icon::after {
  background-color: #000000;
}

.drawer-hamburger-icon,
.drawer-hamburger-icon:after,
.drawer-hamburger-icon:before {
  height: clamp(0.2rem, 0.1757281553rem + 0.0647249191vw, 0.3rem);
}

.drawer-hamburger-icon:after,
.drawer-hamburger-icon:before {
  position: absolute;
  top: -17px;
  left: 0;
  content: " ";
}

@media only screen and (max-width: 768px) {

  .drawer-hamburger-icon:after,
  .drawer-hamburger-icon:before {
    top: -10px;
  }
}

.drawer-hamburger-icon:after {
  top: 17px;
}

@media only screen and (max-width: 768px) {
  .drawer-hamburger-icon:after {
    top: 10px;
  }
}

.drawer-open .drawer-hamburger-icon::before {
  background-color: #fff;
}

.drawer-open .drawer-hamburger-icon::before,
.drawer-open .drawer-hamburger-icon::after {
  background-color: #fff;
}

.mypage-item a {
  width: 100%;
}

.drawer_text {
  position: absolute;
  bottom: clamp(0.3rem, -0.1611650485rem + 1.2297734628vw, 2.2rem);
  left: 50%;
  transform: translateX(-50%);
  font-size: 1.0416666667vw;
  white-space: nowrap;
  color: #000000;
}

@media only screen and (max-width: 559px) {
  .drawer_text {
    font-size: 3.4666666667vw;
  }
}

.drawer-open .drawer_text {
  display: none;
}

.drawer_text._open {
  display: none;
}

.drawer-open .drawer_text._open {
  display: block;
  color: #fff;
}

footer.main-footer {
  background-color: #000000;
  color: #000;
}

p.copy.text-c {
  border-top: 1px solid #000;
  width: 100vw;
  position: relative;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
}

@media only screen and (max-width: 768px) {
  footer.main-footer ul li {
    display: block;
    text-align: left;
    margin-bottom: 1rem;
  }
}

@media only screen and (max-width: 768px) {
  footer.main-footer ul {
    margin-bottom: 3rem;
  }
}

@media only screen and (max-width: 768px) {
  footer.main-footer li:not(:last-child) a::after {
    padding: 0;
    content: none;
  }
}

.btn_main {
  width: clamp(24rem, 21.4514563107rem + 6.7961165049vw, 34.5rem);
}

.btn_main a {
  position: relative;
  display: block;
  background-color: #20b7bb;
  color: #fff;
  font-size: clamp(1.4rem, 1.254368932rem + 0.3883495146vw, 2rem);
  width: 100%;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  text-align: center;
  margin-top: clamp(2rem, 1.6359223301rem + 0.9708737864vw, 3.5rem);
}

.btn_main a::after {
  position: absolute;
  top: 50%;
  right: 1.5rem;
  transform: translateY(-50%);
  content: "";
  display: inline-block;
  background-image: url("../img/btn_arrow.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  width: 2.2rem;
  height: 2.2rem;
  transition: all 0.5s;
}

.btn_main a:hover::after {
  right: 1.5rem;
}

.btn_main_text {
  text-align: center;
}

.headline_h2 {
  position: relative;
  font-size: 62px;
  font-family: Arial, sans-serif;
  font-weight: bold;
  text-align: center;
  line-height: 1.3;
  margin-top: 30px;
}

@media screen and (max-width:559px) {
  .headline_h2 {
    font-size: 32px;
  }
}

.headline_logo {
  max-width: 190px;
  margin: 0 auto;
}

.headline_h2::after {
  position: absolute;
  bottom: -2.0833333333vw;
  left: 50%;
  transform: translateX(-50%);
  content: "";
  width: clamp(3rem, 1.9563106796rem + 2.783171521vw, 7.3rem);
  height: 3px;
  background-color: #000000;
}

@media only screen and (max-width: 768px) {
  .headline_h2::after {
    bottom: -5.3333333333vw;
  }
}

.headline_h2_sub {
  font-size: clamp(1.6rem, 1.454368932rem + 0.3883495146vw, 2.2rem);
  font-weight: 900;
  text-align: center;
  margin-top: 4.3229166667vw;
  color: #637373;
}

@media only screen and (max-width: 768px) {
  .headline_h2_sub {
    margin-top: 40px;
  }
}

.headline_h2_course {
  text-align: center;
}

.headline_h3 {
  font-size: clamp(2.4rem, 2.3514563107rem + 0.1294498382vw, 2.6rem);
  font-weight: 900;
  line-height: 1.5;
  text-align: center;
}

.drawer-open .drawer-nav p.login a {
  background-color: #000000;
}

.drawer-open .drawer-overlay {
  background: rgba(0, 0, 0, 0.7);
}

.drawer--right.drawer-open .drawer-nav {
  background: #fff;
}

.drawer--right.drawer-open .drawer-nav,
.drawer--right .drawer-hamburger {
  border-radius: 0;
}

.drawer--right.drawer-open .drawer-hamburger {
  background: #000000;
}

.drawer--right.drawer-open .drawer-nav {
  right: 0;
  padding: 0;
  overflow-y: auto;
  background: #fff;
  -webkit-overflow-scrolling: touch;
}

.drawer-open .drawer-nav a {
  font-size: 1.8rem;
  color: #000;
  letter-spacing: 0.05em;
}

.drawer-open .drawer-nav .wrapper {
  margin-top: 7.5rem;
}

.drawer-open .drawer-nav p.login {
  width: 100%;
  padding-bottom: 1rem;
  margin-bottom: 3rem;
  text-align: left;
  border-bottom: solid 1px #323232;
}

.drawer-open .drawer-nav p.login a {
  padding: 0.5rem 2rem;
  color: #fff;
}

.drawer-open .drawer-nav li a {
  display: block;
  padding: 1rem 0;
}

.drawer-open .drawer-nav li a img {
  margin-left: 1rem;
  vertical-align: baseline;
}

header .drawer-nav p.mypage {
  margin: 0 auto 3.5rem;
  text-align: center;
  border: solid 2px #fff;
}

.drawer--right .drawer-nav p.logo {
  padding-top: 2.5rem;
  padding-left: 2.6041666667vw;
}

@media only screen and (max-width: 559px) {
  .drawer--right .drawer-nav p.logo {
    padding-top: 1.5rem;
  }
}

.drawer--right .drawer-nav p.logo img {
  width: 18rem;;
}

@media only screen and (max-width: 559px) {
  .drawer--right .drawer-nav p.logo img {
    width: 17rem;
  }
}

.drawer-open .drawer-nav ul {
  padding-left: 4rem;
}

.drawer-open .drawer-nav .sub-menu {
  position: absolute;
  width: 30%;
  padding: 1rem 3% 2.5rem;
  /* transition: .4s; */
  visibility: hidden;
  background-color: #000000;
  opacity: 0;
}

@media only screen and (max-width: 559px) {
  .drawer-open .drawer-nav .sub-menu {
    width: 70%;
  }
}

.drawer-open .drawer-nav li:hover .sub-menu {
  visibility: visible;
  opacity: 1;
  transition: 0.4s;
}

.drawer-open .drawer-nav li:hover .sub-menu li {
  border-bottom: dashed 1px #000;
}

.drawer-open .drawer-nav li:hover .sub-menu a {
  font-size: 1.6rem;
  color: #000;
  letter-spacing: 0.05em;
}

.drawer-menu {
  flex-direction: column;
}

.drawer-nav .wrapper {
  padding-left: clamp(2rem, -3.5825242718rem + 14.8867313916vw, 25rem);
  padding-right: clamp(2rem, -3.5825242718rem + 14.8867313916vw, 25rem);
}

.text_main {
  font-size: clamp(1.4rem, 1.3514563107rem + 0.1294498382vw, 1.6rem);
  font-weight: 500;
  line-height: 2;
}

.fade_animate,
.fade_animate02,
.fade_animate03,
.fade_animate04,
.fade_animate05 {
  opacity: 0;
}

/*01*/
.fadeUp {
  -webkit-animation-name: fadeUpAnime;
  animation-name: fadeUpAnime;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  opacity: 0;
}

@-webkit-keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/*02*/
.fadeUp02 {
  -webkit-animation-name: fadeUpAnime02;
  animation-name: fadeUpAnime02;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  opacity: 0;
}

@-webkit-keyframes fadeUpAnime02 {
  from {
    opacity: 0;
    transform: translateX(100px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes fadeUpAnime02 {
  from {
    opacity: 0;
    transform: translateX(100px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/*03*/
.fadeUp03 {
  -webkit-animation-name: fadeUpAnime03;
  animation-name: fadeUpAnime03;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  opacity: 0;
}

@-webkit-keyframes fadeUpAnime03 {
  from {
    opacity: 0;
    transform: translateX(-100px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes fadeUpAnime03 {
  from {
    opacity: 0;
    transform: translateX(-100px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/*04*/
.fadeUp04 {
  -webkit-animation-name: fadeUpAnime04;
  animation-name: fadeUpAnime04;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  opacity: 0;
}

@-webkit-keyframes fadeUpAnime04 {
  from {
    opacity: 0;
    transform: translateX(100px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes fadeUpAnime04 {
  from {
    opacity: 0;
    transform: translateX(100px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/*05*/
.fadeUp05 {
  -webkit-animation-name: fadeUpAnime05;
  animation-name: fadeUpAnime05;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  opacity: 0;
}

@-webkit-keyframes fadeUpAnime05 {
  from {
    opacity: 0;
    transform: translateX(-100px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes fadeUpAnime05 {
  from {
    opacity: 0;
    transform: translateX(-100px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.fade_in {
  -webkit-animation-name: fadein;
  animation-name: fadein;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
}

@-webkit-keyframes fadein {
  from {
    opacity: 0;
    transform: translateY(20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadein {
  from {
    opacity: 0;
    transform: translateY(20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.fade_in02 {
  -webkit-animation-name: fadein;
  animation-name: fadein;
  -webkit-animation-duration: 3s;
  animation-duration: 3s;
}

@keyframes fadein {
  from {
    opacity: 0;
    transform: translateY(20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.fade_in03 {
  -webkit-animation-name: fadein;
  animation-name: fadein;
  -webkit-animation-duration: 5s;
  animation-duration: 5s;
}

@keyframes fadein {
  from {
    opacity: 0;
    transform: translateY(20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/*共通*/
.sec {
  padding-top: clamp(4.5rem, 1.7087378641rem + 7.4433656958vw, 16rem);
  padding-bottom: clamp(4.5rem, 1.7087378641rem + 7.4433656958vw, 16rem);
}

.sec_point {
  margin-top: clamp(3rem, 2.3932038835rem + 1.6181229773vw, 5.5rem);
  margin-left: auto;
  margin-right: auto;
  display: flex;
  gap: clamp(1rem, -0.213592233rem + 3.2362459547vw, 6rem);
  width: clamp(33rem, 16.7378640777rem + 43.3656957929vw, 100rem);
  padding-bottom: clamp(2rem, 1.5145631068rem + 1.2944983819vw, 4rem);
  border-bottom: 1px solid #637373;
}

@media only screen and (max-width: 768px) {
  .sec_point {
    flex-direction: column;
  }
}

.sec_point_title {
  font-size: clamp(1.8rem, 1.7514563107rem + 0.1294498382vw, 2rem);
  font-weight: 500;
  padding-left: clamp(1rem, 0.5145631068rem + 1.2944983819vw, 3rem);
  width: 25%;
}

@media only screen and (max-width: 768px) {
  .sec_point_title {
    width: 100%;
  }
}

.sec_point_list {
  padding-right: clamp(1rem, 0.5145631068rem + 1.2944983819vw, 3rem);
  width: 85%;
}

@media only screen and (max-width: 768px) {
  .sec_point_list {
    width: 100%;
    padding-right: 0;
  }
}

.sec_point_item {
  list-style: disc;
  margin-left: 1em;
}

.sec_point_item.text_main {
  font-size: clamp(1.2rem, 1.1514563107rem + 0.1294498382vw, 1.4rem);
}

.top_mv_flex {
  display: flex;
}

@media only screen and (max-width: 768px) {
  .top_mv_flex {
    flex-direction: column-reverse;
  }
}

.top_mv_img {
  width: 50%;
}

@media only screen and (max-width: 768px) {
  .top_mv_img {
    width: 100%;
  }
}

.top_mv_contents {
  width: 50%;
  background-color: #000000;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

@media only screen and (max-width: 768px) {
  .top_mv_contents {
    width: 100%;
    padding-top: 12vw;
    padding-bottom: 12vw;
  }
}

.top_mv_logo {
  width: clamp(24rem, 18.9029126214rem + 13.5922330097vw, 45rem);
}

.top_mv_text {
  font-size: clamp(1.4rem, 1.3029126214rem + 0.2588996764vw, 1.8rem);
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: center;
  margin-top: clamp(1.5rem, 1.0145631068rem + 1.2944983819vw, 3.5rem);
}

/*intro*/
.intro {
  padding-top: clamp(4.5rem, 2.6796116505rem + 4.854368932vw, 12rem);
  padding-bottom: clamp(4.5rem, 1.7087378641rem + 7.4433656958vw, 16rem);
}

.intro_catch {
  font-size: clamp(2.2rem, 1.8601941748rem + 0.9061488673vw, 3.6rem);
  text-align: center;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

.intro_text {
  font-size: clamp(1.4rem, 1.3514563107rem + 0.1294498382vw, 1.6rem);
  text-align: center;
  line-height: 2;
  margin-top: clamp(2rem, 1.3932038835rem + 1.6181229773vw, 4.5rem);
}

@media only screen and (max-width: 768px) {
  .intro_text {
    text-align: left;
  }
}

.intro_flex {
  display: flex;
  gap: clamp(1rem, 0.2718446602rem + 1.9417475728vw, 4rem);
  align-items: center;
  justify-content: center;
  margin-bottom: 130px;
}


/*about*/
.about {
  border-top: 20px solid #000000;
}

.about_flex {
  margin-top: clamp(4rem, 2.9077669903rem + 2.9126213592vw, 8.5rem);
  display: flex;
  gap: clamp(3rem, 2.2718446602rem + 1.9417475728vw, 6rem);
  justify-content: center;
}

@media only screen and (max-width: 768px) {
  .about_flex {
    flex-direction: column;
  }
}

.about_content {
  width: calc((100% - clamp(3rem, 2.2718446602rem + 1.9417475728vw, 6rem)) / 2);
}

@media only screen and (max-width: 768px) {
  .about_content {
    width: 100%;
  }
}

.about_catch {
  font-size: clamp(2rem, 1.8786407767rem + 0.3236245955vw, 2.5rem);
  font-weight: 900;
  line-height: 1.5;
  color: #637373;
}

.text_about {
  margin-top: clamp(2rem, 1.5145631068rem + 1.2944983819vw, 4rem);
}

.about_img {
  width: calc((100% - clamp(3rem, 2.2718446602rem + 1.9417475728vw, 6rem)) / 2);
  margin-top: 1.0416666667vw;
}

@media only screen and (max-width: 768px) {
  .about_img {
    width: 100%;
    margin-top: 0;
  }
}

.about_btn {
  margin: 0 auto;
}

/*program*/
.program {
  border-top: 20px solid #000000;
}

.text_program {
  font-size: clamp(1.8rem, 1.7514563107rem + 0.1294498382vw, 2rem);
  line-height: 1.75;
  text-align: center;
  margin-top: clamp(3rem, 2.2718446602rem + 1.9417475728vw, 6rem);
}

@media only screen and (max-width: 768px) {
  .text_program {
    text-align: left;
  }
}

.program_img {
  margin-top: clamp(2rem, 1.5145631068rem + 1.2944983819vw, 4rem);
  margin-left: auto;
  margin-right: auto;
  width: clamp(22rem, 17.6310679612rem + 11.6504854369vw, 40rem);
}

.program_list {
  width: clamp(33rem, 16.7378640777rem + 43.3656957929vw, 100rem);
  background-color: #000000;
  margin-top: clamp(2rem, 1.5145631068rem + 1.2944983819vw, 4rem);
  margin-left: auto;
  margin-right: auto;
  outline: 3px solid #fff;
  outline-offset: -10px;
  padding-top: clamp(3rem, 1.6650485437rem + 3.5598705502vw, 8.5rem);
  padding-bottom: clamp(3rem, 1.6650485437rem + 3.5598705502vw, 8.5rem);
  padding-left: clamp(2.5rem, 1.0436893204rem + 3.8834951456vw, 8.5rem);
  padding-right: clamp(2.5rem, 1.0436893204rem + 3.8834951456vw, 8.5rem);
}

.program_item {
  background-color: #fff;
  padding-top: clamp(1.5rem, 1.1359223301rem + 0.9708737864vw, 3rem);
  padding-bottom: clamp(1.5rem, 1.1359223301rem + 0.9708737864vw, 3rem);
  padding-left: clamp(1.5rem, 1.1359223301rem + 0.9708737864vw, 3rem);
  padding: clamp(1.5rem, 1.1359223301rem + 0.9708737864vw, 3rem);
}

.program_item:not(:first-of-type) {
  margin-top: clamp(1rem, 0.7572815534rem + 0.6472491909vw, 2rem);
}

.program_no {
  color: #20b7bb;
  font-family: Arial, sans-serif;
  font-weight: 700;
  font-size: clamp(1.2rem, 1.127184466rem + 0.1941747573vw, 1.5rem);
}

.program_no::before,
.program_no::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
}

.program_no::before {
  margin-top: calc((1 - 1.8) * 0.5em);
}

.program_no::after {
  margin-bottom: calc((1 - 1.8) * 0.5em);
}

.program_list_title {
  font-size: clamp(1.6rem, 1.454368932rem + 0.3883495146vw, 2.2rem);
  font-weight: 700;
  margin-top: 0.5rem;
  color: #637373;
  line-height: 1.5;
}

.program_list_title::before,
.program_list_title::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
}

.program_list_title::before {
  margin-top: calc((1 - 1.8) * 0.5em);
}

.program_list_title::after {
  margin-bottom: calc((1 - 1.8) * 0.5em);
}

.text_program_list {
  margin-top: clamp(1rem, 0.8786407767rem + 0.3236245955vw, 1.5rem);
  line-height: 1.75;
  font-size: clamp(1.3rem, 1.227184466rem + 0.1941747573vw, 1.6rem);
}

.program_list02 {
  width: clamp(33rem, 16.7378640777rem + 43.3656957929vw, 100rem);
  margin-top: clamp(3rem, 2.3932038835rem + 1.6181229773vw, 5.5rem);
  margin-left: auto;
  margin-right: auto;
  background-color: #eff1f1;
  outline: 3px solid #637373;
  outline-offset: -10px;
  padding-top: clamp(3rem, 2.3932038835rem + 1.6181229773vw, 5.5rem);
  padding-bottom: clamp(3rem, 2.3932038835rem + 1.6181229773vw, 5.5rem);
  padding-left: clamp(2.5rem, 1.0436893204rem + 3.8834951456vw, 8.5rem);
  padding-right: clamp(2.5rem, 1.0436893204rem + 3.8834951456vw, 8.5rem);
}

.program_list02_title {
  font-size: clamp(1.6rem, 1.4058252427rem + 0.5177993528vw, 2.4rem);
  color: #637373;
  text-align: center;
  font-weight: 900;
  line-height: 1.5;
}

.program_item02_flex {
  margin-top: clamp(1.5rem, 1.1359223301rem + 0.9708737864vw, 3rem);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: clamp(1rem, 0.5145631068rem + 1.2944983819vw, 3rem);
}

.program_item02 {
  position: relative;
  background-color: #fff;
  padding-left: clamp(1rem, 0.5145631068rem + 1.2944983819vw, 3rem);
  padding-right: clamp(1rem, 0.5145631068rem + 1.2944983819vw, 3rem);
  width: calc((100% - clamp(1rem, 0.5145631068rem + 1.2944983819vw, 3rem)) / 2);
  display: flex;
  gap: clamp(0.7rem, 0.5058252427rem + 0.5177993528vw, 1.5rem);
  align-items: center;
}

@media only screen and (max-width: 768px) {
  .program_item02 {
    width: 100%;
    padding-top: 2.6666666667vw;
    padding-bottom: 2.6666666667vw;
  }
}

.program_item02::before {
  position: absolute;
  top: 0;
  right: 0;
  content: "";
  background-image: url("../img/icon_kakko01.png");
  width: 24px;
  height: 24px;
  background-size: contain;
  background-repeat: no-repeat;
}

.program_item02::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  background-image: url("../img/icon_kakko02.png");
  width: 24px;
  height: 24px;
  background-size: contain;
  background-repeat: no-repeat;
}

.program_item02_np {
  color: #000000;
  font-size: clamp(2.5rem, 1.8932038835rem + 1.6181229773vw, 5rem);
  font-family: Arial, sans-serif;
}

.program_item02_text {
  line-height: 1.5;
  font-size: clamp(1.3rem, 1.227184466rem + 0.1941747573vw, 1.6rem);
}

.program_item02_note {
  margin-top: 10px;
  text-align: right;
}

.program_under_flex {
  width: clamp(33rem, 16.7378640777rem + 43.3656957929vw, 100rem);
  margin-top: clamp(2rem, 1.5145631068rem + 1.2944983819vw, 4rem);
  margin-left: auto;
  margin-right: auto;
  display: flex;
  justify-content: center;
  gap: clamp(3rem, 2.2718446602rem + 1.9417475728vw, 6rem);
}

@media only screen and (max-width: 768px) {
  .program_under_flex {
    flex-direction: column;
  }
}

.program_under_list {
  width: calc((100% - clamp(3rem, 2.2718446602rem + 1.9417475728vw, 6rem)) / 2);
  padding-left: clamp(2rem, 1.5145631068rem + 1.2944983819vw, 4rem);
  padding-right: clamp(2rem, 1.5145631068rem + 1.2944983819vw, 4rem);
  margin-top: 0;
}

@media only screen and (max-width: 768px) {
  .program_under_list {
    width: 100%;
  }
}

.program_tool_list {
  margin-top: clamp(1.5rem, 1.1359223301rem + 0.9708737864vw, 3rem);
}

.program_tool_item {
  list-style: disc;
  margin-left: 1em;
  line-height: 1.4;
}

.program_tool_item:not(:first-of-type) {
  margin-top: 20px;
}

@media only screen and (max-width: 768px) {
  .program_tool_item {
    margin-left: 2em;
  }
}

.program_under_list02 .program_tool_item:not(:first-of-type) {
  margin-top: 10px;
}

.program_add {
  margin-top: clamp(4.5rem, 3.5291262136rem + 2.5889967638vw, 8.5rem);
}

.program_add_title_box {
  text-align: center;
  font-size: clamp(1.6rem, 0.8718446602rem + 1.9417475728vw, 4.6rem);
  font-weight: 900;
  margin-top: 15px;
  line-height: 1.5;
  position: relative;
}

.program_add_title_o {
  color: #000000;
  font-size: clamp(1.6rem, 1.1145631068rem + 1.2944983819vw, 3.6rem);
  font-weight: 900;
  text-align: center;
}

.program_add_title_b {
  color: #20b7bb;
  font-size: clamp(2.6rem, 2.1145631068rem + 1.2944983819vw, 4.6rem);
  font-weight: 900;
}

.program_add_flex {
  display: flex;
  gap: clamp(0.5rem, 0.1359223301rem + 0.9708737864vw, 2rem);
  justify-content: center;
  align-items: flex-end;
}

.program_add_flex_img {
  width: clamp(3rem, 2.3203883495rem + 1.8122977346vw, 5.8rem);
}

.program_add_img {
  margin-top: clamp(3rem, 2.3932038835rem + 1.6181229773vw, 5.5rem);
  width: clamp(33rem, 16.7378640777rem + 43.3656957929vw, 100rem);
  margin-left: auto;
  margin-right: auto;
}

.program_btn {
  margin-left: auto;
  margin-right: auto;
  margin-top: clamp(4.5rem, 3.5291262136rem + 2.5889967638vw, 8.5rem);
}

/*price*/
.price {
  border-top: 20px solid #000000;
}

.price_contents {
  margin-top: clamp(4.5rem, 3.5291262136rem + 2.5889967638vw, 8.5rem);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(0.5rem, 0.3786407767rem + 0.3236245955vw, 1rem);
  width: clamp(33rem, 16.7378640777rem + 43.3656957929vw, 100rem);
  margin-left: auto;
  margin-right: auto;
}

.price_item {
  width: 45%;
}

@media screen and (max-width:559px) {
  .price_item {
    width: 100%;
  }
}

.price_title {
  background-color: #000000;
  font-size: clamp(1.6rem, 1.3572815534rem + 0.6472491909vw, 2.6rem);
  text-align: center;
  padding-top: clamp(0.5rem, 0.3786407767rem + 0.3236245955vw, 1rem);
  padding-bottom: clamp(0.5rem, 0.3786407767rem + 0.3236245955vw, 1rem);
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  border: 2px solid #000000;
}

.price_main {
  border: 1px solid #000000;
  background-color: #fff;
  font-size: clamp(3rem, 1.6893203883rem + 3.4951456311vw, 8.4rem);
  font-family: Arial, sans-serif;
  letter-spacing: -0.02em;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
  padding-top: clamp(1.5rem, 1.1359223301rem + 0.9708737864vw, 3rem);
  padding-bottom: clamp(1.5rem, 1.1359223301rem + 0.9708737864vw, 3rem);
  text-align: center;
}
@media screen and (max-width:559px) {

  .price_main{
    font-size:58px;
  }
}


.price_main::before,
.price_main::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
}

.price_main::before {
  margin-top: calc((1 - 1.8) * 0.5em);
}

.price_main::after {
  margin-bottom: calc((1 - 1.8) * 0.5em);
}

.price_main_s {
  font-size: clamp(2.6rem, 1.8718446602rem + 1.9417475728vw, 5.6rem);
}

.price_img {
  width: clamp(3rem, 1.786407767rem + 3.2362459547vw, 8rem);
}

.price_option {
  width: 1000px;
  margin-top: clamp(4.5rem, 3.5291262136rem + 2.5889967638vw, 8.5rem);
  margin-left: auto;
  margin-right: auto;
}

.price_option_title {
  font-size: clamp(3rem, 2.2718446602rem + 1.9417475728vw, 6rem);
  text-align: center;
}

.price_list_box {
  margin-top: clamp(2.5rem, 2.1359223301rem + 0.9708737864vw, 4rem);
}

.price_list {
  display: flex;
  justify-content: space-between;
  padding-top: clamp(1.5rem, 1.1359223301rem + 0.9708737864vw, 3rem);
  padding-bottom: clamp(1.5rem, 1.1359223301rem + 0.9708737864vw, 3rem);
  border-bottom: 1px solid #637373;
  padding-left: clamp(1rem, 0.2718446602rem + 1.9417475728vw, 4rem);
  padding-right: clamp(1rem, 0.2718446602rem + 1.9417475728vw, 4rem);
}

@media only screen and (max-width: 768px) {
  .price_list {
    flex-direction: column;
  }
}

.price_dt {
  font-size: clamp(1.5rem, 1.3300970874rem + 0.4530744337vw, 2.2rem);
  font-weight: 900;
  color: #637373;
}

.price_dd {
  font-size: clamp(3rem, 2.854368932rem + 0.3883495146vw, 3.6rem);
  font-weight: 400;
  font-family: Arial, sans-serif;
  color: #637373;
}

@media only screen and (max-width: 768px) {
  .price_dd {
    margin-top: 0.5rem;
  }
}

.price_dd_top {
  font-size: clamp(1.2rem, 1.1029126214rem + 0.2588996764vw, 1.6rem);
  color: #000;
  margin-right: 10px;
}

.price_dd_s {
  font-size: clamp(1.6rem, 1.4058252427rem + 0.5177993528vw, 2.4rem);
}

.price_btn {
  margin-left: auto;
  margin-right: auto;
  margin-top: clamp(4.5rem, 3.5291262136rem + 2.5889967638vw, 8.5rem);
}

/*message*/
.message {
  border-top: 20px solid #000000;
  background-color: #f5f5f5;
}

.message_contents {
  position: relative;
  background-color: #fff;
  padding-left: clamp(2rem, -1.3980582524rem + 9.0614886731vw, 16rem);
  padding-right: clamp(2rem, -1.3980582524rem + 9.0614886731vw, 16rem);
  padding-bottom: clamp(5rem, 3.786407767rem + 3.2362459547vw, 10rem);
}

.message_title {
  position: absolute;
  top: -4rem;
  left: 50%;
  transform: translateX(-50%);
}

@media only screen and (max-width: 768px) {
  .message_title {
    top: -2rem;
  }
}

.message_catch {
  font-size: clamp(1.8rem, 1.6058252427rem + 0.5177993528vw, 2.6rem);
  font-weight: 900;
  line-height: 1.5;
  padding-top: clamp(12rem, 9.3300970874rem + 7.1197411003vw, 23rem);
}

@media only screen and (max-width: 559px) {
  .message_catch {
    margin-bottom: 2rem;
  }
}

.text_message {
  margin-top: clamp(2rem, 1.5145631068rem + 1.2944983819vw, 4rem);
}

.text_message:not(:first-of-type) {
  margin-top: clamp(1rem, 0.7572815534rem + 0.6472491909vw, 2rem);
}

.message_flex {
  margin-top: clamp(3rem, 2.2718446602rem + 1.9417475728vw, 6rem);
  padding-top: clamp(3rem, 2.2718446602rem + 1.9417475728vw, 6rem);
  border-top: 1px solid #637373;
}

.message_top {
  font-size: clamp(1.2rem, 1.1757281553rem + 0.0647249191vw, 1.3rem);
  line-height: 1.5;
}

.message_ceo {
  margin-top: clamp(1.5rem, 1.2572815534rem + 0.6472491909vw, 2.5rem);
}

figure.message_img img {
  width: 100%;
}

.message_name {
  font-size: clamp(1.6rem, 1.5514563107rem + 0.1294498382vw, 1.8rem);
  line-height: 1.4;
  font-weight: 500;
  margin-top: clamp(1rem, 0.8786407767rem + 0.3236245955vw, 1.5rem);
}

.message_name_s {
  font-size: clamp(1.2rem, 1.1514563107rem + 0.1294498382vw, 1.4rem);
  font-family: Arial, sans-serif;
  margin-right: 10px;
}

.text_message {
  margin-top: clamp(2rem, 1.8786407767rem + 0.3236245955vw, 2.5rem);
}

/* .body-page-detail-top footer.main-footer {
  margin-top: clamp(6rem, 4.544rem + 3.883vw, 12rem);
}

.body-page-detail-topbk footer.main-footer {
  margin-top: clamp(6rem, 4.544rem + 3.883vw, 12rem);
} */


/*4.27.追加コンテンツ用css*/
/*point*/
.point {
  border-top: 20px solid #000000;
}

.point_h3 {
  margin-top: clamp(4rem, 2.9077669903rem + 2.9126213592vw, 8.5rem);
}

.point_list {
  margin-top: clamp(2rem, 1.5145631068rem + 1.2944983819vw, 4rem);
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
  gap: clamp(2rem, 1.2718446602rem + 1.9417475728vw, 5rem);
}

@media only screen and (max-width: 559px) {
  .point_list {
    grid-template-columns: repeat(auto-fill, minmax(135px, 1fr));
    row-gap: 40px;
  }
}

.point_item a {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  cursor: auto;
}

.point_item a:hover {
  opacity: 1;
}

.point_img {
  position: relative;
  width: clamp(13rem, 11.786407767rem + 3.2362459547vw, 18rem);
}

.point_num {
  position: absolute;
  top: -2.5rem;
  left: 0;
  color: #000000;
  font-size: clamp(4rem, 3.5145631068rem + 1.2944983819vw, 6rem);
  font-family: Arial, sans-serif;
}

@media only screen and (max-width: 559px) {
  .point_num {
    top: -1.5rem;
  }
}

.point_text {
  display: flex;
  align-items: center;
  font-size: clamp(1.3rem, 1.0815533981rem + 0.5825242718vw, 2.2rem);
  font-weight: 900;
  text-align: center;
  color: #637373;
  line-height: 1.3;
  letter-spacing: 0.05em;
  height: clamp(3.2rem, 2.7388349515rem + 1.2297734628vw, 5.1rem);
}

.point_arrow {
  width: 4.2rem;
}

.point_modal_name {
  font-size: clamp(3rem, 2.4174757282rem + 1.5533980583vw, 5.4rem);
  text-align: center;
  font-family: Arial, sans-serif;
  line-height: 1;
}

.point_modal_num {
  font-size: clamp(5rem, 4.3203883495rem + 1.8122977346vw, 7.8rem);
  color: #000000;
  text-align: center;
  line-height: 1;
}

.point_modal_title {
  font-size: clamp(2rem, 1.854368932rem + 0.3883495146vw, 2.6rem);
  text-align: center;
  line-height: 1.3;
  letter-spacing: 0.05em;
  color: #637373;
  font-weight: 900;
  margin-top: 1.5rem;
}

.point_modal_text {
  line-height: 1.75;
  margin-top: clamp(2.5rem, 2.1359223301rem + 0.9708737864vw, 4rem);
}

.point_modal_img {
  margin-top: clamp(1.5rem, 1.1359223301rem + 0.9708737864vw, 3rem);
}

/*remodal調整*/
.remodal-close {
  right: 0;
  left: auto;
  width: 50px;
  height: 50px;
  color: #000000;
}

.remodal-close::before {
  left: auto;
  right: 10px;
  top: 20px;
  font-size: clamp(5rem, 4.2718446602rem + 1.9417475728vw, 8rem);
  width: 50px;
  height: 50px;
}

.remodal {
  padding-top: clamp(6rem, 5.0291262136rem + 2.5889967638vw, 10rem);
  padding-bottom: clamp(6rem, 5.0291262136rem + 2.5889967638vw, 10rem);
  padding-left: clamp(3rem, 0.6941747573rem + 6.1488673139vw, 12.5rem);
  padding-right: clamp(3rem, 0.6941747573rem + 6.1488673139vw, 12.5rem);
}

/*schedule*/
.schedule {
  border-top: 20px solid #000000;
}

.scheduleArea {
  margin-top: clamp(4rem, 2.9077669903rem + 2.9126213592vw, 8.5rem);
  margin-left: 15%;
  padding-right: 30px;
  overflow: auto;
  overflow-x: scroll;
}

.schedule_img {
  width: 2650px;
}

@media only screen and (max-width: 559px) {
  .schedule_img {
    width: 1990px;
  }
}

.schedule_img img {
  width: 90%;
}

@media only screen and (max-width: 559px) {
  .schedule_img img {
    width: 100%;
  }
}

/*sample contents*/
.sample {
  border-top: 20px solid #000000;
}

.sample .swiper-slide {
  opacity: 0.3;
  transform: scale(0.8);
  transition: 0.7s;
}

.sample .swiper-slide iframe {
  aspect-ratio: 700/400;
  width: 100%;
}

.sample .swiper-slide-active {
  opacity: 1;
  transform: scale(1);
  z-index: 1;
}

.sample .swiper-button-prev {
  top: 50%;
}

.sample .swiper-button-next {
  top: 50%;
}

.swiper-button-next::after,
.swiper-rtl .swiper-button-prev::after {
  content: none;
}

/* 前へ次への矢印カスタマイズ */
.swiper-button-prev,
.swiper-button-next {
  width: 50px;
  height: 50px;
}

/* 前へ次への矢印カスタマイズ */
.swiper-button-prev::after,
.swiper-button-next::after {
  width: 50px;
  height: 50px;
  margin: auto;
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
}

/* 前への矢印カスタマイズ */
.swiper-button-prev::after {
  background-image: url("../img/icon-arrowL.png");
}

/* 次への矢印カスタマイズ */
.swiper-button-next::after {
  background-image: url("../img/icon-arrowR.png");
}

.swiper-button-next {
  top: 44%;
  right: 15%;
}

@media only screen and (max-width: 559px) {
  .swiper-button-next {
    right: 0;
  }
}

.swiper-button-prev {
  top: 44%;
  left: 15%;
}

@media only screen and (max-width: 559px) {
  .swiper-button-prev {
    left: 0;
  }
}

.sample_slider {
  margin-top: clamp(4rem, 2.9077669903rem + 2.9126213592vw, 8.5rem);
}

.sample_text {
  font-size: clamp(1.6rem, 1.5029126214rem + 0.2588996764vw, 2rem);
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-top: clamp(2rem, 1.5145631068rem + 1.2944983819vw, 4rem);
  text-align: center;
}

/*voice*/
.voice {
  border-top: 20px solid #000000;
}

.voice_slide {
  margin-top: clamp(4rem, 2.9077669903rem + 2.9126213592vw, 8.5rem);
}

.voice_box {
  background-color: #FFEADB;
  border: 2px solid #000000;
  padding-top: clamp(2rem, 1.5145631068rem + 1.2944983819vw, 4rem);
  padding-bottom: clamp(2rem, 1.5145631068rem + 1.2944983819vw, 4rem);
  padding-left: clamp(2rem, 1.2718446602rem + 1.9417475728vw, 5rem);
  padding-right: clamp(2rem, 1.2718446602rem + 1.9417475728vw, 5rem);
  width: 26.0416666667vw;
  margin-left: auto;
  margin-right: auto;
}

.voice_btn {
  margin-top: 40px;
}

.voice_btn a {
  position: relative;
  display: block;
  background-color: #000000;
  color: #fff;
  font-size: 18px;
  text-align: center;
  font-weight: bold;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  padding: 15px 60px;
}

.voice_btn a::after {
  content: '';
  width: 20px;
  height: 20px;
  background-image: url(../img/voice_btn_arrow.png);
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  background-size: contain;
  background-repeat: no-repeat;
}

@media only screen and (max-width: 559px) {
  .voice_box {
    width: 100%;
  }
}

.voice_title {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.voice_img {
  width: clamp(4.5rem, 3.9417475728rem + 1.4886731392vw, 6.8rem);
}

.voice_name {
  font-size: clamp(1.8rem, 1.7514563107rem + 0.1294498382vw, 2rem);
  font-weight: 500;
  letter-spacing: 0.05em;
}

.voice_area {
  margin-top: 1.5rem;
}

.voice_text {
  font-size: 1.4rem;
  line-height: 1.75;
  letter-spacing: 0.05em;
}

.voice .swiper-button-next {
  right: 33%;
}

@media only screen and (max-width: 1500px) {
  .voice .swiper-button-next {
    right: 31%;
  }
}

@media only screen and (max-width: 559px) {
  .voice .swiper-button-next {
    right: -2%;
  }
}

.voice .swiper-button-prev {
  left: 34%;
}

@media only screen and (max-width: 559px) {
  .voice .swiper-button-prev {
    left: 4%;
  }
}

/*supporter*/
.supporter {
  border-top: 20px solid #000000;
}

.supporter_flex {
  display: flex;
  gap: clamp(4rem, 2.5436893204rem + 3.8834951456vw, 10rem);
  margin-top: clamp(4rem, 2.9077669903rem + 2.9126213592vw, 8.5rem);
}

@media only screen and (max-width: 559px) {
  .supporter_flex {
    flex-direction: column;
  }
}

.supporter_area {
  width: calc((100% - clamp(4rem, 2.5436893204rem + 3.8834951456vw, 10rem)) / 2);
}

@media only screen and (max-width: 559px) {
  .supporter_area {
    width: 100%;
  }
}

.supporter_img img {
  width: 100%;
}

.supporter_int {
  margin-top: clamp(1.5rem, 1.2572815534rem + 0.6472491909vw, 2.5rem);
  text-align: center;
}

.supporter_title {
  font-size: clamp(1.6rem, 1.454368932rem + 0.3883495146vw, 2.2rem);
  font-weight: 700;
  color: #637373;
  line-height: 1;
  text-align: center;
}

.supporter_name {
  font-size: clamp(1.6rem, 1.454368932rem + 0.3883495146vw, 2.2rem);
  font-weight: 700;
  margin-top: clamp(0.5rem, 0.2572815534rem + 0.6472491909vw, 1.5rem);
  line-height: 1;
  text-align: center;
}

.supporter_b {
  font-size: clamp(2.2rem, 1.9572815534rem + 0.6472491909vw, 3.2rem);
  margin-left: 0.5rem;
}

.supporter_box {
  margin-top: clamp(2rem, 1.5145631068rem + 1.2944983819vw, 4rem);
}

.supporter_h3 {
  font-size: clamp(1.8rem, 1.7029126214rem + 0.2588996764vw, 2.2rem);
  font-weight: 700;
  color: #000000;
  font-family: Arial, sans-serif;
  text-align: center;
  display: flex;
  align-items: center;
}

.supporter_h3::before,
.supporter_h3::after {
  content: "";
  background-color: #000000;
  height: 1px;
  flex-grow: 1;
}

.supporter_h3::before {
  margin-right: 1rem;
}

.supporter_h3::after {
  margin-left: 1rem;
}

/* footer.main-footer {
  margin-top: clamp(6rem, 4.544rem + 3.883vw, 12rem);
} */

.page-detail-under .content-header .page-header {
  color: #000;
  font-size: clamp(2.4rem, 1.4776699029rem + 2.4595469256vw, 6.2rem);
  font-weight: 700;
  line-height: 1.5;
}

.content-header {
  background-color: #000000;
  height: 30vw;
  border: none;
}

@media only screen and (min-width: 769px) {
  .content-header {
    height: 12.5vw;
  }
}

header.top {
  position: static;
}

.page_br {
  display: block;
  text-align: center;
}

.content-header h1 {
  margin: 0 auto;
  padding-left: 0;
}
