@charset "UTF-8";
/* **************************************


     追加


***************************************/
/*最小値:$value+0.2 → 可変（$value + 0.625vw（画面幅320px:2px, 800px:5px, 1200px:7.5px,2560px:12px））→ 最大値:$value + 1.2*/
/* =============================================================================


     index


============================================================================= */
.mv {
  width: 100%;
}

.mv img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top;
     object-position: top;
  width: 100%;
  width: 100%;
}

.mv-img {
  display: block;
  width: 100%;
}

/* =============================================================================


     about


============================================================================= */
.about-ttl {
  gap: 1em;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: linear-gradient(62.09603deg, #2974aa 36.52344%, #00adb5 81.67415%);
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(2.4rem, calc(2.2rem + (0.625vw * 1)), 3.4rem);
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  line-height: 1.2;
  padding: 20px 0;
}

.about-ttl span {
  font-size: clamp(6.4rem, calc(6.2rem + (0.625vw * 1)), 7.4rem);
}

.about-start {
  margin: auto;
  max-width: 1280px;
  padding-top: 120px;
  position: relative;
}

.about-start:before {
  background: #fff;
  -webkit-clip-path: polygon(100% 0, 0 0, 50% 100%);
          clip-path: polygon(100% 0, 0 0, 50% 100%);
  content: "";
  height: 200px;
  left: 50%;
  position: absolute;
  top: calc(100% - 1px);
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100vw;
  z-index: 3;
}

.about-head {
  font-size: clamp(3.2rem, calc(3rem + (0.625vw * 1)), 4.2rem);
  font-weight: bold;
  margin-top: 40px;
  text-align: center;
}

.about-head span {
  background: transparent url(../asset/images/top/border_y.svg) no-repeat bottom center/contain;
  font-size: clamp(3.8rem, calc(3.6rem + (0.625vw * 1)), 4.8rem);
}

.about-container {
  margin: auto;
  max-width: 1180px;
  padding: 50px 0;
  /*   padding: 100px 0; */
  /*   padding-top: 300px; */
  position: relative;
  z-index: 2;
  /*   &:before {
    z-index: -1;
    content: "";
    position: absolute;
    top: 0%;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    height: calc(100% + 30vw);
    min-height: calc(100% + 150px);
    background: transparent url(../asset/images/top/about-bg.jpg) no-repeat top center / cover;
  } */
}

.about-areas {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #193f7c;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: auto;
  max-width: 80%;
  padding: 20px 0;
}

.about-area {
  color: #f1e533;
  font-size: clamp(2.9rem, calc(2.7rem + (0.625vw * 1)), 3.9rem);
  font-weight: bold;
  text-align: center;
  width: 33%;
}

.about-area + .about-area {
  border-left: 1px solid #f1e533;
}

.about-list {
  gap: 30px 20px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: auto;
  margin-top: 60px;
}

.about-item {
  width: calc(33.3333% - ((20px * 2) / 3));
}

/* =============================================================================


     .worry


============================================================================= */
.worry-ttl {
  background: #193f7c;
  color: #fff;
  font-size: clamp(3.2rem, calc(3rem + (0.625vw * 1)), 4.2rem);
  font-weight: bold;
  position: relative;
  text-align: center;
}

.worry-ttl span {
  color: #f1e533;
  font-size: clamp(3.6rem, calc(3.4rem + (0.625vw * 1)), 4.6rem);
}

.worry-ttl:before {
  background: #193f7c;
  -webkit-clip-path: polygon(100% 0, 0 0, 50% 100%);
          clip-path: polygon(100% 0, 0 0, 50% 100%);
  content: "";
  height: 25px;
  left: 50%;
  position: absolute;
  top: calc(100% - 1px);
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 50px;
}

.worry-list {
  gap: 100px 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin: 120px auto 0;
  max-width: 1280px;
  position: relative;
  z-index: 1;
}

.worry-list:after {
  background: repeating-linear-gradient(-45deg, #fff, #fff 10px, transparent 10px, transparent 20px);
}

.worry-list:before, .worry-list:after {
  content: "";
  height: calc(100% - 100px);
  left: 50%;
  position: absolute;
  top: 0%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100vw;
  z-index: -1;
}

.worry-list:before {
  background: -webkit-gradient(linear, left bottom, left top, from(#eef3ef), to(rgba(255, 255, 255, 0)));
  background: linear-gradient(0deg, #eef3ef 0%, rgba(255, 255, 255, 0) 100%);
}

.worry-item {
  position: relative;
  width: calc(33.333333% - (100px / 3));
}

.worry-item:before {
  content: "";
  left: 50%;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.worry-item-img {
  border: 12px solid #534741;
  position: relative;
}

.worry-item-img img {
  width: 100%;
}

.worry-item-img:before {
  background: transparent url(../asset/images/top/worry-icon.svg) no-repeat top center/contain;
  content: "";
  height: 52px;
  left: 50%;
  position: absolute;
  top: -25px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 52px;
}

.worry-item-txt {
  color: #534741;
  font-size: clamp(1.2rem, calc(1rem + (0.625vw * 1)), 2.2rem);
  margin-top: 1em;
  text-align: center;
}

.worry-head {
  -webkit-box-shadow: 5px 5px 5px #2319164d;
          box-shadow: 5px 5px 5px #2319164d;
  margin: 80px auto 0;
  max-width: 1280px;
  position: relative;
  z-index: 2;
}

.worry-head img {
  width: 100%;
}

.step-list {
  margin: 80px auto 0;
  max-width: 1280px;
  padding: 0 40px 40px;
  position: relative;
  z-index: 1;
  /*   &:before {
    z-index: -1;
    content: "";
    position: absolute;
    top: -100px;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    height: calc(100% + 100px);
    background: transparent url(../asset/images/top/worry-bg.png) no-repeat bottom center / cover;

    @include mq("sp") {
      background: transparent url(../asset/images/top/worry-bg_sp.png) no-repeat bottom center / cover;
    }
  } */
}

.step-item {
  background: #fff;
  border: 6px solid #193f7c;
  border-radius: 45px;
  -webkit-box-shadow: 5px 5px 5px #23191680;
          box-shadow: 5px 5px 5px #23191680;
  font-size: clamp(2.1rem, calc(1.9rem + (0.625vw * 1)), 3.1rem);
  padding: 20px;
  position: relative;
  text-align: center;
}

.step-item + .step-item {
  margin-top: 80px;
}

.step-item span {
  font-size: 110%;
  font-weight: bold;
}

.step-item:before {
  background: transparent url(../asset/images/top/arrow.svg) no-repeat top center/contain;
  content: "";
  height: 30px;
  left: 50%;
  position: absolute;
  top: calc(100% + 40px);
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 50px;
}

.step-en {
  background: rgba(255, 255, 255, 0.7);
  font-family: "Noto Serif JP", serif;
  font-size: clamp(3.2rem, calc(3rem + (0.625vw * 1)), 4.2rem);
  font-weight: bold;
  margin: 80px auto 0;
  max-width: 1180px;
  padding: 80px 20px;
  position: relative;
  text-align: center;
}

.step-en span {
  color: #ec8e26;
  font-size: clamp(3.9rem, calc(3.7rem + (0.625vw * 1)), 4.9rem);
}

.step-en:before {
  border-left: 20px solid #193f7c;
  border-top: 20px solid #193f7c;
  content: "";
  height: 120px;
  left: 20px;
  position: absolute;
  top: 20px;
  width: 120px;
}

.step-en:after {
  border-bottom: 20px solid #193f7c;
  border-right: 20px solid #193f7c;
  bottom: 20px;
  content: "";
  height: 120px;
  position: absolute;
  right: 20px;
  width: 120px;
}

.fin {
  margin: auto;
  margin-top: 40px;
  max-width: 1200px;
  padding-bottom: 120px;
  position: relative;
  z-index: 1;
}

.fin-txt {
  position: absolute;
  right: 40%;
  top: -110px;
  width: 360px;
  z-index: 1;
}

.fin-img {
  position: absolute;
  right: 0;
  top: -200px;
  width: 540px;
}

.fin-headbox {
  font-family: "Noto Serif JP", serif;
  margin-left: 200px;
  position: relative;
}

.fin-head {
  background: #193f7c;
  color: #fff;
  display: inline;
  font-size: clamp(5.4rem, calc(5.2rem + (0.625vw * 1)), 6.4rem);
  font-weight: bold;
}

.fin-head span {
  color: #f1e533;
}

.fin-en {
  position: absolute;
  right: -130px;
  top: 200px;
  width: 400px;
  z-index: 1;
}

.fin-figure {
  margin: auto;
  margin-top: 100px;
  position: relative;
  z-index: 1;
}

/* =============================================================================


     pro


============================================================================= */
.pro {
  padding-bottom: 160px;
  position: relative;
  z-index: 1;
}

.pro:before, .pro:after {
  -webkit-clip-path: polygon(100% 0, 100% calc(100% - 200px), 50% 100%, 0 calc(100% - 200px), 0 0);
          clip-path: polygon(100% 0, 100% calc(100% - 200px), 50% 100%, 0 calc(100% - 200px), 0 0);
  content: "";
  height: 100%;
  left: 50%;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 100%;
  z-index: -1;
}

.pro:before {
  background: transparent url(../asset/images/top/flow-bg02.svg) repeat top center/contain;
  opacity: 1;
}

.pro:after {
  background: transparent -webkit-gradient(linear, left bottom, left top, from(#fff0), color-stop(6%, #ffffff15), color-stop(19%, #ffffff4a), color-stop(36%, #ffffff9f), color-stop(55%, #fff)) 0% 0% no-repeat padding-box;
  background: transparent linear-gradient(0deg, #fff0 0%, #ffffff15 6%, #ffffff4a 19%, #ffffff9f 36%, #fff 55%) 0% 0% no-repeat padding-box;
}

.pro-ttlbox {
  background: #193f7c;
  font-family: "Noto Serif JP", serif;
  position: relative;
  text-align: center;
}

.pro-ttlbox img {
  bottom: 100%;
  position: absolute;
  right: 100%;
  width: 180px;
}

.pro-ttl {
  color: #fff;
  display: inline-block;
  font-size: clamp(2.4rem, calc(2.2rem + (0.625vw * 1)), 3.4rem);
  font-weight: bold;
  padding: 0.5em 0;
  position: relative;
  text-align: center;
}

.pro-ttl span {
  color: #f1e533;
  font-size: clamp(3.4rem, calc(3.2rem + (0.625vw * 1)), 4.4rem);
}

.dakara-container {
  overflow: hidden;
}

.dakara-ttlbox {
  margin-top: 20px;
  text-align: center;
}

.dakara-ttl {
  color: #4d4d4d;
  display: inline-block;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(3rem, calc(2.8rem + (0.625vw * 1)), 4rem);
  padding-top: 100px;
  position: relative;
}

.dakara-ttl img {
  position: absolute;
  right: 90%;
  top: 0;
  width: 330px;
}

.dakara-ttl > span {
  color: #193f7c;
  font-size: clamp(3.8rem, calc(3.6rem + (0.625vw * 1)), 4.8rem);
}

.dakara-ttl span.dakara-spnabox {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(40%, #fff000));
  background: linear-gradient(transparent 60%, #fff000 40%);
  color: #e45927;
}

.dakara-ttl span.dakara-spnabox span {
  background-image: radial-gradient(circle at center, #e45927 20%, transparent 20%);
  /* 点の色とサイズ調整 */
  background-position: top right;
  /* 点の位置 */
  background-repeat: repeat-x;
  /* 横方向に繰り返し */
  background-size: 1em 0.4em;
  /* 点の間隔とサイズ調整 */
  padding-top: 0.2em;
  /* 縦方向の位置調整 */
}

.dakara-figure {
  margin: 100px auto 0;
  max-width: 880px;
}

.dakara-txtbox {
  padding: 100px 0 0;
  position: relative;
  text-align: center;
}

.dakara-txtbox img {
  position: absolute;
  right: 90%;
  top: -100px;
  width: 140px;
}

/* 
.dakara-txt {
  display: inline;
  background: #193f7c;
  color: #fff;
  font-size: fs(3.7rem);
  font-weight: bold;
  text-align: center;
  position: relative;
  span {
    color: #eee93b;
  }

  @include mq("sp") {
    font-size: fs(2.8rem);
  }
} */
.dakara-txt {
  background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(40%, #f1e533));
  background: linear-gradient(transparent calc(100% - 40%), #f1e533 40%);
  color: #193f7c;
  display: inline;
  font-size: clamp(3.9rem, calc(3.7rem + (0.625vw * 1)), 4.9rem);
  font-weight: bold;
  letter-spacing: 2px;
  position: relative;
  text-align: center;
}

.dakara-txt span.sm {
  font-size: 75%;
}

.dakara-txt span.cr {
  color: #ec8e26;
}

.dakara-itemlist {
  margin: 80px auto 0;
}

.dakara-item {
  color: #fff;
  font-size: clamp(3.6rem, calc(3.4rem + (0.625vw * 1)), 4.6rem);
  font-weight: bold;
  margin: 28px auto 0;
  max-width: 700px;
  padding: 0.25em;
  position: relative;
  text-align: center;
  z-index: 1;
}

.dakara-item span {
  border: 2px solid #fff;
  display: inline-block;
  width: 100%;
}

.dakara-item:before {
  background: #183f7c;
  -webkit-box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.3);
          box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.3);
  content: "";
  height: calc(100%);
  left: 50%;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: calc(100%);
  z-index: -1;
}

.dakara-en {
  bottom: 300px;
  color: #fff;
  font-family: "Josefin Sans", "Noto Sans JP", sans-serif;
  font-size: clamp(21.4rem, calc(21.2rem + (0.625vw * 1)), 22.4rem);
  font-weight: bold;
  left: 0;
  line-height: 1;
  opacity: 0.5;
  position: absolute;
}

.dareka-docobox {
  margin: 40px auto;
  max-width: 860px;
}

.dakara-doko {
  color: #193f7c;
  margin: 40px 0;
  position: relative;
}

.dakara-doko span {
  background: #fff;
  display: inline-block;
  font-size: clamp(3.6rem, calc(3.4rem + (0.625vw * 1)), 4.6rem);
  font-weight: bold;
  padding: 0 0.25em;
}

.dakara-doko:before {
  background: #fff;
  -webkit-clip-path: polygon(0 0, 100% 100%, 100% 0);
          clip-path: polygon(0 0, 100% 100%, 100% 0);
  content: "";
  height: 20px;
  left: 20%;
  position: absolute;
  top: 100%;
  width: 40px;
}

.dakara-doko._dare {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.dakara-doko._dare:before {
  -webkit-clip-path: polygon(0 0, 0 100%, 100% 0);
          clip-path: polygon(0 0, 0 100%, 100% 0);
  left: 40%;
}

/* =============================================================================


     style


============================================================================= */
.style {
  padding: 20px 0 40px;
  position: relative;
  text-align: center;
  /*   &:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: transparent url(../asset/images/top/style-bg.png) no-repeat top center / cover;
    width: 100%;
    height: calc(100% + 500px);

    @include mq("sp") {
      height: calc(100% + 300px);
      background: transparent url(../asset/images/top/style-bg_sp.png) no-repeat top center / cover;
    }
  } */
}

.style-span {
  background: #183f7c;
  color: #fff;
  display: inline-block;
  font-size: clamp(2.4rem, calc(2.2rem + (0.625vw * 1)), 3.4rem);
  font-weight: bold;
  margin-bottom: 30px;
  padding: 0.25em 1.5em;
  position: relative;
  /*   &:before,
  &:after {
    font-size: inherit;
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 1em;
    background: transparent url(../asset/images/common/txt_deco02.svg) no-repeat center center / contain;
    height: 1em;
  }

  &:before {
    left: 0;
    transform: translateY(-50%) scale(-1, 1);
  }

  &:after {
    right: 0;
  } */
}

.style-span:after {
  background: inherit;
  -webkit-clip-path: polygon(100% 0, 0 0, 50% 100%);
          clip-path: polygon(100% 0, 0 0, 50% 100%);
  content: "";
  height: 20px;
  left: 50%;
  position: absolute;
  top: calc(100% - 1px);
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 20px;
}

.style-span span {
  font-size: 80%;
}

.style-fin-txt {
  background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(40%, #f1e533));
  background: linear-gradient(transparent calc(100% - 40%), #f1e533 40%);
  display: inline;
  font-size: clamp(4.4rem, calc(4.2rem + (0.625vw * 1)), 5.4rem);
  font-weight: bold;
  margin-bottom: 20px;
}

.style-head {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(4.4rem, calc(4.2rem + (0.625vw * 1)), 5.4rem);
  font-weight: bold;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  line-height: 1.6;
}

.style-head > ._b1 {
  background: transparent url(../asset/images/top/style_b01.svg) no-repeat bottom center/contain;
}

.style-head > ._b2 {
  background: transparent url(../asset/images/top/style_b02.svg) no-repeat bottom center/contain;
}

.style-arrow {
  background: #193f7c;
  -webkit-clip-path: polygon(100% 0, 0 0, 50% 100%);
          clip-path: polygon(100% 0, 0 0, 50% 100%);
  color: #fff;
  display: inline-block;
  font-size: clamp(2.4rem, calc(2.2rem + (0.625vw * 1)), 3.4rem);
  font-weight: bold;
  height: 3em;
  margin: 60px auto 40px;
  text-align: center;
  width: 5em;
}

.style-fin {
  /*   display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  flex-direction: column; */
  font-size: clamp(2.2rem, calc(2rem + (0.625vw * 1)), 3.2rem);
  font-weight: bold;
  margin-top: 20px;
  text-align: center;
}

.style-fin span.bg {
  background: transparent url(../asset/images/common/nami_b.svg) repeat-x bottom center/1em;
  font-size: clamp(3.6rem, calc(3.4rem + (0.625vw * 1)), 4.6rem);
  padding-bottom: 0.1em;
  position: relative;
}

.style-fin span {
  font-size: clamp(2.6rem, calc(2.4rem + (0.625vw * 1)), 3.6rem);
}

/* =============================================================================


     point


============================================================================= */
.point {
  padding: 60px 0 120px 0;
}

.point-content {
  gap: 10%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin-top: 20px;
}

.point-content + .point-content {
  margin-top: 120px;
}

.point-content:nth-of-type(2n) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  position: relative;
}

.point-content:nth-of-type(2n):before {
  background: transparent url(../asset/images/top/point-bg.svg) repeat top center/contain;
  content: "";
  height: 100%;
  left: 50%;
  opacity: 0.4;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 100vw;
}

.point-img {
  /*   width: 60%; */
  position: relative;
  width: 50%;
  z-index: 1;
}

.point-img img {
  width: 100%;
}

.point-enbox {
  background: #f5f5f5;
  bottom: -5%;
  -webkit-clip-path: polygon(25% 0%, 100% 0%, 75% 100%, 0% 100%);
          clip-path: polygon(25% 0%, 100% 0%, 75% 100%, 0% 100%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  left: -70%;
  position: absolute;
  text-align: left;
  width: 100%;
  z-index: -1;
}

.point-content:nth-of-type(2n) .point-enbox {
  background: #fff;
  -webkit-clip-path: polygon(0 0, 75% 0, 100% 100%, 25% 100%);
          clip-path: polygon(0 0, 75% 0, 100% 100%, 25% 100%);
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  left: auto;
  right: -70%;
}

.point-content:nth-of-type(2n) .point-enbox .point-en {
  color: #edf0f5;
  font-family: "Josefin Sans", "Noto Sans JP", sans-serif;
  font-weight: bold;
  padding-left: 0;
  padding-right: 10%;
}

.point-enbox .point-en {
  color: #fff;
  display: inline-block;
  font-size: clamp(6.9rem, calc(6.7rem + (0.625vw * 1)), 7.9rem);
  font-weight: bold;
  line-height: 1;
  margin-top: auto;
  padding-left: 10%;
  text-align: center;
}

.point-enbox .point-en span {
  display: block;
  font-size: clamp(11.4rem, calc(11.2rem + (0.625vw * 1)), 12.4rem);
  line-height: 1;
}

.point-txtbox {
  position: relative;
  z-index: 2;
}

.point-ttl {
  font-size: clamp(3.4rem, calc(3.2rem + (0.625vw * 1)), 4.4rem);
  font-weight: bold;
}

.point-txt {
  font-size: clamp(1.9rem, calc(1.7rem + (0.625vw * 1)), 2.9rem);
  font-weight: bold;
  margin-top: 8px;
}

/* =============================================================================


     voice


============================================================================= */
.voice {
  padding-bottom: 120px;
  padding-top: 50px;
  position: relative;
}

.voice:after {
  background: #dde2eb;
  bottom: 0;
  content: "";
  height: calc(100% - 10vw);
  left: 50%;
  position: absolute;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100%;
}

.voice:before {
  background: #dde2eb;
  border-radius: 50%;
  content: "";
  height: 40vw;
  left: 50%;
  position: absolute;
  top: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 50vw;
}

.voice-ttlbox {
  position: relative;
  text-align: center;
  z-index: 1;
}

.voice-ttlbox span {
  font-family: "Josefin Sans", "Noto Sans JP", sans-serif;
  font-size: clamp(2.4rem, calc(2.2rem + (0.625vw * 1)), 3.4rem);
  font-weight: bold;
  font-weight: bold;
  line-height: 1;
  padding: 0 1em;
  position: relative;
}

.voice-ttlbox span:before, .voice-ttlbox span:after {
  background: transparent url(../asset/images/top/text-deco01.svg) no-repeat center center/contain;
  content: "";
  font-size: inherit;
  height: 1em;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 0.5em;
}

.voice-ttlbox span:before {
  left: 0;
  -webkit-transform: translateY(-50%) scale(-1, 1);
          transform: translateY(-50%) scale(-1, 1);
}

.voice-ttlbox span:after {
  right: 0;
}

.voice-ttl {
  font-size: clamp(4rem, calc(3.8rem + (0.625vw * 1)), 5rem);
  font-weight: bold;
  position: relative;
  text-align: center;
  z-index: 1;
}

.voice-contents {
  gap: 20%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: auto;
  margin-top: 120px;
  max-width: 1200px;
  position: relative;
  z-index: 1;
}

.voice-people {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  width: 20%;
}

.voice-name {
  font-size: clamp(1.8rem, calc(1.6rem + (0.625vw * 1)), 2.8rem);
  font-weight: bold;
  margin-top: 10px;
  text-align: center;
}

.voice-people-txt {
  -webkit-text-orientation: mixed;
  -ms-writing-mode: tb-rl;
  border-left: 1px solid #193f7c;
  font-family: "Josefin Sans", "Noto Sans JP", sans-serif;
  font-size: clamp(2.4rem, calc(2.2rem + (0.625vw * 1)), 3.4rem);
  font-weight: bold;
  font-weight: bold;
  height: 7em;
  margin-top: auto;
  text-orientation: mixed;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}

.voice-txtbox {
  background: #fff;
  padding: 60px;
  position: relative;
  width: 60%;
  z-index: 1;
}

.voice-txtbox img {
  width: 100%;
}

.voice-txtbox:before {
  background: #fff;
  -webkit-clip-path: polygon(0 50%, 100% 100%, 100% 0);
          clip-path: polygon(0 50%, 100% 100%, 100% 0);
  content: "";
  height: 40px;
  position: absolute;
  right: 100%;
  top: 10%;
  width: 40px;
  z-index: -1;
}

/* =============================================================================


     flow


============================================================================= */
.flow {
  overflow: hidden;
  padding: 120px 0;
  position: relative;
  z-index: 1;
  /*   &:before {
    z-index: -1;
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 1400px;
    height: 100%;
    background: transparent url(../asset/images/top/flow-bg.png) no-repeat 90% center / contain;
  } */
}

.flow:after {
  background: transparent url(../asset/images/top/flow-bg02.svg) repeat top center/contain;
  content: "";
  height: 100%;
  left: 50%;
  opacity: 0.3;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 100%;
  z-index: -1;
}

.flow-ttlbox {
  position: relative;
  text-align: center;
  z-index: 1;
}

.flow-ttlbox img {
  font-size: clamp(9rem, calc(8.8rem + (0.625vw * 1)), 10rem);
  left: calc(50% + 2.5em);
  max-width: 850px;
  mix-blend-mode: multiply;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 6em;
}

.flow-ttl {
  font-size: clamp(4rem, calc(3.8rem + (0.625vw * 1)), 5rem);
  font-weight: bold;
  position: relative;
  text-align: center;
  z-index: 1;
}

.flow-list {
  margin: 100px auto 0;
  max-width: 1200px;
}

.flow-item {
  background: #fff;
  -webkit-box-shadow: 2px 2px 2px #2319164d;
          box-shadow: 2px 2px 2px #2319164d;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 12px;
  position: relative;
  width: 66.666666%;
}

.flow-item:nth-of-type(2n) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  margin-left: auto;
}

.flow-item + .flow-item {
  margin-top: 32px;
}

.flow-item._fin {
  background: linear-gradient(62.09603deg, #00adb5 36.52344%, #2974aa 81.67415%);
  color: #fff;
  margin: 60px auto 0;
}

.flow-item-num {
  left: -20px;
  position: absolute;
  top: -50px;
  width: clamp(180px, 20vw, 260px);
}

.flow-item:nth-of-type(2n) .flow-item-num {
  left: auto;
  right: -20px;
}

.flow-item-img {
  width: 50%;
}

.flow-item-img img {
  width: 100%;
}

.flow-item-txt {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  font-size: clamp(2.4rem, calc(2.2rem + (0.625vw * 1)), 3.4rem);
  font-weight: bold;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0 12px;
  position: relative;
  text-align: center;
  width: 50%;
}

.flow-item-txt._fin:before {
  display: none;
}

.flow-item-txt._fin img {
  display: block;
  left: calc(100% - 40%);
  mix-blend-mode: multiply;
  position: absolute;
  top: calc(100% - 20%);
  width: clamp(200px, 30vw, 600px);
}

.flow-item-txt:before {
  background: #193f7c;
  -webkit-box-shadow: 2px 2px 2px #2319164d;
          box-shadow: 2px 2px 2px #2319164d;
  -webkit-clip-path: polygon(100% 0, 0 0, 50% 100%);
          clip-path: polygon(100% 0, 0 0, 50% 100%);
  content: "";
  height: 28px;
  left: 50%;
  position: absolute;
  top: 100%;
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 54px;
}

/* =============================================================================


     qa


============================================================================= */
.qa {
  padding: 80px 0;
}

.qa-ttlbox {
  font-size: clamp(4rem, calc(3.8rem + (0.625vw * 1)), 5rem);
  font-weight: bold;
  line-height: 1;
  position: relative;
  text-align: center;
  z-index: 1;
}

.qa-ttlbox span {
  color: #e8ecf2;
  font-family: "Josefin Sans", "Noto Sans JP", sans-serif;
  font-size: 12rem;
  font-weight: 600;
  height: 100%;
  left: 50%;
  max-width: 120%;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: -1;
}

.qa-container {
  margin: 120px auto 0;
}

.qa-item {
  border-radius: 20px;
  -webkit-box-shadow: 2px 2px 2px #2319164d;
          box-shadow: 2px 2px 2px #2319164d;
  overflow: hidden;
}

.qa-item + .qa-item {
  margin-top: 54px;
}

.qa-item-ttl {
  cursor: pointer;
  margin: 0;
  position: relative;
  text-align: justify;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  /* そのうち1本を縦にする */
  /* プラスアイコンクリック後、マイナスにする */
}

.qa-item-ttl:hover {
  opacity: 0.7;
}

.qa-item-ttl:before, .qa-item-ttl:after {
  background: #193f7c;
  content: "";
  display: block;
  height: 4px;
  position: absolute;
  right: 75px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  width: 35px;
}

.qa-item-ttl:before {
  -webkit-transform: translateY(-50%) rotate(90deg);
          transform: translateY(-50%) rotate(90deg);
}

.qa-item-ttl.on:before {
  -webkit-transform: translateY(-50%) rotate(0deg);
          transform: translateY(-50%) rotate(0deg);
}

.qa-item-txtbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  padding: 30px calc(70px + 50px) 30px 70px;
}

.qa-item-txtbox._q {
  background: #d1d9e5;
}

.qa-item-txtbox dt {
  font-family: "Josefin Sans", "Noto Sans JP", sans-serif;
  font-size: clamp(4.6rem, calc(4.4rem + (0.625vw * 1)), 5.6rem);
  font-weight: bold;
  line-height: 1;
  min-width: 2em;
  width: 2em;
}

.qa-item-txtbox dt._q {
  border-right: 4px solid #193f7c;
}

.qa-item-txtbox dt._a {
  color: #666766;
}

.qa-item-txtbox dd {
  font-size: clamp(2.8rem, calc(2.6rem + (0.625vw * 1)), 3.8rem);
  font-weight: bold;
  padding-left: 20px;
}

.qa-item-txtbox dd._a {
  color: #666766;
  font-size: clamp(1.6rem, calc(1.4rem + (0.625vw * 1)), 2.6rem);
}

.qa-item-content {
  display: none;
  position: relative;
  text-align: justify;
}

/* =============================================================================


     price


============================================================================= */
.price {
  position: relative;
}

.price-ttlbox {
  color: #fff;
  font-size: clamp(4rem, calc(3.8rem + (0.625vw * 1)), 5rem);
  font-weight: bold;
  padding: 80px 0 120px;
  position: relative;
  text-align: center;
  z-index: 1;
  z-index: 1;
}

.price-ttlbox img {
  font-size: clamp(9rem, calc(8.8rem + (0.625vw * 1)), 10rem);
  left: calc(50% + 1.5em);
  mix-blend-mode: multiply;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 4em;
}

.price-ttlbox:after {
  background: transparent radial-gradient(closest-side at 50% 50%, #4e6b9a 0%, #193f7c 100%) 0% 0% no-repeat padding-box;
  -webkit-clip-path: polygon(100% 0, 100% 70%, 50% 100%, 0 70%, 0 0);
          clip-path: polygon(100% 0, 100% 70%, 50% 100%, 0 70%, 0 0);
  content: "";
  height: 100%;
  left: 50%;
  position: absolute;
  top: 0%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100%;
  z-index: -1;
  z-index: -1;
}

.price-ttl {
  position: relative;
  z-index: 1;
}

.price-menu {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 40px;
  position: relative;
}

.price-menu:before {
  background: #000;
  content: "";
  height: 70%;
  left: 50%;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 1px;
}

.price-item {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  width: 50%;
}

.price-item-ttl {
  display: inline-block;
  font-size: clamp(3.4rem, calc(3.2rem + (0.625vw * 1)), 4.4rem);
  font-weight: bold;
  position: relative;
  text-align: center;
  z-index: 1;
}

.price-item-ttl:before {
  background: transparent url(../asset/images/top/border_y.svg) no-repeat bottom center/contain;
  content: "";
  height: 100%;
  left: 50%;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 100%;
  z-index: -1;
}

.price-span {
  margin-left: -24px;
  width: clamp(150px, 20vw, 240px);
}

.price-people {
  margin-bottom: 32px;
  margin-top: 20px;
  position: relative;
}

.price-people-item {
  color: #193f7c;
  font-size: clamp(2rem, calc(1.8rem + (0.625vw * 1)), 3rem);
  font-weight: bold;
  padding-left: 1.5em;
  position: relative;
  text-align: left;
}

.price-people-item:before {
  background: transparent url(../asset/images/top/check.svg) no-repeat top center/contain;
  content: "";
  font-size: inherit;
  height: 1em;
  left: 0;
  position: absolute;
  top: 0.5em;
  width: 1em;
}

.price-item-link {
  background: #193f7c;
  border-radius: 50%;
  -webkit-box-shadow: 3px 3px 3px #2319164d;
          box-shadow: 3px 3px 3px #2319164d;
  height: clamp(48px, 8vw, 100px);
  margin-top: auto;
  position: relative;
  width: clamp(48px, 8vw, 100px);
  z-index: 1;
}

.price-item-link:before {
  border-bottom: 3px solid #fff;
  border-right: 3px solid #fff;
  content: "";
  height: 40%;
  position: absolute;
  right: calc(50% - 8%);
  top: calc(50% - 15%);
  -webkit-transform: rotate(45deg) translateY(-50%);
          transform: rotate(45deg) translateY(-50%);
  width: 40%;
}

.cource {
  padding: 140px 0;
  position: relative;
}

.cource:before {
  background: transparent url(../asset/images/top/cource-bg.png) no-repeat top center/cover;
  content: "";
  height: calc(100% + clamp(24px, 4vw, 50px));
  left: 50%;
  position: absolute;
  top: clamp(-50px, -4vw, -24px);
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100vw;
}

.cource-contents {
  border-radius: 30px;
  padding: 60px 100px;
  position: relative;
  z-index: 1;
}

.cource-contents:before {
  background: #fff;
  border-radius: inherit;
  -webkit-box-shadow: 2px 2px 2px #2319164d;
          box-shadow: 2px 2px 2px #2319164d;
  content: "";
  height: calc(100% - clamp(30px, 10%, 75px));
  left: 50%;
  position: absolute;
  top: calc(60px + clamp(30px, 10%, 75px));
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100%;
  z-index: -1;
}

.cource-contents + .cource-contents {
  margin-top: 140px;
}

.cource-ttl {
  margin: auto;
  max-width: 900px;
  width: 70%;
}

.cource-head {
  font-size: clamp(2.4rem, calc(2.2rem + (0.625vw * 1)), 3.4rem);
  text-align: center;
}

.cource-head span {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(40%, #f1e533));
  background: linear-gradient(transparent 60%, #f1e533 40%);
  font-size: clamp(2.4rem, calc(2.2rem + (0.625vw * 1)), 3.4rem);
  font-weight: bold;
}

.cource-about {
  margin: 60px auto 0;
  max-width: 700px;
  min-width: 460px;
  width: 50%;
}

.cource-about._sub {
  max-width: 500px;
  min-width: 320px;
  width: 35%;
}

.cource-prices {
  gap: 26px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 40px;
}

.cource-pricebox {
  background: #f1e533;
  padding: 30px 20px;
  position: relative;
  text-align: center;
  width: calc(33.333333% - ((26px * 2) / 3));
  z-index: 1;
}

.cource-pricebox:before {
  background: #f6ee83;
  -webkit-clip-path: polygon(100% 100%, 0 0, 0 100%);
          clip-path: polygon(100% 100%, 0 0, 0 100%);
  content: "";
  height: 100%;
  left: 50%;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 100%;
  z-index: -1;
}

.cource-price-head {
  gap: 0.5em;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  background: #e45927;
  border-radius: 24px;
  color: #f1e533;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  font-weight: 900;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  line-height: 1.2;
  padding: 0.15em 1em;
}

.cource-price-head dt {
  font-size: clamp(1.6rem, calc(1.4rem + (0.625vw * 1)), 2.6rem);
}

.cource-price-head dt span {
  font-size: clamp(3.2rem, calc(3rem + (0.625vw * 1)), 4.2rem);
}

.cource-price-head dd {
  margin-bottom: 0.35em;
}

.cource-price {
  color: #e45927;
  font-size: clamp(4.4rem, calc(4.2rem + (0.625vw * 1)), 5.4rem);
  font-weight: 900;
  line-height: 1;
  margin-top: 16px;
  text-align: center;
}

.cource-price span {
  font-size: clamp(1.6rem, calc(1.4rem + (0.625vw * 1)), 2.6rem);
}

.subsc-prices {
  margin: 60px auto 0;
  text-align: center;
}

.subsc-list {
  display: inline-block;
  margin: auto;
}

.subsc-item {
  gap: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  font-size: clamp(1.6rem, calc(1.4rem + (0.625vw * 1)), 2.6rem);
  font-weight: 900;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  line-height: 1;
  text-align: center;
}

.subsc-item + .subsc-item {
  margin-top: 10px;
}

.subsc-item dt {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #193f7c;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 1em;
  width: 6.5em;
}

.subsc-item dt span {
  font-size: clamp(3.2rem, calc(3rem + (0.625vw * 1)), 4.2rem);
}

.subsc-item dd {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #fafae7;
  color: #e45927;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 1em;
  width: 13em;
}

.subsc-item dd span {
  font-size: clamp(4.4rem, calc(4.2rem + (0.625vw * 1)), 5.4rem);
}

.subsc-item._add {
  margin-top: 32px;
}

.subsc-item._add dt {
  background: #e45927;
  border: 3px solid #e45927;
  color: #f1e533;
  position: relative;
}

.subsc-item._add dt:after {
  background: #e45927;
  -webkit-clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 100%, 0 0);
          clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 100%, 0 0);
  content: "";
  height: calc(100% + 6px);
  left: calc(100% + 3px);
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 30px;
}

.subsc-item._add dd {
  background: #fff;
  border: 3px solid #e45927;
}

.cource-cy {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #e8ecf2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  font-size: clamp(2.4rem, calc(2.2rem + (0.625vw * 1)), 3.4rem);
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 80px;
  padding: 16px 24px;
  width: 100%;
}

.cource-cy dt {
  min-width: 10em;
  padding-right: 3em;
  position: relative;
  width: 10em;
}

.cource-cy dt:before {
  background: #193f7c;
  -webkit-clip-path: polygon(100% 50%, 0 0, 0 100%);
          clip-path: polygon(100% 50%, 0 0, 0 100%);
  content: "";
  font-size: inherit;
  height: 20px;
  position: absolute;
  right: calc(1em + 10px);
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 20px;
}

/* =============================================================================


     trainer


============================================================================= */
.trainer {
  position: relative;
  text-align: center;
}

.trainer-container {
  padding: 0 100px;
}

.trainer-ttlbox {
  background: linear-gradient(62.09603deg, #2974aa 36.52344%, #00adb5 81.67415%);
  color: #fff;
  font-size: clamp(4rem, calc(3.8rem + (0.625vw * 1)), 5rem);
  font-weight: bold;
  padding: 20px 0;
  position: relative;
  text-align: center;
  z-index: 1;
}

.trainer-ttlbox img {
  font-size: clamp(9rem, calc(8.8rem + (0.625vw * 1)), 10rem);
  left: calc(50% + 2.5em);
  max-width: 850px;
  mix-blend-mode: multiply;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 6em;
}

.trainer-ttl {
  position: relative;
  z-index: 1;
}

.trainer-img {
  margin: 120px auto 0;
}

.trainer-img img {
  max-width: 100%;
  /*     width: 100%; */
}

.trainer-namebox {
  display: inline-block;
  margin-top: 40px;
  text-align: center;
}

.trainer-job {
  border-bottom: 1px solid #193f7c;
  font-size: clamp(2rem, calc(1.8rem + (0.625vw * 1)), 3rem);
  font-weight: bold;
}

.trainer-ttl {
  font-size: clamp(3.4rem, calc(3.2rem + (0.625vw * 1)), 4.4rem);
  font-weight: bold;
  line-height: 1.2;
  margin-top: 18px;
}

.trainer-ttl span {
  color: #d1d9e5;
  display: block;
  font-size: clamp(1.6rem, calc(1.4rem + (0.625vw * 1)), 2.6rem);
  margin: 0.5em auto 0;
}

.message {
  margin-top: 80px;
  text-align: left;
}

.message-ttl {
  font-family: "Josefin Sans", "Noto Sans JP", sans-serif;
  font-size: clamp(4.4rem, calc(4.2rem + (0.625vw * 1)), 5.4rem);
  font-weight: bold;
  line-height: 1;
  position: relative;
}

.message-ttl:before {
  background: transparent radial-gradient(closest-side at 97% 64%, #405f93 0%, #3a5a8f 5%, #274b84 29%, #1c427e 53%, #193f7c 79%) 0% 0% no-repeat padding-box;
  content: "";
  height: 70%;
  left: calc(-100vw - 40px);
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 100vw;
}

.message-txt {
  font-size: clamp(1.2rem, calc(1rem + (0.625vw * 1)), 2.2rem);
  font-weight: 600;
  margin-top: 24px;
}

.prof {
  margin-top: 60px;
  padding: 48px 0;
  position: relative;
  text-align: left;
  z-index: 1;
}

.prof:before {
  background: #e8ecf2;
  content: "";
  height: 100%;
  left: 50%;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: calc(100% + 120px);
  z-index: -1;
}

.prof-ttl {
  border-bottom: 1px solid #193f7c;
  font-family: "Josefin Sans", "Noto Sans JP", sans-serif;
  font-size: clamp(4.4rem, calc(4.2rem + (0.625vw * 1)), 5.4rem);
  font-weight: bold;
  line-height: 1.2;
}

.prof-txt {
  font-size: clamp(1.2rem, calc(1rem + (0.625vw * 1)), 2.2rem);
  margin-top: 1em;
}

.shikaku {
  margin-top: 120px;
}

.shikaku-ttl {
  border-bottom: 1px solid #193f7c;
  font-size: clamp(2.4rem, calc(2.2rem + (0.625vw * 1)), 3.4rem);
  font-weight: bold;
  padding-bottom: 1em;
}

.shikaku-txt {
  font-size: clamp(2.4rem, calc(2.2rem + (0.625vw * 1)), 3.4rem);
  font-weight: bold;
  margin-top: 1em;
}

/* =============================================================================


     access


============================================================================= */
.access {
  padding: 120px 0 160px;
}

.access-ttl {
  background: #193f7c;
  color: #fff;
  font-size: clamp(4rem, calc(3.8rem + (0.625vw * 1)), 5rem);
  font-weight: bold;
  padding: 0.5em 0;
  position: relative;
  text-align: center;
}

.access-ttl:before {
  background: #193f7c;
  -webkit-clip-path: polygon(100% 0, 0 0, 50% 100%);
          clip-path: polygon(100% 0, 0 0, 50% 100%);
  content: "";
  height: 25px;
  left: 50%;
  position: absolute;
  top: calc(100% - 1px);
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 50px;
}

.access-container {
  margin: 100px auto 0;
}

/* =============================================================================


     ba


============================================================================= */
.ba {
  padding-bottom: 120px;
}

.ba-ttlbox {
  color: #fff;
  font-size: clamp(4rem, calc(3.8rem + (0.625vw * 1)), 5rem);
  font-weight: bold;
  padding: 80px 0 120px;
  position: relative;
  text-align: center;
  z-index: 1;
  z-index: 1;
}

.ba-ttlbox img {
  font-size: clamp(9rem, calc(8.8rem + (0.625vw * 1)), 10rem);
  left: calc(50% + 1.5em);
  mix-blend-mode: multiply;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 4em;
}

.ba-ttlbox:after {
  background: transparent radial-gradient(closest-side at 50% 50%, #4e6b9a 0%, #193f7c 100%) 0% 0% no-repeat padding-box;
  -webkit-clip-path: polygon(100% 0, 100% 70%, 50% 100%, 0 70%, 0 0);
          clip-path: polygon(100% 0, 100% 70%, 50% 100%, 0 70%, 0 0);
  content: "";
  height: 100%;
  left: 50%;
  position: absolute;
  top: 0%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100%;
  z-index: -1;
  z-index: -1;
}

.ba-ttl {
  position: relative;
  z-index: 1;
}

.ba-list {
  gap: 60px 40px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 60px;
}

.ba-item-img {
  display: block;
  margin: auto;
  width: 100%;
}

.ba-item {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: calc(50% - 20px);
}

.ba-item-txt {
  color: #4e4d4d;
  font-size: clamp(1.6rem, calc(1.4rem + (0.625vw * 1)), 2.6rem);
  font-weight: bold;
  height: 3em;
  margin-top: 20px;
}

.ba-item-txt span {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(40%, #f1e533));
  background: linear-gradient(transparent 60%, #f1e533 40%);
}

@media (max-width: 1208px){
  .mv img {
    min-height: 55vw;
  }
  .about-area {
    font-size: clamp(2.4rem, calc(2.2rem + (0.625vw * 1)), 3.4rem);
  }
  .worry-ttl {
    font-size: clamp(2.6rem, calc(2.4rem + (0.625vw * 1)), 3.6rem);
  }
  .worry-ttl span {
    font-size: clamp(3.1rem, calc(2.9rem + (0.625vw * 1)), 4.1rem);
  }
  .worry-list {
    gap: 80px 30px;
  }
  .worry-item {
    width: calc(33.333333% - (60px / 3));
  }
  .worry-item-img {
    border: 8px solid #534741;
  }
  .fin-img {
    width: 50vw;
  }
  .fin-headbox {
    margin-left: 0;
  }
  .fin-head {
    font-size: clamp(3.8rem, calc(3.6rem + (0.625vw * 1)), 4.8rem);
  }
  .fin-en {
    right: 0px;
    top: 10vw;
    width: 280px;
  }
  .pro-ttlbox img {
    left: 0;
    right: auto;
    width: 120px;
  }
  .pro-ttl {
    font-size: clamp(2.2rem, calc(2rem + (0.625vw * 1)), 3.2rem);
  }
  .pro-ttl span {
    font-size: clamp(3.2rem, calc(3rem + (0.625vw * 1)), 4.2rem);
  }
  .dakara-ttl img {
    left: 0;
    right: auto;
    width: 240px;
  }
  .dakara-ttl {
    font-size: clamp(2.4rem, calc(2.2rem + (0.625vw * 1)), 3.4rem);
  }
  .dakara-ttl > span {
    font-size: clamp(3rem, calc(2.8rem + (0.625vw * 1)), 4rem);
  }
  .dakara-en {
    font-size: clamp(12.4rem, calc(12.2rem + (0.625vw * 1)), 13.4rem);
  }
  .style-span {
    font-size: clamp(2rem, calc(1.8rem + (0.625vw * 1)), 3rem);
  }
  .style-head {
    font-size: clamp(3.4rem, calc(3.2rem + (0.625vw * 1)), 4.4rem);
  }
  .style-arrow {
    font-size: clamp(2rem, calc(1.8rem + (0.625vw * 1)), 3rem);
  }
  .style-fin {
    font-size: clamp(2rem, calc(1.8rem + (0.625vw * 1)), 3rem);
  }
  .style-fin span {
    font-size: clamp(2.2rem, calc(2rem + (0.625vw * 1)), 3.2rem);
  }
  .style-fin span.bg {
    font-size: clamp(3.2rem, calc(3rem + (0.625vw * 1)), 4.2rem);
  }
  .point-enbox .point-en {
    font-size: clamp(5.4rem, calc(5.2rem + (0.625vw * 1)), 6.4rem);
  }
  .point-enbox .point-en span {
    font-size: clamp(9.4rem, calc(9.2rem + (0.625vw * 1)), 10.4rem);
  }
  .point-ttl {
    font-size: clamp(2.4rem, calc(2.2rem + (0.625vw * 1)), 3.4rem);
  }
  .point-txt {
    font-size: clamp(1.6rem, calc(1.4rem + (0.625vw * 1)), 2.6rem);
  }
  .voice-ttl {
    font-size: clamp(3.4rem, calc(3.2rem + (0.625vw * 1)), 4.4rem);
  }
  .voice-name {
    font-size: clamp(1.6rem, calc(1.4rem + (0.625vw * 1)), 2.6rem);
  }
  .flow-ttlbox img {
    font-size: clamp(6rem, calc(5.8rem + (0.625vw * 1)), 7rem);
  }
  .flow-ttl {
    font-size: clamp(3.4rem, calc(3.2rem + (0.625vw * 1)), 4.4rem);
  }
  .flow-item-txt {
    font-size: clamp(1.9rem, calc(1.7rem + (0.625vw * 1)), 2.9rem);
  }
  .qa-ttlbox {
    font-size: clamp(3.4rem, calc(3.2rem + (0.625vw * 1)), 4.4rem);
  }
  .qa-ttlbox span {
    font-size: clamp(7.4rem, calc(7.2rem + (0.625vw * 1)), 8.4rem);
  }
  .qa-item-ttl:before, .qa-item-ttl:after {
    right: 40px;
    width: 30px;
  }
  .qa-item-txtbox {
    padding: 26px calc(40px + 50px) 26px 40px;
  }
  .qa-item-txtbox dt {
    font-size: clamp(4rem, calc(3.8rem + (0.625vw * 1)), 5rem);
  }
  .qa-item-txtbox dd {
    font-size: clamp(2.4rem, calc(2.2rem + (0.625vw * 1)), 3.4rem);
  }
  .qa-item-txtbox dd._a {
    font-size: clamp(1.6rem, calc(1.4rem + (0.625vw * 1)), 2.6rem);
  }
  .price-ttlbox {
    font-size: clamp(3.4rem, calc(3.2rem + (0.625vw * 1)), 4.4rem);
  }
  .price-item-ttl {
    font-size: clamp(3rem, calc(2.8rem + (0.625vw * 1)), 4rem);
  }
  .price-people-item {
    font-size: clamp(1.8rem, calc(1.6rem + (0.625vw * 1)), 2.8rem);
  }
  .cource-contents {
    padding: 50px 24px;
  }
  .cource-contents:before {
    height: calc(100% - clamp(60px, 6vw, 150px));
    top: calc(clamp(60px, 6vw, 150px));
  }
  .cource-price-head dt {
    font-size: clamp(1.6rem, calc(1.4rem + (0.625vw * 1)), 2.6rem);
  }
  .cource-price-head dt span {
    font-size: clamp(2.8rem, calc(2.6rem + (0.625vw * 1)), 3.8rem);
  }
  .cource-price {
    font-size: clamp(3.2rem, calc(3rem + (0.625vw * 1)), 4.2rem);
  }
  .cource-price span {
    font-size: clamp(1.6rem, calc(1.4rem + (0.625vw * 1)), 2.6rem);
  }
  .cource-cy {
    font-size: clamp(1.9rem, calc(1.7rem + (0.625vw * 1)), 2.9rem);
  }
  .trainer-ttlbox img {
    font-size: clamp(4.4rem, calc(4.2rem + (0.625vw * 1)), 5.4rem);
  }
  .ba-ttlbox {
    font-size: clamp(3.4rem, calc(3.2rem + (0.625vw * 1)), 4.4rem);
  }
}

@media (max-width: 767px){
  .mv {
    margin-top: 20px;
  }
  .about-ttl {
    font-size: clamp(1.6rem, calc(1.4rem + (0.625vw * 1)), 2.6rem);
  }
  .about-ttl span {
    font-size: clamp(4.4rem, calc(4.2rem + (0.625vw * 1)), 5.4rem);
  }
  .about-start:before {
    height: 100px;
  }
  .about-start {
    padding-top: 40px;
  }
  .about-head {
    font-size: clamp(2.4rem, calc(2.2rem + (0.625vw * 1)), 3.4rem);
  }
  .about-head span {
    font-size: clamp(3.2rem, calc(3rem + (0.625vw * 1)), 4.2rem);
  }
  .about-container {
    padding-top: 40px;
  }
  .about-areas {
    max-width: 340px;
    width: 100%;
  }
  .about-item {
    width: calc(50% - ((30px * 2) / 2));
  }
  .worry-list {
    gap: 40px 20px;
    margin-top: 50px;
  }
  .worry-item {
    width: calc(50% - (20px));
  }
  .worry-item-img {
    border: 6px solid #534741;
  }
  .worry-item-img:before {
    height: 42px;
    top: -20px;
    width: 42px;
  }
  .worry-head {
    margin-top: 40px;
  }
  .step-list {
    margin: 40px auto 0px;
    padding: 0;
    padding-bottom: 40px;
  }
  .step-item {
    border: 4px solid #193f7c;
    font-size: clamp(1.6rem, calc(1.4rem + (0.625vw * 1)), 2.6rem);
    padding: 14px;
  }
  .step-item + .step-item {
    margin-top: 40px;
  }
  .step-item:before {
    height: 25px;
    top: calc(100% + 20px);
  }
  .step-en {
    font-size: clamp(2.4rem, calc(2.2rem + (0.625vw * 1)), 3.4rem);
    margin-top: 40px;
    padding: 40px 20px;
  }
  .step-en span {
    font-size: clamp(2.8rem, calc(2.6rem + (0.625vw * 1)), 3.8rem);
  }
  .step-en:before {
    border-left: 10px solid #193f7c;
    border-top: 10px solid #193f7c;
    height: 60px;
    left: 10px;
    top: 10px;
    width: 60px;
  }
  .step-en:after {
    border-bottom: 10px solid #193f7c;
    border-right: 10px solid #193f7c;
    bottom: 10px;
    height: 60px;
    right: 10px;
    width: 60px;
  }
  .fin-txt {
    left: 50%;
    max-width: 300px;
    position: absolute;
    top: calc(-60px - 5vw);
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 50vw;
  }
  .fin-img {
    right: -16px;
    top: -50px;
  }
  .fin-headbox {
    z-index: 1;
  }
  .fin-en {
    left: auto;
    max-width: 400px;
    position: relative;
    top: auto;
    width: 60vw;
  }
  .pro {
    padding-bottom: 60px;
  }
  .pro:before, .pro:after {
    -webkit-clip-path: polygon(100% 0, 100% calc(100% - 50px), 50% 100%, 0 calc(100% - 50px), 0 0);
            clip-path: polygon(100% 0, 100% calc(100% - 50px), 50% 100%, 0 calc(100% - 50px), 0 0);
  }
  .dakara-txtbox img {
    display: block;
    position: static;
    width: 80px;
  }
  .dakara-txtbox {
    letter-spacing: 0;
    padding-top: 60px;
  }
  .dakara-txt {
    font-size: clamp(2.2rem, calc(2rem + (0.625vw * 1)), 3.2rem);
  }
  .dakara-itemlist {
    margin-top: 40px;
  }
  .dakara-item {
    font-size: clamp(2.4rem, calc(2.2rem + (0.625vw * 1)), 3.4rem);
    margin-top: 10px;
  }
  .dakara-en {
    bottom: 140px;
    font-size: clamp(6.4rem, calc(6.2rem + (0.625vw * 1)), 7.4rem);
  }
  .dareka-docobox {
    max-width: 600px;
  }
  .dakara-doko span {
    font-size: clamp(2rem, calc(1.8rem + (0.625vw * 1)), 3rem);
  }
  .style-fin-txt {
    font-size: clamp(3.4rem, calc(3.2rem + (0.625vw * 1)), 4.4rem);
  }
  .style-head {
    font-size: clamp(3rem, calc(2.8rem + (0.625vw * 1)), 4rem);
  }
  .style-arrow {
    margin: 40px 0;
  }
  .style-fin {
    font-size: clamp(1.6rem, calc(1.4rem + (0.625vw * 1)), 2.6rem);
    letter-spacing: 0;
  }
  .style-fin span {
    font-size: clamp(2rem, calc(1.8rem + (0.625vw * 1)), 3rem);
  }
  .style-fin span.bg {
    font-size: clamp(2.7rem, calc(2.5rem + (0.625vw * 1)), 3.7rem);
  }
  .point {
    padding: 40px 0 60px;
  }
  .point-content + .point-content {
    margin-top: 100px;
  }
  .point-content {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  .point-content:nth-of-type(2n) {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  .point-content:nth-of-type(2n):before {
    height: calc(110%);
  }
  .point-img {
    margin-right: -16px;
    width: 90%;
  }
  .point-content:nth-of-type(2n) .point-img {
    margin-left: -16px;
    margin-right: 0;
  }
  .point-enbox {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    bottom: calc(70%);
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    left: calc((10% + 16px * 2) * -1);
  }
  .point-content:nth-of-type(2n) .point-enbox {
    bottom: calc(70%);
    right: calc((10% + 16px * 2) * -1);
  }
  .point-content:nth-of-type(2n) .point-enbox .point-en {
    padding-right: 25%;
  }
  .point-enbox .point-en {
    font-size: clamp(4.4rem, calc(4.2rem + (0.625vw * 1)), 5.4rem);
    margin-bottom: auto;
    margin-top: 0;
    padding-left: 0;
    padding-right: 10%;
  }
  .point-enbox .point-en span {
    font-size: clamp(7.9rem, calc(7.7rem + (0.625vw * 1)), 8.9rem);
  }
  .point-txtbox {
    margin-left: 20px;
    margin-right: auto;
  }
  .voice:before {
    width: 320px;
  }
  .voice-contents {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 60px;
  }
  .voice-people {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 100%;
  }
  .voice-people img {
    margin: auto;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    width: 100px;
  }
  .voice-name {
    margin-top: 4px;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .voice-people-txt {
    -ms-writing-mode: rl-tb;
    border-bottom: 2px solid #193f7c;
    border-left: none;
    height: auto;
    line-height: 1.2;
    margin-bottom: 20px;
    padding: 0 0.75em;
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
    -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: lr-tb;
            writing-mode: horizontal-tb;
  }
  .voice-txtbox {
    margin-top: 40px;
    padding: 20px;
    width: 100%;
  }
  .voice-txtbox:before {
    bottom: 100%;
    -webkit-clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
            clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
    height: 20px;
    left: 50%;
    position: absolute;
    top: auto;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 30px;
  }
  .flow {
    padding: 60px 0;
  }
  .flow-ttlbox img {
    font-size: clamp(4.4rem, calc(4.2rem + (0.625vw * 1)), 5.4rem);
    left: calc(50% + 1em);
  }
  .flow-list {
    margin-top: 40px;
  }
  .flow-item {
    width: 100%;
  }
  .flow-item-num {
    left: 0;
    top: -20px;
    width: 90px;
    width: clamp(80px, 30vw, 180px);
  }
  .flow-item:nth-of-type(2n) .flow-item-num {
    right: 0;
  }
  .flow-item-txt {
    font-size: clamp(1.6rem, calc(1.4rem + (0.625vw * 1)), 2.6rem);
    position: static;
  }
  .flow-item-txt._fin img {
    left: calc(100% - 50%);
    width: clamp(150px, 27vw, 600px);
  }
  .flow-item-txt:before {
    height: 20px;
    top: calc(100% - 10px);
    width: 32px;
  }
  .qa {
    padding: 50px 0;
  }
  .qa-ttlbox {
    font-size: clamp(2.6rem, calc(2.4rem + (0.625vw * 1)), 3.6rem);
  }
  .qa-ttlbox span {
    font-size: clamp(5.4rem, calc(5.2rem + (0.625vw * 1)), 6.4rem);
  }
  .qa-container {
    margin-top: 50px;
  }
  .qa-item + .qa-item {
    margin-top: 32px;
  }
  .qa-item-ttl:before, .qa-item-ttl:after {
    right: 20px;
    top: 30px;
    width: 20px;
  }
  .qa-item-txtbox {
    padding: 18px calc(20px + 40px) 26px 20px;
  }
  .qa-item-txtbox dt {
    font-size: clamp(3rem, calc(2.8rem + (0.625vw * 1)), 4rem);
    min-width: 1.5em;
    width: 1.5em;
  }
  .qa-item-txtbox dt._q {
    border-right: none;
  }
  .qa-item-txtbox dd {
    font-size: clamp(1.6rem, calc(1.4rem + (0.625vw * 1)), 2.6rem);
    padding-left: 0;
  }
  .qa-item-txtbox dd._a {
    font-size: clamp(1.4rem, calc(1.2rem + (0.625vw * 1)), 2.4rem);
  }
  .price-ttlbox {
    font-size: clamp(2.4rem, calc(2.2rem + (0.625vw * 1)), 3.4rem);
    padding: 30px 0 60px;
  }
  .price-ttlbox img {
    font-size: clamp(4.4rem, calc(4.2rem + (0.625vw * 1)), 5.4rem);
  }
  .price-menu {
    gap: 30px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .price-menu:before {
    display: none;
  }
  .price-item {
    padding: 20px 0;
    width: 100%;
  }
  .price-item + .price-item {
    border-top: 1px solid #193f7c;
  }
  .price-span {
    margin-left: -16px;
  }
  .cource:before {
    top: 0;
  }
  .cource {
    padding: 40px 0;
  }
  .cource-contents {
    padding: 40px 16px;
  }
  .cource-contents + .cource-contents {
    border-radius: 20px;
    margin-top: 60px;
  }
  .cource-ttl {
    min-width: 320px;
  }
  .cource-head {
    font-size: clamp(1.6rem, calc(1.4rem + (0.625vw * 1)), 2.6rem);
  }
  .cource-head span {
    font-size: clamp(1.6rem, calc(1.4rem + (0.625vw * 1)), 2.6rem);
  }
  .cource-about {
    margin-top: 40px;
    min-width: unset;
    width: 100%;
  }
  .cource-about._sub {
    min-width: unset;
    width: 70%;
  }
  .cource-prices {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .cource-pricebox {
    margin: auto;
    max-width: 320px;
    width: 100%;
  }
  .subsc-item dt span {
    font-size: clamp(2.4rem, calc(2.2rem + (0.625vw * 1)), 3.4rem);
  }
  .subsc-item dt {
    padding: 1em 0em;
  }
  .subsc-item dd span {
    font-size: clamp(2.8rem, calc(2.6rem + (0.625vw * 1)), 3.8rem);
  }
  .subsc-item dd {
    width: 100%;
  }
  .subsc-item._add dt {
    font-size: clamp(1.4rem, calc(1.2rem + (0.625vw * 1)), 2.4rem);
  }
  .cource-cy {
    gap: 20px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 40px;
    text-align: center;
  }
  .cource-cy dt {
    padding-right: 0;
    text-align: center;
    width: 100%;
  }
  .cource-cy dt:before {
    -webkit-clip-path: polygon(100% 0, 0 0, 50% 100%);
            clip-path: polygon(100% 0, 0 0, 50% 100%);
    left: 50%;
    position: absolute;
    top: 100%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  .trainer-container {
    padding: 0 16px;
  }
  .trainer-ttlbox img {
    font-size: clamp(3.2rem, calc(3rem + (0.625vw * 1)), 4.2rem);
  }
  .trainer-ttlbox {
    font-size: clamp(2.4rem, calc(2.2rem + (0.625vw * 1)), 3.4rem);
  }
  .trainer-img {
    margin-top: 40px;
  }
  .trainer-namebox {
    margin-top: 24px;
  }
  .trainer-job {
    font-size: clamp(1.6rem, calc(1.4rem + (0.625vw * 1)), 2.6rem);
  }
  .trainer-ttl {
    font-size: clamp(2.7rem, calc(2.5rem + (0.625vw * 1)), 3.7rem);
  }
  .trainer-ttl span {
    font-size: clamp(1.6rem, calc(1.4rem + (0.625vw * 1)), 2.6rem);
  }
  .message {
    margin-top: 48px;
  }
  .message-ttl:before {
    left: calc(-100vw - 16px);
  }
  .message-ttl {
    font-size: clamp(3.4rem, calc(3.2rem + (0.625vw * 1)), 4.4rem);
  }
  .prof:before {
    width: calc(100% + 16px * 2);
  }
  .prof-ttl {
    font-size: clamp(3.4rem, calc(3.2rem + (0.625vw * 1)), 4.4rem);
  }
  .shikaku {
    margin-top: 48px;
  }
  .shikaku-ttl {
    font-size: clamp(1.9rem, calc(1.7rem + (0.625vw * 1)), 2.9rem);
  }
  .shikaku-txt {
    font-size: clamp(1.9rem, calc(1.7rem + (0.625vw * 1)), 2.9rem);
  }
  .access {
    padding: 60px 0 100px;
  }
  .access-ttl {
    font-size: clamp(2.6rem, calc(2.4rem + (0.625vw * 1)), 3.6rem);
  }
  .access-container {
    margin-top: 40px;
  }
  .ba-ttlbox {
    font-size: clamp(2.4rem, calc(2.2rem + (0.625vw * 1)), 3.4rem);
    padding: 30px 0 60px;
  }
  .ba-ttlbox img {
    font-size: clamp(4.4rem, calc(4.2rem + (0.625vw * 1)), 5.4rem);
  }
  .ba-item {
    margin: auto;
    max-width: 420px;
    width: 100%;
  }
  .ba-item-txt {
    height: auto;
  }
}


/*# sourceMappingURL=index.css.map*/