@charset "UTF-8";
@font-face {
  font-family: 'Noto Sans JP';
  src: url("../fonts/NotoSansJP-Thin.otf") format("opentype");
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Noto Sans JP';
  src: url("../fonts/NotoSansJP-Light.otf") format("opentype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Noto Sans JP';
  src: url("../fonts/NotoSansJP-Regular.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Noto Sans JP';
  src: url("../fonts/NotoSansJP-Medium.otf") format("opentype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Noto Sans JP';
  src: url("../fonts/NotoSansJP-Bold.otf") format("opentype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Noto Sans JP';
  src: url("../fonts/NotoSansJP-Black.otf") format("opentype");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

body {
  margin: 0;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ W3", "メイリオ", "Meiryo", "ＭＳ\ Ｐゴシック", "MS PGothic", sans-serif;
  line-height: 1.6;
  word-break: break-word;
}

/* ---------------------------------------------------------- */
.header {
  /* ヘッダー */
  padding: 5px 10px;
}

.header .fl-wrap {
  display: flex;
  flex-direction: row;
  gap: 10px;
  align-items: flex-end;
  margin: 0;
}

.header .fl-wrap p {
  font-size: 15px;
  margin-bottom: 2px;
}

/* ---------------------------------------------------------- */
.main {
  /* メインコンテンツ */
}

.main .mv {
  /* メインビジュアル */
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: 20px;
  padding-top: 60px;
  background-image: url(/img/rectangle610.png);
  background-size: cover;
  background-position: center center;
}

@media screen and (max-width: 768px) {
  .main .mv {
    padding-left: 10px;
    padding-right: 10px;
  }
}

.main .mv .mid-text {
  text-align: center;
}

.main .mv .mid-text a {
  font-size: 20px;
  text-decoration: none;
  padding: 30px 60px;
  border-radius: 50px;
  border: 0;
  box-shadow: 5px 5px #628894;
}

.main .mv .mid-text a.apply {
  background-color: #fffd47;
}

.main .mv .mid-text a.apply:hover {
  background-color: #FFFE8C;
  box-shadow: 6px 6px #628894;
}

.main .mv .mid-text a.inquire {
  background-color: #a7f945;
}

.main .mv .mid-text a.inquire:hover {
  background-color: #BCFF6D;
  box-shadow: 6px 6px #628894;
}

.main .mv .mid-text .sub-title {
  /* サブタイトル */
  display: inline;
  font-weight: bold;
  font-size: 25px;
  color: #4b4b4b;
  background-color: #fff;
  width: 100%;
  padding: 2px 15px 5px;
  border-radius: 25px;
}

.main .mv .mid-text .sub-title .em {
  /* 色変更 */
  color: #f18d00;
}

@media screen and (max-width: 768px) {
  .main .mv .mid-text .sub-title {
    display: block;
    width: auto;
  }
}

.main .mv .mid-text h1 {
  /* H1タイトル */
  font-size: 46px;
  color: #4b4b4b;
  margin: 10px 0;
}

@media screen and (max-width: 768px) {
  .main .mv .mid-text h1 {
    font-size: 28px;
  }
}

.main .mv .mid-text .h1p {
  font-size: 18px;
  color: #4b4b4b;
}

.main .mv .mid-text .fl-wrap-row {
  display: flex;
  flex-direction: row;
  gap: 30px;
}

.main .mv .mid-text .fl-wrap-row .fl-wrap-col {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.main .mv .mid-text .fl-wrap-row .fl-wrap-col a.apply, .main .mv .mid-text .fl-wrap-row .fl-wrap-col a.inquire {
  font-size: 22px;
  color: #484848;
  font-weight: bold;
}

.main .mv .mid-text .fl-wrap-row .fl-wrap-col a::after {
  content: url(/img/angle_bracket.png);
  margin-left: 20px;
}

.main .mv .mid-text .fl-wrap-row .fl-wrap-col .fl-text {
  display: flex;
  flex-direction: row;
  gap: 20px;
  justify-content: center;
}

.main .mv .mid-text .fl-wrap-row .fl-wrap-col .fl-text .catch {
  font-size: 16px;
  color: #484848;
  font-weight: bold;
  margin: 0;
}

.main .mv .mid-text .fl-wrap-row .fl-wrap-col .fl-text .left-line {
  content: url(/img/line_left1043.png);
}

.main .mv .mid-text .fl-wrap-row .fl-wrap-col .fl-text .right-line {
  content: url(/img/line_right1043.png);
}

@media screen and (max-width: 768px) {
  .main .mv .mid-text .fl-wrap-row {
    flex-direction: column;
  }
  .main .mv .mid-text .fl-wrap-row .fl-wrap-col a.apply,
  .main .mv .mid-text .fl-wrap-row .fl-wrap-col a.inquire {
    font-size: 18px;
    padding: 10px 5px;
  }
}

@media screen and (max-width: 1440px) {
  .main .mv {
    padding-bottom: 50px;
  }
  .main .mv .left_pic,
  .main .mv .right_pic {
    display: none;
  }
}

/* ---------------------------------------------------------- */
main .banner1 .fix-right {
  position: fixed;
  top: 350px;
  right: 0;
  z-index: 10000;
}

main .banner1 .fix-right .body {
  display: block;
  color: #fff;
  background-color: #32bfed;
  width: 50px;
  border-radius: 10px 0 0 0px;
  padding: 20px 10px 10px 5px;
  text-decoration: none;
}

main .banner1 .fix-right .body .text {
  writing-mode: vertical-rl;
  font-size: 16px;
  font-weight: bold;
  margin: 0;
  text-align: left;
}

main .banner1 .fix-right .body:hover {
  background-color: #30CCFF;
}

main .banner1 .fix-right .foot {
  display: block;
  color: #fff;
  background-color: #f18d00;
  width: 50px;
  border-radius: 0 0 0 10px;
  padding: 5px 10px 5px 5px;
}

main .banner1 .fix-right .foot .allow {
  content: url(/img/arrow3.png);
  width: 16px;
  height: 11px;
  padding: 0 20px;
}

main .banner1 .fix-right .foot:hover {
  background-color: #FF9500;
}

@media screen and (max-width: 1024px) {
  main .banner1 .fix-right {
    display: none;
  }
}

/* ---------------------------------------------------------- */
main .banner2 .fix-right {
  position: fixed;
  top: 600px;
  right: 0;
  z-index: 10000;
}

main .banner2 .fix-right .body {
  display: block;
  color: #4b4b4b;
  background-color: #a7f945;
  width: 50px;
  border-radius: 10px 0 0 0px;
  padding: 20px 10px 10px 5px;
  text-decoration: none;
}

main .banner2 .fix-right .body .text {
  writing-mode: vertical-rl;
  font-size: 16px;
  font-weight: bold;
  margin: 0;
  text-align: left;
}

main .banner2 .fix-right .body:hover {
  background-color: #BCFF6D;
}

main .banner2 .fix-right .foot {
  display: block;
  color: #fff;
  background-color: #628894;
  width: 50px;
  border-radius: 0 0 0 10px;
  padding: 6px 6px 4px 9px;
}

main .banner2 .fix-right .foot .allow {
  content: url(/img/arrow4.png);
  width: 11px;
  height: 16px;
  padding: 0 20px;
}

main .banner2 .fix-right .foot:hover {
  background-color: #75A0AE;
}

@media screen and (max-width: 1024px) {
  main .banner2 .fix-right {
    display: none;
  }
}

/* ---------------------------------------------------------- */
main .sec1 {
  margin-bottom: 100px;
}

main .sec1 h2 {
  text-align: center;
  font-size: 40px;
  color: #4b4b4b;
  margin: 10px 0;
}

main .sec1 h2 .em {
  color: #f18d00;
}

@media screen and (max-width: 768px) {
  main .sec1 h2 {
    font-size: 26px;
  }
}

main .sec1 .fl-wrap-row {
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: 50px;
}

main .sec1 .fl-wrap-row .fl-wrap-col {
  display: flex;
  flex-direction: column;
  align-items: center;
}

main .sec1 .fl-wrap-row .icon1,
main .sec1 .fl-wrap-row .icon2,
main .sec1 .fl-wrap-row .icon3 {
  width: 285px;
  height: 174px;
  margin: 0;
  display: flex;
  justify-content: center;
  align-items: flex-end;
}

main .sec1 .fl-wrap-row .icon1 .cap,
main .sec1 .fl-wrap-row .icon2 .cap,
main .sec1 .fl-wrap-row .icon3 .cap {
  font-size: 28px;
  font-weight: bold;
  color: #32bfed;
  margin-bottom: 20px;
}

main .sec1 .fl-wrap-row .icon1.lazyloaded {
  background-image: url(/img/icon1.png);
}

main .sec1 .fl-wrap-row .icon2.lazyloaded {
  background-image: url(/img/icon2.png);
}

main .sec1 .fl-wrap-row .icon3.lazyloaded {
  background-image: url(/img/icon3.png);
}

main .sec1 .fl-wrap-row .arrow.lazyloaded {
  content: url(/img/arrow.png);
  width: 59px;
  height: 74px;
}

main .sec1 .fl-wrap-row .result {
  background-color: #32bfed;
  color: #FFF;
  font-weight: bold;
  font-size: 30px;
  padding: 5px 10px 5px 20px;
  border-radius: 10px;
  margin-bottom: -30px;
  margin-top: 0px;
  z-index: 1;
}

main .sec1 .fl-wrap-row .icon4,
main .sec1 .fl-wrap-row .icon5,
main .sec1 .fl-wrap-row .icon6 {
  width: 285px;
  height: 257px;
  margin: 0;
  display: flex;
  justify-content: center;
  align-items: flex-end;
}

main .sec1 .fl-wrap-row .icon4 .inner,
main .sec1 .fl-wrap-row .icon5 .inner,
main .sec1 .fl-wrap-row .icon6 .inner {
  display: flex;
  flex-direction: column;
  text-align: center;
}

main .sec1 .fl-wrap-row .icon4 .inner .cap,
main .sec1 .fl-wrap-row .icon5 .inner .cap,
main .sec1 .fl-wrap-row .icon6 .inner .cap {
  font-size: 26px;
  font-weight: bold;
  color: #32bfed;
  margin-bottom: 5px;
}

main .sec1 .fl-wrap-row .icon4 .inner .subcap,
main .sec1 .fl-wrap-row .icon5 .inner .subcap,
main .sec1 .fl-wrap-row .icon6 .inner .subcap {
  color: #484848;
  margin-bottom: 20px;
}

main .sec1 .fl-wrap-row .icon4.lazyloaded {
  background-image: url(/img/icon4.png);
}

main .sec1 .fl-wrap-row .icon5.lazyloaded {
  background-image: url(/img/icon5.png);
}

main .sec1 .fl-wrap-row .icon6.lazyloaded {
  background-image: url(/img/icon6.png);
}

@media screen and (max-width: 768px) {
  main .sec1 .fl-wrap-row {
    flex-direction: column;
  }
}

/* ---------------------------------------------------------- */
main .sec2 {
  position: relative;
  padding-bottom: 80px;
  background-color: #e7f6fb;
}

main .sec2 .speech1.lazyloaded {
  background-image: url(/img/speech1.png);
  width: 161px;
  height: 147px;
  color: #f18d00;
  font-size: 38px;
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: -50px;
  left: calc(50vw - 450px);
}

main .sec2 .speech1.lazyloaded .text {
  transform: rotate(-20deg);
}

@media screen and (max-width: 768px) {
  main .sec2 .speech1.lazyloaded {
    top: -2rem;
    left: calc(50vw - (147px / 2));
    font-size: 26px;
    background-image: none;
  }
  main .sec2 .speech1.lazyloaded .text {
    transform: none;
  }
}

main .sec2 h2 {
  text-align: center;
  font-size: 40px;
  color: #4b4b4b;
  margin: 50px 0 50px;
  padding-top: 80px;
}

main .sec2 h2 .em {
  color: #f18d00;
}

@media screen and (max-width: 768px) {
  main .sec2 h2 {
    font-size: 26px;
  }
}

main .sec2 .fl-wrap-row {
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: 50px;
}

main .sec2 .fl-wrap-row .fl-wrap-col {
  display: flex;
  flex-direction: column;
  align-items: center;
}

main .sec2 .fl-wrap-row .icon7,
main .sec2 .fl-wrap-row .icon8,
main .sec2 .fl-wrap-row .icon9 {
  width: 285px;
  height: 211px;
  margin: 0;
  display: flex;
  justify-content: center;
  align-items: flex-end;
}

main .sec2 .fl-wrap-row .icon7 .inner,
main .sec2 .fl-wrap-row .icon8 .inner,
main .sec2 .fl-wrap-row .icon9 .inner {
  display: flex;
  flex-direction: column;
  text-align: center;
}

main .sec2 .fl-wrap-row .icon7 .inner .cap,
main .sec2 .fl-wrap-row .icon8 .inner .cap,
main .sec2 .fl-wrap-row .icon9 .inner .cap {
  font-size: 26px;
  font-weight: bold;
  color: #fff;
  margin-bottom: 5px;
}

main .sec2 .fl-wrap-row .icon7 .inner .subcap,
main .sec2 .fl-wrap-row .icon8 .inner .subcap,
main .sec2 .fl-wrap-row .icon9 .inner .subcap {
  color: #fff;
  margin-bottom: 30px;
}

main .sec2 .fl-wrap-row .icon7.lazyloaded {
  background-image: url(/img/icon7.png);
}

main .sec2 .fl-wrap-row .icon8.lazyloaded {
  background-image: url(/img/icon8.png);
}

main .sec2 .fl-wrap-row .icon9.lazyloaded {
  background-image: url(/img/icon9.png);
}

main .sec2 .fl-wrap-row .arrow.lazyloaded {
  content: url(/img/arrow.png);
  width: 59px;
  height: 74px;
}

main .sec2 .fl-wrap-row .result {
  background-color: #32bfed;
  color: #FFF;
  font-weight: bold;
  font-size: 30px;
  padding: 5px 10px 5px 20px;
  border-radius: 10px;
  margin-bottom: -30px;
  margin-top: 0;
  z-index: 1;
}

main .sec2 .fl-wrap-row .icon10,
main .sec2 .fl-wrap-row .icon11,
main .sec2 .fl-wrap-row .icon12 {
  width: 285px;
  height: 257px;
  margin: 0;
  display: flex;
  justify-content: center;
  align-items: flex-end;
}

main .sec2 .fl-wrap-row .icon10 .inner,
main .sec2 .fl-wrap-row .icon11 .inner,
main .sec2 .fl-wrap-row .icon12 .inner {
  display: flex;
  flex-direction: column;
  text-align: center;
}

main .sec2 .fl-wrap-row .icon10 .inner .cap,
main .sec2 .fl-wrap-row .icon11 .inner .cap,
main .sec2 .fl-wrap-row .icon12 .inner .cap {
  font-size: 26px;
  font-weight: bold;
  color: #32bfed;
  margin-bottom: 5px;
}

main .sec2 .fl-wrap-row .icon10 .inner .subcap,
main .sec2 .fl-wrap-row .icon11 .inner .subcap,
main .sec2 .fl-wrap-row .icon12 .inner .subcap {
  color: #484848;
  margin-bottom: 30px;
}

main .sec2 .fl-wrap-row .icon10.lazyloaded {
  background-image: url(/img/icon10.png);
}

main .sec2 .fl-wrap-row .icon11.lazyloaded {
  background-image: url(/img/icon11.png);
}

main .sec2 .fl-wrap-row .icon12.lazyloaded {
  background-image: url(/img/icon12.png);
}

@media screen and (max-width: 768px) {
  main .sec2 .fl-wrap-row {
    flex-direction: column;
    gap: 0;
  }
}

/* ---------------------------------------------------------- */
main .sec3 {
  position: relative;
  margin-top: 80px;
  margin-bottom: 80px;
}

@media screen and (max-width: 768px) {
  main .sec3 {
    margin-top: 40px;
    margin-bottom: 0;
    margin-right: 10px;
    margin-left: 10px;
  }
}

main .sec3 .sub-catch {
  text-align: center;
  font-size: 30px;
  font-weight: bold;
  color: #4b4b4b;
  margin: 0;
}

@media screen and (max-width: 768px) {
  main .sec3 .sub-catch {
    font-size: 24px;
  }
}

main .sec3 .catch {
  text-align: center;
  font-size: 40px;
  font-weight: bold;
  color: #4b4b4b;
  padding: 0;
  margin: 0;
}

main .sec3 .catch .em {
  color: #f18d00;
}

@media screen and (max-width: 768px) {
  main .sec3 .catch {
    font-size: 26px;
  }
}

main .sec3 .sub-title {
  text-align: center;
  font-size: 30px;
  font-weight: bold;
  color: #4b4b4b;
  margin: 0;
}

main .sec3 .sub-title .em2 {
  color: #1a92bb;
  font-size: 40px;
}

@media screen and (max-width: 768px) {
  main .sec3 .sub-title {
    font-size: 24px;
  }
  main .sec3 .sub-title .em2 {
    font-size: 26px;
  }
}

main .sec3 .title {
  text-align: center;
  font-size: 30px;
  font-weight: bold;
  color: #4b4b4b;
  margin: 0;
}

main .sec3 .title .em {
  font-size: 50px;
  color: #f18d00;
  font-weight: bold;
  background: linear-gradient(transparent 60%, #fffe79 60%);
  font-style: normal;
}

main .sec3 .title .em2 {
  color: #1a92bb;
  font-size: 40px;
}

@media screen and (max-width: 768px) {
  main .sec3 .title {
    font-size: 26px;
  }
  main .sec3 .title .em {
    font-size: 28px;
  }
  main .sec3 .title .em2 {
    font-size: 28px;
  }
}

main .sec3 .illust.lazyloaded {
  padding-top: 60px;
  background-image: url(/img/circle_bg.png);
  background-size: auto;
  background-repeat: no-repeat;
  background-position: center;
  width: 920px;
  height: 920px;
  margin: 0 auto;
}

@media screen and (max-width: 1024px) {
  main .sec3 .illust.lazyloaded {
    background-size: contain;
    display: flex;
    flex-wrap: wrap;
    background-repeat: no-repeat;
    gap: 5px;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    background-position: bottom;
    width: 100%;
    height: 100%;
    padding-bottom: 350px;
  }
}

main .sec3 .illust.lazyloaded .speech2,
main .sec3 .illust.lazyloaded .speech3,
main .sec3 .illust.lazyloaded .speech4,
main .sec3 .illust.lazyloaded .speech5,
main .sec3 .illust.lazyloaded .speech6,
main .sec3 .illust.lazyloaded .speech7,
main .sec3 .illust.lazyloaded .speech8,
main .sec3 .illust.lazyloaded .speech9,
main .sec3 .illust.lazyloaded .speech10 {
  position: absolute;
  background-size: auto;
  background-repeat: no-repeat;
  display: flex;
  justify-content: center;
  text-align: center;
}

main .sec3 .illust.lazyloaded .speech2 .text,
main .sec3 .illust.lazyloaded .speech3 .text,
main .sec3 .illust.lazyloaded .speech4 .text,
main .sec3 .illust.lazyloaded .speech5 .text,
main .sec3 .illust.lazyloaded .speech6 .text,
main .sec3 .illust.lazyloaded .speech7 .text,
main .sec3 .illust.lazyloaded .speech8 .text,
main .sec3 .illust.lazyloaded .speech9 .text,
main .sec3 .illust.lazyloaded .speech10 .text {
  color: #4b4b4b;
  font-size: 18px;
  font-weight: bold;
}

@media screen and (max-width: 1024px) {
  main .sec3 .illust.lazyloaded .speech2,
  main .sec3 .illust.lazyloaded .speech3,
  main .sec3 .illust.lazyloaded .speech4,
  main .sec3 .illust.lazyloaded .speech5,
  main .sec3 .illust.lazyloaded .speech6,
  main .sec3 .illust.lazyloaded .speech7,
  main .sec3 .illust.lazyloaded .speech8,
  main .sec3 .illust.lazyloaded .speech9,
  main .sec3 .illust.lazyloaded .speech10 {
    position: static;
  }
}

main .sec3 .illust.lazyloaded .speech2.lazyloaded {
  top: 250px;
  left: calc(50vw - (268px / 2) - 350px);
  background-image: url(/img/speech2.png);
  width: 268px;
  height: 166px;
  padding-top: 40px;
}

main .sec3 .illust.lazyloaded .speech3.lazyloaded {
  top: 300px;
  left: calc(50vw - (293px / 2) + 350px);
  background-image: url(/img/speech3.png);
  width: 293px;
  height: 83px;
  padding-top: 20px;
}

main .sec3 .illust.lazyloaded .speech4.lazyloaded {
  top: 400px;
  left: calc(50vw - (283px / 2) + 400px);
  background-image: url(/img/speech4.png);
  width: 283px;
  height: 182px;
  padding-top: 45px;
}

main .sec3 .illust.lazyloaded .speech5.lazyloaded {
  top: 400px;
  left: calc(50vw - (252px / 2) - 500px);
  background-image: url(/img/speech5.png);
  width: 252px;
  height: 160px;
  padding-top: 45px;
}

main .sec3 .illust.lazyloaded .speech6.lazyloaded {
  top: 600px;
  left: calc(50vw - (333px / 2) - 500px);
  background-image: url(/img/speech6.png);
  width: 333px;
  height: 93px;
  padding-top: 18px;
}

main .sec3 .illust.lazyloaded .speech7.lazyloaded {
  top: 150px;
  left: calc(50vw - (247px / 2));
  background-image: url(/img/speech7.png);
  width: 247px;
  height: 178px;
  padding-top: 30px;
}

main .sec3 .illust.lazyloaded .speech8.lazyloaded {
  top: 700px;
  left: calc(50vw - (289px / 2) - 250px);
  background-image: url(/img/speech8.png);
  width: 289px;
  height: 205px;
  padding-top: 50px;
}

main .sec3 .illust.lazyloaded .speech9.lazyloaded {
  top: 700px;
  left: calc(50vw - (282px / 2) + 100px);
  background-image: url(/img/speech9.png);
  width: 282px;
  height: 175px;
  padding-top: 45px;
}

main .sec3 .illust.lazyloaded .speech10.lazyloaded {
  top: 570px;
  left: calc(50vw - (294px / 2) + 400px);
  background-image: url(/img/speech10.png);
  width: 294px;
  height: 219px;
  padding-top: 65px;
}

/* ---------------------------------------------------------- */
main .cta1.lazyloaded,
main .cta2.lazyloaded,
main .cta3.lazyloaded {
  /* CTA */
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 20px;
  padding-top: 90px;
  background-image: url(/img/rectangle614.png);
  background-size: auto;
  background-position: center center;
  background-repeat: repeat-x;
}

@media screen and (max-width: 768px) {
  main .cta1.lazyloaded,
  main .cta2.lazyloaded,
  main .cta3.lazyloaded {
    padding-left: 10px;
    padding-right: 10px;
  }
}

@media screen and (min-width: 2000px) {
  main .cta1.lazyloaded,
  main .cta2.lazyloaded,
  main .cta3.lazyloaded {
    background-size: cover;
    background-position: center top;
  }
}

main .cta1.lazyloaded .mid-text,
main .cta2.lazyloaded .mid-text,
main .cta3.lazyloaded .mid-text {
  text-align: center;
}

main .cta1.lazyloaded .mid-text a,
main .cta2.lazyloaded .mid-text a,
main .cta3.lazyloaded .mid-text a {
  font-size: 20px;
  text-decoration: none;
  padding: 30px 60px;
  border-radius: 50px;
  border: 0;
  box-shadow: 5px 5px #628894;
}

main .cta1.lazyloaded .mid-text a.apply,
main .cta2.lazyloaded .mid-text a.apply,
main .cta3.lazyloaded .mid-text a.apply {
  background-color: #fffd47;
}

main .cta1.lazyloaded .mid-text a.apply:hover,
main .cta2.lazyloaded .mid-text a.apply:hover,
main .cta3.lazyloaded .mid-text a.apply:hover {
  background-color: #FFFE8C;
  box-shadow: 6px 6px #628894;
}

main .cta1.lazyloaded .mid-text a.inquire,
main .cta2.lazyloaded .mid-text a.inquire,
main .cta3.lazyloaded .mid-text a.inquire {
  background-color: #a7f945;
}

main .cta1.lazyloaded .mid-text a.inquire:hover,
main .cta2.lazyloaded .mid-text a.inquire:hover,
main .cta3.lazyloaded .mid-text a.inquire:hover {
  background-color: #BCFF6D;
  box-shadow: 6px 6px #628894;
}

main .cta1.lazyloaded .mid-text .board,
main .cta2.lazyloaded .mid-text .board,
main .cta3.lazyloaded .mid-text .board {
  /* バックの四角 */
  background-color: rgba(29, 147, 108, 0.4);
  padding-top: 10px;
  padding-bottom: 20px;
  margin-bottom: 50px;
}

main .cta1.lazyloaded .mid-text .sub-title,
main .cta2.lazyloaded .mid-text .sub-title,
main .cta3.lazyloaded .mid-text .sub-title {
  /* サブタイトル */
  margin-top: -35px;
  margin-bottom: -15px;
  font-weight: bold;
  font-size: 32px;
  color: #fffd47;
}

@media screen and (max-width: 768px) {
  main .cta1.lazyloaded .mid-text .sub-title,
  main .cta2.lazyloaded .mid-text .sub-title,
  main .cta3.lazyloaded .mid-text .sub-title {
    margin-top: 0;
    font-size: 24px;
  }
}

main .cta1.lazyloaded .mid-text h2,
main .cta2.lazyloaded .mid-text h2,
main .cta3.lazyloaded .mid-text h2 {
  /* H1タイトル */
  font-size: 46px;
  color: #FFF;
  margin: 10px 0;
}

@media screen and (max-width: 768px) {
  main .cta1.lazyloaded .mid-text h2,
  main .cta2.lazyloaded .mid-text h2,
  main .cta3.lazyloaded .mid-text h2 {
    font-size: 28px;
  }
}

main .cta1.lazyloaded .mid-text .h2p,
main .cta2.lazyloaded .mid-text .h2p,
main .cta3.lazyloaded .mid-text .h2p {
  font-size: 18px;
  color: #FFF;
}

main .cta1.lazyloaded .mid-text .fl-wrap-row,
main .cta2.lazyloaded .mid-text .fl-wrap-row,
main .cta3.lazyloaded .mid-text .fl-wrap-row {
  display: flex;
  flex-direction: row;
  gap: 30px;
}

main .cta1.lazyloaded .mid-text .fl-wrap-row .fl-wrap-col,
main .cta2.lazyloaded .mid-text .fl-wrap-row .fl-wrap-col,
main .cta3.lazyloaded .mid-text .fl-wrap-row .fl-wrap-col {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

main .cta1.lazyloaded .mid-text .fl-wrap-row .fl-wrap-col a.apply, main .cta1.lazyloaded .mid-text .fl-wrap-row .fl-wrap-col a.inquire,
main .cta2.lazyloaded .mid-text .fl-wrap-row .fl-wrap-col a.apply,
main .cta2.lazyloaded .mid-text .fl-wrap-row .fl-wrap-col a.inquire,
main .cta3.lazyloaded .mid-text .fl-wrap-row .fl-wrap-col a.apply,
main .cta3.lazyloaded .mid-text .fl-wrap-row .fl-wrap-col a.inquire {
  font-size: 22px;
  color: #484848;
  font-weight: bold;
}

main .cta1.lazyloaded .mid-text .fl-wrap-row .fl-wrap-col a::after,
main .cta2.lazyloaded .mid-text .fl-wrap-row .fl-wrap-col a::after,
main .cta3.lazyloaded .mid-text .fl-wrap-row .fl-wrap-col a::after {
  content: url(/img/angle_bracket.png);
  margin-left: 20px;
}

main .cta1.lazyloaded .mid-text .fl-wrap-row .fl-wrap-col .fl-text,
main .cta2.lazyloaded .mid-text .fl-wrap-row .fl-wrap-col .fl-text,
main .cta3.lazyloaded .mid-text .fl-wrap-row .fl-wrap-col .fl-text {
  display: flex;
  flex-direction: row;
  gap: 20px;
  justify-content: center;
}

main .cta1.lazyloaded .mid-text .fl-wrap-row .fl-wrap-col .fl-text .catch,
main .cta2.lazyloaded .mid-text .fl-wrap-row .fl-wrap-col .fl-text .catch,
main .cta3.lazyloaded .mid-text .fl-wrap-row .fl-wrap-col .fl-text .catch {
  font-size: 16px;
  color: #484848;
  font-weight: bold;
  margin: 0;
}

main .cta1.lazyloaded .mid-text .fl-wrap-row .fl-wrap-col .fl-text .left-line,
main .cta2.lazyloaded .mid-text .fl-wrap-row .fl-wrap-col .fl-text .left-line,
main .cta3.lazyloaded .mid-text .fl-wrap-row .fl-wrap-col .fl-text .left-line {
  content: url(/img/line_left1043.png);
}

main .cta1.lazyloaded .mid-text .fl-wrap-row .fl-wrap-col .fl-text .right-line,
main .cta2.lazyloaded .mid-text .fl-wrap-row .fl-wrap-col .fl-text .right-line,
main .cta3.lazyloaded .mid-text .fl-wrap-row .fl-wrap-col .fl-text .right-line {
  content: url(/img/line_right1043.png);
}

@media screen and (max-width: 768px) {
  main .cta1.lazyloaded .mid-text .fl-wrap-row,
  main .cta2.lazyloaded .mid-text .fl-wrap-row,
  main .cta3.lazyloaded .mid-text .fl-wrap-row {
    flex-direction: column;
  }
  main .cta1.lazyloaded .mid-text .fl-wrap-row .fl-wrap-col a.apply,
  main .cta1.lazyloaded .mid-text .fl-wrap-row .fl-wrap-col a.inquire,
  main .cta2.lazyloaded .mid-text .fl-wrap-row .fl-wrap-col a.apply,
  main .cta2.lazyloaded .mid-text .fl-wrap-row .fl-wrap-col a.inquire,
  main .cta3.lazyloaded .mid-text .fl-wrap-row .fl-wrap-col a.apply,
  main .cta3.lazyloaded .mid-text .fl-wrap-row .fl-wrap-col a.inquire {
    font-size: 18px;
    padding: 10px 5px;
  }
}

@media screen and (max-width: 1440px) {
  main .cta1.lazyloaded,
  main .cta2.lazyloaded,
  main .cta3.lazyloaded {
    padding-bottom: 50px;
  }
  main .cta1.lazyloaded .left_pic,
  main .cta1.lazyloaded .right_pic,
  main .cta2.lazyloaded .left_pic,
  main .cta2.lazyloaded .right_pic,
  main .cta3.lazyloaded .left_pic,
  main .cta3.lazyloaded .right_pic {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  main .cta1.lazyloaded,
  main .cta2.lazyloaded,
  main .cta3.lazyloaded {
    padding-bottom: 100px;
  }
}

main .cta2 {
  margin-top: -220px;
}

@media screen and (max-width: 768px) {
  main .cta2 {
    margin-top: -350px;
  }
}

main .cta3 {
  margin-top: -60px;
}

/* ---------------------------------------------------------- */
main .sec4 {
  display: flex;
  justify-content: center;
  align-items: center;
}

main .sec4 .mid-text {
  width: 1004px;
}

main .sec4 .mid-text h2 {
  text-align: center;
  font-size: 34px;
  color: #4b4b4b;
  margin: 50px 0 50px;
}

main .sec4 .mid-text h2 .em {
  font-size: 40px;
  color: #f18d00;
}

@media screen and (max-width: 768px) {
  main .sec4 .mid-text h2 {
    font-size: 26px;
    margin: 0;
  }
}

main .sec4 .mid-text .fl-wrap-row {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  margin: 30px;
}

@media screen and (max-width: 768px) {
  main .sec4 .mid-text .fl-wrap-row {
    margin: 20px;
  }
}

main .sec4 .mid-text .fl-wrap-row .q-mark {
  display: inline-block;
  font-size: 34px;
  font-style: normal;
  font-weight: bold;
  color: #4b4b4b;
  background-color: #fffd47;
  border-radius: 50%;
  padding: 10px;
  line-height: 1em;
  text-align: center;
  width: 1em;
  height: 1em;
  margin-right: 15px;
}

@media screen and (max-width: 768px) {
  main .sec4 .mid-text .fl-wrap-row .q-mark {
    font-size: 20px;
  }
}

main .sec4 .mid-text .fl-wrap-row .fl-wrap-col {
  display: flex;
  flex-direction: column;
}

main .sec4 .mid-text .fl-wrap-row .fl-wrap-col a {
  color: #4b4b4b;
  text-decoration: none;
}

main .sec4 .mid-text .fl-wrap-row .fl-wrap-col a:hover {
  text-decoration: underline;
  color: #32bfed;
}

main .sec4 .mid-text .fl-wrap-row .fl-wrap-col a.em {
  color: #32bfed;
  text-decoration: underline;
}

main .sec4 .mid-text h3 {
  color: #32bfed;
  font-size: 28px;
  margin: 5px 0 0 0;
}

@media screen and (max-width: 768px) {
  main .sec4 .mid-text h3 {
    font-size: 20px;
  }
}

main .sec4 .mid-text .h3p {
  color: #4b4b4b;
  font-size: 18px;
}

main .sec4 .mid-text .line {
  display: block;
  background-image: url(/img/line.png);
  max-width: 100%;
  height: 5px;
}

@media screen and (max-width: 1024px) {
  main .sec4 .mid-text .line {
    margin: 0 20px;
  }
}

/* ---------------------------------------------------------- */
main .sec5 .border {
  background-image: url(/img/border1.png);
  background-size: auto;
  background-position: center center;
  text-align: center;
  background-repeat: repeat-x;
  padding: 50px 0 60px;
  margin-bottom: 30px;
}

@media screen and (max-width: 768px) {
  main .sec5 .border {
    margin-bottom: 0;
  }
}

main .sec5 .border .sub-title {
  display: inline;
  font-weight: bold;
  font-size: 25px;
  color: #4b4b4b;
  background-color: #fff;
  width: 100%;
  padding: 2px 15px 5px;
  border-radius: 25px;
}

main .sec5 .border .sub-title .em {
  /* 色変更 */
  color: #f18d00;
}

@media screen and (max-width: 768px) {
  main .sec5 .border .sub-title {
    font-size: 24px;
    display: block;
    width: auto;
  }
}

@media screen and (max-width: 768px) {
  main .sec5 .border {
    padding-left: 10px;
    padding-right: 10px;
  }
}

main .sec5 .border h2 {
  font-size: 40px;
  color: #fff;
  margin: 10px 0 35px;
}

main .sec5 .border h2 .weak {
  font-size: 30px;
}

@media screen and (max-width: 768px) {
  main .sec5 .border h2 {
    font-size: 26px;
  }
}

main .sec5 .fl-wrap-row {
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: 50px;
  padding-bottom: 80px;
}

main .sec5 .fl-wrap-row .fl-wrap-col {
  display: flex;
  flex-direction: column;
  align-items: center;
}

main .sec5 .fl-wrap-row .icon13,
main .sec5 .fl-wrap-row .icon14,
main .sec5 .fl-wrap-row .icon15,
main .sec5 .fl-wrap-row .icon16,
main .sec5 .fl-wrap-row .icon17,
main .sec5 .fl-wrap-row .icon18 {
  width: 285px;
  height: 292px;
  margin: 0;
  display: flex;
  justify-content: center;
  align-items: flex-end;
}

main .sec5 .fl-wrap-row .icon13 .inner,
main .sec5 .fl-wrap-row .icon14 .inner,
main .sec5 .fl-wrap-row .icon15 .inner,
main .sec5 .fl-wrap-row .icon16 .inner,
main .sec5 .fl-wrap-row .icon17 .inner,
main .sec5 .fl-wrap-row .icon18 .inner {
  display: flex;
  flex-direction: column;
  text-align: center;
}

main .sec5 .fl-wrap-row .icon13 .inner .cap,
main .sec5 .fl-wrap-row .icon14 .inner .cap,
main .sec5 .fl-wrap-row .icon15 .inner .cap,
main .sec5 .fl-wrap-row .icon16 .inner .cap,
main .sec5 .fl-wrap-row .icon17 .inner .cap,
main .sec5 .fl-wrap-row .icon18 .inner .cap {
  font-size: 26px;
  font-weight: bold;
  color: #32bfed;
  margin-bottom: 5px;
}

main .sec5 .fl-wrap-row .icon13 .inner .subcap,
main .sec5 .fl-wrap-row .icon14 .inner .subcap,
main .sec5 .fl-wrap-row .icon15 .inner .subcap,
main .sec5 .fl-wrap-row .icon16 .inner .subcap,
main .sec5 .fl-wrap-row .icon17 .inner .subcap,
main .sec5 .fl-wrap-row .icon18 .inner .subcap {
  color: #484848;
  margin-bottom: 30px;
  padding-left: 30px;
  padding-right: 30px;
  text-align: left;
}

main .sec5 .fl-wrap-row .icon13 {
  background-image: url(/img/icon13.png);
}

main .sec5 .fl-wrap-row .icon14 {
  background-image: url(/img/icon14.png);
}

main .sec5 .fl-wrap-row .icon14 .inner .subcap {
  padding-bottom: 25px;
}

main .sec5 .fl-wrap-row .icon15 {
  background-image: url(/img/icon15.png);
}

main .sec5 .fl-wrap-row .icon15 .inner .subcap {
  padding-bottom: 25px;
}

main .sec5 .fl-wrap-row .icon16 {
  background-image: url(/img/icon16.png);
}

main .sec5 .fl-wrap-row .icon17 {
  background-image: url(/img/icon17.png);
}

main .sec5 .fl-wrap-row .icon18 {
  background-image: url(/img/icon18.png);
}

@media screen and (max-width: 768px) {
  main .sec5 .fl-wrap-row {
    flex-direction: column;
    gap: 0;
  }
}

main .late-sec5 {
  background-color: #e7f6fb;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-bottom: 80px;
}

main .late-sec5 .mid-text {
  width: 1004px;
}

@media screen and (max-width: 768px) {
  main .late-sec5 .mid-text {
    padding-left: 10px;
    padding-right: 10px;
    width: auto;
  }
}

main .late-sec5 .mid-text h2 {
  font-size: 36px;
  color: #4b4b4b;
  padding-top: 50px;
}

main .late-sec5 .mid-text h2 .em {
  color: #f18d00;
}

main .late-sec5 .mid-text h2 .weak {
  font-size: 30px;
}

@media screen and (max-width: 768px) {
  main .late-sec5 .mid-text h2 .weak {
    font-size: 20px;
  }
}

@media screen and (max-width: 768px) {
  main .late-sec5 .mid-text h2 {
    font-size: 26px;
  }
}

main .late-sec5 .mid-text .h2p {
  font-size: 18px;
  margin-bottom: 80px;
}

main .late-sec5 .mid-text h3 {
  color: #fff;
  font-size: 36px;
  background-color: #32bfed;
  display: inline-block;
  padding: 5px 30px;
  margin-bottom: -12px;
  margin-top: -32px;
}

@media screen and (max-width: 768px) {
  main .late-sec5 .mid-text h3 {
    font-size: 24px;
  }
}

main .late-sec5 .mid-text .board {
  font-size: 25px;
  text-align: center;
  border: solid 5px #32bfed;
  background-color: #fff;
  margin-left: 30px;
  margin-right: 30px;
}

@media screen and (max-width: 768px) {
  main .late-sec5 .mid-text .board {
    margin: 0;
  }
}

main .late-sec5 .mid-text .board ul {
  text-align: left;
  padding-left: 70px;
}

@media screen and (max-width: 768px) {
  main .late-sec5 .mid-text .board ul {
    padding-left: 2rem;
    padding-right: 1rem;
  }
}

main .late-sec5 .mid-text .board ul li {
  color: #484848;
  font-size: 20px;
  line-height: 2.5em;
  padding-left: 10px;
}

main .late-sec5 .mid-text .board ul li .em {
  font-weight: bold;
  background: linear-gradient(transparent 60%, #fffe79 60%);
  font-style: normal;
}

main .late-sec5 .mid-text .board ul li::marker {
  content: url(/img/dot.png);
}

@media screen and (max-width: 768px) {
  main .late-sec5 .mid-text .board ul li {
    font-size: 18px;
  }
}

main .late-sec5 .mid-text .afterword {
  font-size: 20px;
  color: #484848;
  font-weight: bold;
}

main .late-sec5 .mid-text .afterword .em {
  color: #3398bb;
}

/* ---------------------------------------------------------- */
main .sec6.lazyloaded {
  background-image: url(/img/bg.png);
  background-size: cover;
  background-position: center center;
  background-repeat: repeat-x;
  padding-bottom: 100px;
}

@media screen and (max-width: 768px) {
  main .sec6.lazyloaded {
    padding-bottom: 200px;
  }
}

main .sec6.lazyloaded h2 {
  text-align: center;
  font-size: 40px;
  color: #fffd47;
  margin-top: 0;
  padding-top: 80px;
}

@media screen and (max-width: 768px) {
  main .sec6.lazyloaded h2 {
    font-size: 28px;
  }
}

main .sec6.lazyloaded .h2p {
  text-align: center;
  font-size: 18px;
  color: #fff;
}

main .sec6.lazyloaded .fl-wrap-row {
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: 40px;
  padding: 30px 200px;
}

@media screen and (max-width: 1024px) {
  main .sec6.lazyloaded .fl-wrap-row {
    flex-direction: column;
    gap: 20px;
  }
}

@media screen and (max-width: 768px) {
  main .sec6.lazyloaded .fl-wrap-row {
    padding: 30px 10px;
    padding-bottom: 0;
  }
}

main .sec6.lazyloaded .fl-wrap-row .fl-wrap-col {
  flex: 1;
  display: flex;
  flex-direction: column;
}

main .sec6.lazyloaded .fl-wrap-row .fl-wrap-col .head {
  text-align: center;
  border-top-left-radius: 25px;
  border-top-right-radius: 25px;
  background-color: #32bfed;
  padding: 25px 20px;
}

main .sec6.lazyloaded .fl-wrap-row .fl-wrap-col .head .catch {
  margin: 0 50px;
  font-size: 24px;
  color: #4b4b4b;
  font-weight: bold;
  background-color: #fff;
  border-radius: 20px;
}

main .sec6.lazyloaded .fl-wrap-row .fl-wrap-col .head .catch .em {
  color: #f18d00;
}

main .sec6.lazyloaded .fl-wrap-row .fl-wrap-col .head .catch .weak {
  font-size: 30px;
}

@media screen and (max-width: 768px) {
  main .sec6.lazyloaded .fl-wrap-row .fl-wrap-col .head .catch {
    margin: 0;
  }
}

main .sec6.lazyloaded .fl-wrap-row .fl-wrap-col .head .sub-title {
  font-size: 28px;
  color: #fff;
  font-weight: bold;
  margin-top: 10px;
  margin-bottom: 0;
}

main .sec6.lazyloaded .fl-wrap-row .fl-wrap-col .head .sub-title .weak {
  font-size: 22px;
}

@media screen and (max-width: 768px) {
  main .sec6.lazyloaded .fl-wrap-row .fl-wrap-col .head .sub-title {
    font-size: 24px;
  }
}

main .sec6.lazyloaded .fl-wrap-row .fl-wrap-col .body {
  text-align: center;
  background-color: #32bfed;
  padding: 25px 40px;
  background-color: #ebf3f1;
  border-bottom-left-radius: 25px;
  border-bottom-right-radius: 25px;
  margin-bottom: 20px;
}

@media screen and (max-width: 768px) {
  main .sec6.lazyloaded .fl-wrap-row .fl-wrap-col .body {
    padding: 20px 20px;
  }
}

main .sec6.lazyloaded .fl-wrap-row .fl-wrap-col .body h3 {
  font-size: 36px;
  margin: 0;
}

@media screen and (max-width: 768px) {
  main .sec6.lazyloaded .fl-wrap-row .fl-wrap-col .body h3 {
    font-size: 34px;
  }
}

main .sec6.lazyloaded .fl-wrap-row .fl-wrap-col .body .price {
  background-color: #fff;
  font-size: 20px;
  border: 40px 10px;
  font-weight: bold;
}

main .sec6.lazyloaded .fl-wrap-row .fl-wrap-col .body .price .money {
  font-size: 36px;
  color: #f18d00;
  margin: 0 5px;
}

main .sec6.lazyloaded .fl-wrap-row .fl-wrap-col .body .h3p {
  text-align: left;
  font-size: 18px;
}

main .sec6.lazyloaded .fl-wrap-row .fl-wrap-col .body h4 {
  font-size: 24px;
  text-align: left;
  margin: 10px 0;
}

main .sec6.lazyloaded .fl-wrap-row .fl-wrap-col .body h5 {
  background-color: #32bfed;
  padding-left: 20px;
  padding-top: 7px;
  font-size: 24px;
  text-align: left;
  color: #fff;
  margin: 0;
}

main .sec6.lazyloaded .fl-wrap-row .fl-wrap-col .body h5.japanese::before {
  content: url(/img/icon19.png);
  vertical-align: middle;
  margin-right: 10px;
}

main .sec6.lazyloaded .fl-wrap-row .fl-wrap-col .body h5.life::before {
  content: url(/img/icon20.png);
  vertical-align: middle;
  margin-right: 10px;
}

main .sec6.lazyloaded .fl-wrap-row .fl-wrap-col .body h5.law::before {
  content: url(/img/icon21.png);
  vertical-align: middle;
  margin-right: 10px;
}

main .sec6.lazyloaded .fl-wrap-row .fl-wrap-col .body h5.literacy::before {
  content: url(/img/icon22.png);
  vertical-align: middle;
  margin-right: 10px;
}

main .sec6.lazyloaded .fl-wrap-row .fl-wrap-col .body ul li {
  text-align: left;
  font-size: 18px;
  color: #484848;
  line-height: 2.0em;
  padding-left: 10px;
}

main .sec6.lazyloaded .fl-wrap-row .fl-wrap-col .body ul li::marker {
  content: url(/img/dot2.png);
}

main .sec6.lazyloaded .fl-wrap-row .fl-wrap-col .body ul li .ano {
  font-size: 16px;
}

main .sec6.lazyloaded .fl-wrap-row .fl-wrap-col .body .ano {
  font-size: 16px;
  color: #484848;
  text-align: left;
  padding-left: 20px;
}

main .sec6.lazyloaded .fl-wrap-row .fl-wrap-col .box {
  text-align: center;
  background-color: #32bfed;
  padding: 25px 40px;
  background-color: #ebf3f1;
  border-radius: 25px;
}

@media screen and (max-width: 768px) {
  main .sec6.lazyloaded .fl-wrap-row .fl-wrap-col .box {
    padding: 20px 20px;
  }
}

main .sec6.lazyloaded .fl-wrap-row .fl-wrap-col .box h4 {
  font-size: 32px;
  margin: 0;
  line-height: 1.4em;
}

@media screen and (max-width: 768px) {
  main .sec6.lazyloaded .fl-wrap-row .fl-wrap-col .box h4 {
    font-size: 26px;
  }
}

main .sec6.lazyloaded .fl-wrap-row .fl-wrap-col .box .h4p {
  font-size: 28px;
}

@media screen and (max-width: 768px) {
  main .sec6.lazyloaded .fl-wrap-row .fl-wrap-col .box .h4p {
    font-size: 24px;
  }
}

main .sec6.lazyloaded .fl-wrap-row .fl-wrap-col .box figure img {
  max-width: 100%;
}

main .sec6.lazyloaded .fl-wrap-row .fl-wrap-col .box figure a:hover {
  opacity: 0.6;
}

main .sec6.lazyloaded .fl-wrap-row2 {
  background-color: #32bfed;
  margin: 10px 200px 200px;
  background-color: #ebf3f1;
  border-radius: 25px;
  display: flex;
  flex-direction: row;
  justify-content: center;
  text-align: left;
  align-items: center;
}

main .sec6.lazyloaded .fl-wrap-row2 figure {
  flex: 5;
  padding: 10px 0;
  display: flex;
  justify-content: center;
}

main .sec6.lazyloaded .fl-wrap-row2 figure img {
  max-width: 100%;
}

main .sec6.lazyloaded .fl-wrap-row2 figure a:hover {
  opacity: 0.6;
}

main .sec6.lazyloaded .fl-wrap-row2 .text {
  flex: 7;
  font-size: 22px;
  color: #484848;
  font-weight: bold;
  display: flex;
  justify-content: center;
}

main .sec6.lazyloaded .fl-wrap-row2 .text .cm .em {
  font-size: 32px;
}

@media screen and (max-width: 768px) {
  main .sec6.lazyloaded .fl-wrap-row2 .text .cm {
    font-size: 20px;
  }
  main .sec6.lazyloaded .fl-wrap-row2 .text .cm .em {
    font-size: 26px;
  }
}

@media screen and (max-width: 1024px) {
  main .sec6.lazyloaded .fl-wrap-row2 {
    flex-direction: column;
    padding: 20px;
    text-align: center;
  }
}

@media screen and (max-width: 768px) {
  main .sec6.lazyloaded .fl-wrap-row2 {
    margin: 0 10px 150px;
  }
}

/* ---------------------------------------------------------- */
main .sec7 {
  padding-bottom: 80px;
}

main .sec7 h2 {
  text-align: center;
  color: #4b4b4b;
  font-size: 30px;
}

main .sec7 h2 .em {
  color: #f18d00;
  font-size: 40px;
}

@media screen and (max-width: 1024px) {
  main .sec7 h2 {
    font-size: 24px;
    margin-bottom: 50px;
  }
  main .sec7 h2 .em {
    font-size: 28px;
  }
}

main .sec7 .box {
  position: relative;
  border: solid 5px #32bfed;
  margin-left: 250px;
  margin-right: 150px;
}

@media screen and (max-width: 768px) {
  main .sec7 .box {
    margin-left: 10px;
    margin-right: 10px;
  }
}

main .sec7 .box h3 {
  font-size: 30px;
  color: #fff;
  background-color: #32bfed;
  margin: 0;
  padding: 10px 50px 10px 100px;
}

@media screen and (max-width: 768px) {
  main .sec7 .box h3 {
    font-size: 24px;
    padding: 10px;
  }
}

main .sec7 .box .h3p {
  padding: 10px 20px;
  font-size: 18px;
  color: #4b4b4b;
}

main .sec7 .box .badge {
  position: absolute;
  left: -50px;
  top: -70px;
  display: flex;
  flex-direction: column;
  font-weight: bold;
  text-align: center;
  background-color: #419cbb;
  height: 7em;
  width: 7em;
  border-radius: 50%;
  color: #fff;
}

main .sec7 .box .badge .step {
  font-size: 23px;
  font-style: normal;
  line-height: 2.6em;
}

main .sec7 .box .badge .num {
  font-size: 50px;
  font-style: normal;
  padding-top: 5px;
  line-height: 0;
}

@media screen and (max-width: 1440px) {
  main .sec7 .box .badge {
    height: 4em;
    width: 4em;
    left: 10px;
    top: -50px;
  }
  main .sec7 .box .badge .step {
    font-size: 12px;
  }
  main .sec7 .box .badge .num {
    font-size: 28px;
  }
}

main .sec7 .box a {
  display: block;
  max-width: 270px;
  font-size: 20px;
  margin: 0 auto 30px;
  padding: 20px 60px;
  text-align: center;
  color: #4b4b4b;
  text-decoration: none;
  font-weight: bold;
  border-radius: 50px;
  border: 0;
  box-shadow: 5px 5px #628894;
}

main .sec7 .box a.apply {
  background-color: #fffd47;
}

main .sec7 .box a.apply::after {
  content: url(/img/angle_bracket.png);
  margin-left: 20px;
}

main .sec7 .box a.apply:hover {
  background-color: #FFFE8C;
  box-shadow: 6px 6px #628894;
}

@media screen and (max-width: 768px) {
  main .sec7 .box a {
    font-size: 18px;
    padding: 10px 20px;
  }
}

main .sec7 .arrow2 {
  background-image: url(/img/arrow2.png);
  display: block;
  width: 80px;
  height: 41px;
  margin: 20px auto;
}

/* ---------------------------------------------------------- */
main .sec8.lazyloaded {
  /* セクション8 */
  background-image: url(/img/zenken_bg.png);
  background-size: cover;
  background-position: center center;
  background-repeat: repeat-x;
  padding-top: 50px;
  padding-bottom: 150px;
  padding-left: 200px;
  padding-right: 100px;
}

main .sec8.lazyloaded h2 {
  text-align: center;
  color: #4b4b4b;
  font-size: 34px;
}

main .sec8.lazyloaded h2 .em {
  color: #f18d00;
  font-size: 42px;
}

@media screen and (max-width: 768px) {
  main .sec8.lazyloaded h2 {
    font-size: 25px;
  }
  main .sec8.lazyloaded h2 .em {
    font-size: 28px;
  }
}

main .sec8.lazyloaded .fl-wrap-row {
  display: flex;
  flex-direction: row;
  gap: 10px;
}

main .sec8.lazyloaded .fl-wrap-row .fl-wrap-col {
  display: flex;
  flex-direction: column;
}

main .sec8.lazyloaded .fl-wrap-row .fl-wrap-col.left {
  flex: 4;
}

main .sec8.lazyloaded .fl-wrap-row .fl-wrap-col.right {
  flex: 3;
  align-items: center;
}

main .sec8.lazyloaded .fl-wrap-row .fl-wrap-col .text {
  color: #484848;
  font-size: 18px;
}

main .sec8.lazyloaded .fl-wrap-row .fl-wrap-col .text .h2p {
  color: #f18d00;
  font-size: 22px;
  font-weight: bold;
  margin-top: 5px;
}

main .sec8.lazyloaded .fl-wrap-row .fl-wrap-col .text table {
  margin-top: 30px;
  border-collapse: collapse;
}

main .sec8.lazyloaded .fl-wrap-row .fl-wrap-col .text table tr {
  border-top: solid 1px #484848;
  border-bottom: solid 1px #484848;
}

main .sec8.lazyloaded .fl-wrap-row .fl-wrap-col .text table tr td {
  padding: 10px 30px;
}

main .sec8.lazyloaded .fl-wrap-row .fl-wrap-col .text table tr td:first-child {
  font-weight: bold;
}

main .sec8.lazyloaded .fl-wrap-row .fl-wrap-col figure img {
  width: 100%;
  max-width: 370px;
}

main .sec8.lazyloaded .fl-wrap-row .fl-wrap-col a {
  color: #484848;
  text-decoration: none;
  background-color: #fff;
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  display: block;
  padding: 10px 50px;
  margin-top: -90px;
  border-radius: 10px;
  border: 0;
  max-width: 300px;
}

main .sec8.lazyloaded .fl-wrap-row .fl-wrap-col a:hover {
  background-color: #BAEEFF;
}

@media screen and (max-width: 768px) {
  main .sec8.lazyloaded .fl-wrap-row .fl-wrap-col a {
    padding: 3px 20px;
    margin-top: -75px;
  }
}

@media screen and (max-width: 1024px) {
  main .sec8.lazyloaded .fl-wrap-row {
    flex-direction: column;
  }
}

@media screen and (max-width: 768px) {
  main .sec8.lazyloaded {
    padding-left: 20px;
    padding-right: 20px;
  }
}

/* ---------------------------------------------------------- */
.footer {
  /* フッター */
  padding: 5px 10px;
}

.footer .fl-wrap {
  display: flex;
  flex-direction: row;
  gap: 10px;
  align-items: flex-end;
  margin: 0;
}

.footer .fl-wrap p {
  font-size: 15px;
  margin-bottom: 2px;
}

/* ---------------------------------------------------------- */
#page-top {
  /* トップに戻るボタン */
  width: 30px;
  height: 10px;
  position: fixed;
  z-index: 10001;
  bottom: 20px;
  right: 0px;
  background: #32bfed;
  border-radius: 10px 0 0 10px;
  padding: 20px 10px 10px 5px;
}

#page-top a {
  position: relative;
  display: block;
}

#page-top a::before {
  font-family: "Font Awesome 5 Free";
  content: '\f106';
  font-weight: 900;
  font-size: 25px;
  color: #fff;
  position: absolute;
  width: 25px;
  height: 25px;
  top: -20px;
  left: 10px;
  margin: auto;
}

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