@charset "UTF-8";
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after, q:before, q:after {
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  font-size: 0;
  clear: both;
  visibility: hidden; }

.clearfix {
  display: inline-block; }

/* Hides from IE Mac */
* html .clearfix {
  height: 1%; }

.clearfix {
  display: block; }

/* ---------- 初期 ---------- */
body {
  letter-spacing: 0;
  font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif; }

img {
  width: 100%;
  max-width: 100%;
  height: auto;
  line-height: 0; }

a {
  text-decoration: none; }

strong {
  font-weight: bold; }

/* ---------- /共通部分 ---------- */
#jougetyuou {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
  margin: auto; }

#kadomaru {
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px; }

#resbtn {
  -webkit-appearance: none; }

.ancr {
  position: relative;
  transition: 0.5s; }

.anca {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  z-index: 10;
  cursor: pointer; }

.ancr:hover {
  opacity: 0.75;
  transition: 0.5s;
  cursor: pointer; }

/* ---------- /参考タグ部分 ---------- */
.wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }

/* PC */
@media screen and (min-width: 769px) {
  .sponly {
    display: none !important; }

  body {
    background: #17A3B7; }

  /*ふわっと設定*/
  .fade-in {
    opacity: 0;
    transition-duration: 800ms;
    transition-property: opacity, transform; }

  .fade-in-up {
    transform: translate(0, 80px); }

  .fade-in-down {
    transform: translate(0, -80px); }

  .fade-in-left {
    transform: translate(-80px, 0); }

  .fade-in-right {
    transform: translate(80px, 0); }

  .scroll-in {
    opacity: 1;
    transform: translate(0, 0); }

  .main_content {
    display: flex;
    justify-content: flex-end;
    flex-direction: row-reverse;
    position: relative;
    /*article*/
    /*TOPページ*/
    /*TOPページ おわり*/ }
    .main_content article {
      width: 458px;
      border: solid 9px #fff;
      box-sizing: border-box;
      border-radius: 20px;
      overflow: hidden;
      background: #17A3B7;
      margin-top: 74px; }
    .main_content aside {
      max-width: 50%;
      flex: 1;
      display: flex;
      justify-content: center; }
      .main_content aside .side_cont {
        width: 45%;
        max-width: 430px;
        height: 100vh;
        display: flex;
        justify-content: center;
        flex-direction: column;
        position: sticky;
        top: 0; }
        .main_content aside .side_cont .side_ttl {
          width: 86.04%;
          margin: 0 auto 66px; }
        .main_content aside .side_cont .side_img {
          width: 36.51%;
          max-width: 157px;
          margin: 0 auto 66px; }
        .main_content aside .side_cont .side_btn {
          width: 100%; }
          .main_content aside .side_cont .side_btn a {
            display: block;
            line-height: 0;
            filter: drop-shadow(0 14px 2px rgba(42, 93, 100, 0.25));
            transition: 0.3s; }
            .main_content aside .side_cont .side_btn a:hover {
              opacity: 0.9; } }
  @media screen and (min-width: 769px) and (max-width: 1000px) {
    .main_content aside .side_cont {
      width: 60%; } }
@media screen and (min-width: 769px) {
    .main_content #top_cont #top_mv {
      background: url("../img/wave_bg_gray.png") no-repeat center bottom -1px;
      background-size: 100% auto; }
      .main_content #top_cont #top_mv .inner {
        width: 387px;
        margin: 0 auto;
        padding: 50px 0 171px;
        position: relative; }
        .main_content #top_cont #top_mv .inner .mv_ttl {
          width: 350px;
          margin: 0 auto; }
        .main_content #top_cont #top_mv .inner .mv_box {
          margin: 42px 0 45px;
          position: relative; }
          .main_content #top_cont #top_mv .inner .mv_box .mv_icon {
            width: 150px;
            position: absolute;
            top: 0;
            left: 0; }
          .main_content #top_cont #top_mv .inner .mv_box .mv_chara {
            width: 209px;
            position: absolute;
            bottom: -19px;
            right: -8px; }
        .main_content #top_cont #top_mv .inner .mv_btn {
          width: 359px;
          margin: 0 auto; }
          .main_content #top_cont #top_mv .inner .mv_btn a {
            display: block;
            line-height: 0;
            filter: drop-shadow(0 14px 2px rgba(42, 93, 100, 0.25));
            transition: 0.3s; }
            .main_content #top_cont #top_mv .inner .mv_btn a:hover {
              opacity: 0.9; }
    .main_content #top_cont #top_about {
      background: #F4F5F7;
      position: relative; }
      .main_content #top_cont #top_about .inner {
        width: 363px;
        margin: 0 auto;
        padding: 17px 0 0; }
        .main_content #top_cont #top_about .inner h2 {
          width: 327px; }
        .main_content #top_cont #top_about .inner .ja_ttl {
          font-size: 27px;
          letter-spacing: 0.09em;
          line-height: 1.6em;
          font-weight: 900;
          color: #17A3B7;
          margin: 6px 0 23px; }
        .main_content #top_cont #top_about .inner .about_txt {
          font-size: 16px;
          letter-spacing: 0.05em;
          line-height: 2em;
          font-weight: 600; }
      .main_content #top_cont #top_about .about_img {
        width: 188px;
        line-height: 0;
        position: absolute;
        right: 0;
        bottom: 0; }
    .main_content #top_cont #top_why {
      margin-top: -1px;
      background: url("../img/wave_bg_green.png") no-repeat center top;
      background-size: 100% auto; }
      .main_content #top_cont #top_why .inner {
        width: 364px;
        margin: 0 auto;
        padding: 155px 0 84px;
        position: relative; }
        .main_content #top_cont #top_why .inner .why_chara {
          width: 157px;
          position: absolute;
          top: 134px;
          left: -19px;
          z-index: 2; }
        .main_content #top_cont #top_why .inner .why_ttl {
          width: 210px;
          margin-left: auto;
          margin-bottom: 44px; }
          .main_content #top_cont #top_why .inner .why_ttl h2 {
            width: 134px;
            margin-bottom: 5px; }
          .main_content #top_cont #top_why .inner .why_ttl .ja_ttl {
            font-size: 27px;
            letter-spacing: 0.09em;
            line-height: 1.6em;
            font-weight: 900;
            color: #fff; }
        .main_content #top_cont #top_why .inner .why_boxes .why_box {
          box-sizing: border-box;
          border: solid 3px #fff;
          padding: 20px 24px;
          position: relative;
          display: flex;
          justify-content: space-between;
          align-items: center; }
          .main_content #top_cont #top_why .inner .why_boxes .why_box:nth-child(n+2) {
            margin-top: 45px; }
          .main_content #top_cont #top_why .inner .why_boxes .why_box.right {
            border-radius: 35px 35px 35px 6px; }
            .main_content #top_cont #top_why .inner .why_boxes .why_box.right .why_box_num {
              right: 27px; }
          .main_content #top_cont #top_why .inner .why_boxes .why_box.left {
            border-radius: 35px 35px 6px 35px; }
            .main_content #top_cont #top_why .inner .why_boxes .why_box.left .why_box_num {
              left: 27px; }
          .main_content #top_cont #top_why .inner .why_boxes .why_box .why_box_num {
            width: 69px;
            position: absolute;
            top: -24px; }
          .main_content #top_cont #top_why .inner .why_boxes .why_box .why_box_icon {
            width: 75px; }
          .main_content #top_cont #top_why .inner .why_boxes .why_box .why_box_txt {
            width: 211px;
            font-size: 20px;
            letter-spacing: 0.05em;
            line-height: 1.6em;
            font-weight: 900;
            color: #fff; }
    .main_content #top_cont #top_method {
      border-radius: 35px;
      background: #FFF9D8; }
      .main_content #top_cont #top_method .inner {
        padding: 66px 0;
        position: relative; }
        .main_content #top_cont #top_method .inner .method_chara {
          width: 163px;
          position: absolute;
          top: -41px;
          right: 29px;
          z-index: 2; }
        .main_content #top_cont #top_method .inner .method_ttl {
          width: 364px;
          margin: 0 auto 48px; }
          .main_content #top_cont #top_method .inner .method_ttl h2 {
            width: 188px;
            margin-bottom: 5px; }
          .main_content #top_cont #top_method .inner .method_ttl .ja_ttl {
            font-size: 27px;
            letter-spacing: 0.09em;
            line-height: 1.6em;
            font-weight: 900;
            color: #17A3B7; }
        .main_content #top_cont #top_method .inner .method_boxes {
          box-sizing: border-box;
          display: flex;
          overflow-x: auto;
          scroll-snap-type: x mandatory;
          position: relative;
          -webkit-overflow-scrolling: touch;
          /* スマホ対応のため必須 */
          overflow-scrolling: touch;
          /* スマホ対応のため必須 */ }
          .main_content #top_cont #top_method .inner .method_boxes::-webkit-scrollbar {
            display: none; }
          .main_content #top_cont #top_method .inner .method_boxes .method_box {
            width: 100%;
            box-sizing: border-box;
            padding: 0 38px;
            scroll-snap-align: center;
            flex: none;
            position: relative; }
            .main_content #top_cont #top_method .inner .method_boxes .method_box::before {
              position: absolute;
              content: "";
              width: 14px;
              height: 23px;
              top: 50%;
              transform: translateY(-50%);
              right: 11px;
              background: url("../img/method_box_arrow.png") no-repeat center;
              background-size: contain; }
            .main_content #top_cont #top_method .inner .method_boxes .method_box:last-child::before {
              display: none !important; }
            .main_content #top_cont #top_method .inner .method_boxes .method_box .method_box_img {
              width: 258px;
              margin: 0 auto; }
            .main_content #top_cont #top_method .inner .method_boxes .method_box h3 {
              margin: 23px 0 12px;
              font-size: 23px;
              letter-spacing: 0.05em;
              line-height: 1.6em;
              font-weight: 900;
              color: #17A3B7;
              text-align: center; }
            .main_content #top_cont #top_method .inner .method_boxes .method_box .method_box_txt {
              font-size: 16px;
              letter-spacing: 0.05em;
              line-height: 2em;
              font-weight: 600; }
    .main_content #top_cont #under_head {
      background: url("../img/under_head.png") no-repeat center bottom #17A3B7;
      background-size: contain;
      box-sizing: border-box;
      padding: 42px 32px 20px; }
      .main_content #top_cont #under_head .under_head_en {
        display: inline-block;
        font-size: 40px;
        color: #B1E5EC;
        margin-right: 18px;
        font-family: Avenir;
        font-weight: 900;
        line-height: 1.2em; }
      .main_content #top_cont #under_head .under_head_jp {
        display: inline-block;
        font-size: 23px;
        font-weight: 900;
        color: #17A3B7;
        text-shadow: 1px 1px 0 #F4F5F7, -1px -1px 0 #F4F5F7, -1px 1px 0 #F4F5F7, 1px -1px 0 #F4F5F7, 0px 1px 0 #F4F5F7, -1px 0 #F4F5F7, -1px 0 0 #F4F5F7, 1px 0 0 #F4F5F7;
        line-height: 1.6em; }
    .main_content #top_cont #under_body {
      background: #F4F5F7;
      box-sizing: border-box;
      padding: 18px 32px; }
      .main_content #top_cont #under_body.under_body2 {
        padding-left: 0;
        padding-right: 0; }
      .main_content #top_cont #under_body .under_ttl {
        text-align: center; }
        .main_content #top_cont #under_body .under_ttl h2 {
          display: inline-block;
          line-height: 1.3em;
          font-size: 23px;
          font-weight: 900;
          color: #17A3B7;
          border-bottom: solid 3px #17A3B7;
          border-top: solid 3px #17A3B7;
          padding: 6px 0;
          letter-spacing: 0.09em;
          margin-top: 20px;
          margin-bottom: 30px; }
          .main_content #top_cont #under_body .under_ttl h2 span {
            font-size: 31px; }
      .main_content #top_cont #under_body .nor_txt {
        text-align: center;
        margin-bottom: 9px;
        font-size: 14px;
        font-weight: 600;
        line-height: 2em;
        letter-spacing: 0.05em; }
      .main_content #top_cont #under_body .btn01 {
        display: inline-block;
        color: #17A3B7;
        border-radius: 100px;
        line-height: 2em;
        box-sizing: border-box;
        border: solid 1px #B1E5EC;
        background: #B1E5EC;
        font-size: 16px;
        letter-spacing: 0.06em;
        font-weight: 600;
        padding: 6px 30px 6px 20px;
        position: relative;
        transition: 0.3s; }
        .main_content #top_cont #under_body .btn01 span {
          position: absolute;
          right: 14px;
          top: 3px;
          font-size: 30px; }
        .main_content #top_cont #under_body .btn01:hover {
          background: #17A3B7;
          color: #fff;
          transition: 0.3s;
          cursor: pointer; }
      .main_content #top_cont #under_body .scr_boxes {
        box-sizing: border-box;
        padding-top: 50px;
        padding-left: 32px;
        white-space: nowrap;
        overflow-x: scroll;
        padding-bottom: 30px;
        margin-bottom: 30px; }
        .main_content #top_cont #under_body .scr_boxes .scr_boxesin {
          font-size: 0; }
          .main_content #top_cont #under_body .scr_boxes .scr_boxesin .scr_box {
            display: inline-block;
            width: 378px;
            background: #fff;
            border-radius: 20px;
            position: relative;
            vertical-align: top;
            margin-right: 34px; }
            .main_content #top_cont #under_body .scr_boxes .scr_boxesin .scr_box:last-child:before {
              display: none; }
            .main_content #top_cont #under_body .scr_boxes .scr_boxesin .scr_box:before {
              content: '';
              width: 12px;
              height: 19px;
              background: url("../img/icon_arr_next.png") no-repeat center;
              background-size: contain;
              top: 50%;
              transform: translateY(-50%);
              right: -23px;
              display: block;
              position: absolute; }
            .main_content #top_cont #under_body .scr_boxes .scr_boxesin .scr_box .scr_box_num {
              font-family: Avenir;
              font-weight: 900;
              font-size: 47px;
              color: #fff;
              position: absolute;
              top: 0;
              margin-top: -38px;
              left: 50%;
              transform: translateX(-50%); }
            .main_content #top_cont #under_body .scr_boxes .scr_boxesin .scr_box .scr_box_img {
              box-sizing: border-box;
              padding: 27px 30px 0; }
              .main_content #top_cont #under_body .scr_boxes .scr_boxesin .scr_box .scr_box_img img {
                display: block; }
            .main_content #top_cont #under_body .scr_boxes .scr_boxesin .scr_box .scr_box_ttl {
              white-space: normal;
              font-size: 20px;
              line-height: 1.6em;
              letter-spacing: 0.05em;
              display: flex;
              justify-content: center;
              align-items: center;
              height: 70px;
              text-align: center;
              color: #008396;
              font-weight: 900;
              margin-bottom: 20px; }
            .main_content #top_cont #under_body .scr_boxes .scr_boxesin .scr_box .txt {
              white-space: normal;
              font-size: 15px;
              line-height: 2em;
              letter-spacing: 0.05em;
              font-weight: 600;
              box-sizing: border-box;
              padding: 0 20px 30px;
              height: 12em; }
              .main_content #top_cont #under_body .scr_boxes .scr_boxesin .scr_box .txt strong {
                color: #008396; }
      .main_content #top_cont #under_body .plan_btn {
        margin-top: 30px;
        margin-bottom: 30px;
        text-align: center; }
      .main_content #top_cont #under_body .plan {
        width: 100%;
        border-radius: 15px;
        overflow: hidden;
        margin-bottom: 56px;
        margin-top: 20px;
        box-sizing: border-box;
        border: solid 2px #F4F5F7; }
        .main_content #top_cont #under_body .plan tr th {
          width: 39%;
          text-align: center;
          vertical-align: middle;
          color: #fff;
          font-size: 14px;
          line-height: 1.3em;
          background: #17A3B7;
          border: solid 2px #F4F5F7;
          font-weight: 600;
          padding: 14px 0; }
          .main_content #top_cont #under_body .plan tr th span {
            font-weight: 400;
            font-size: 12px; }
        .main_content #top_cont #under_body .plan tr td {
          width: 61%;
          border: solid 2px #F4F5F7;
          background: #CFEDF1;
          font-size: 14px;
          line-height: 1.3em;
          font-weight: 600;
          padding: 14px; }
          .main_content #top_cont #under_body .plan tr td strong {
            font-weight: 700;
            margin-top: 1em;
            margin-bottom: 0.5em;
            display: inline-block; }
      .main_content #top_cont #under_body .voice_body {
        background: #fff;
        margin-bottom: 40px; }
        .main_content #top_cont #under_body .voice_body .voice_body_img img {
          display: block; }
        .main_content #top_cont #under_body .voice_body .voice_body_ttl {
          box-sizing: border-box;
          padding: 1em 1em 0.5em;
          line-height: 1.5em;
          color: #17A3B7;
          font-size: 18px;
          line-height: 1.6em;
          font-weight: 700; }
        .main_content #top_cont #under_body .voice_body .txt {
          font-weight: 500;
          line-height: 1.8em;
          font-size: 15px;
          box-sizing: border-box;
          padding: 0 18px 18px; }
      .main_content #top_cont #under_body .voice_boxes_ttl {
        color: #fff;
        font-size: 20px;
        line-height: 1.5em;
        padding: 0.6em 1em;
        box-sizing: border-box;
        margin-bottom: 1em;
        background: #17A3B7;
        font-weight: 600; }
      .main_content #top_cont #under_body .voice_boxes .voice_box {
        border-radius: 20px;
        overflow: hidden;
        background: url("../img/icon_voice.png") no-repeat #fff;
        background-size: 30px;
        background-position: right 10px bottom 10px;
        margin-bottom: 20px; }
        .main_content #top_cont #under_body .voice_boxes .voice_box .voice_box_img img {
          width: 100%;
          height: auto;
          display: block; }
        .main_content #top_cont #under_body .voice_boxes .voice_box .voice_box_txt {
          padding: 10px 20px 30px; }
          .main_content #top_cont #under_body .voice_boxes .voice_box .voice_box_txt .voice_box_txt_ttl {
            color: #17A3B7;
            font-size: 18px;
            line-height: 1.6em;
            font-weight: 900;
            margin-bottom: 5px; }
          .main_content #top_cont #under_body .voice_boxes .voice_box .voice_box_txt .voice_box_txt_txt {
            font-size: 14px;
            line-height: 1.8em;
            font-weight: 600; }
      .main_content #top_cont #under_body .wpnavi {
        text-align: center;
        display: flex;
        justify-content: center;
        flex-wrap: wrap; }
        .main_content #top_cont #under_body .wpnavi span {
          margin: 3px;
          width: 30px;
          height: 30px;
          display: flex;
          justify-content: center;
          align-items: center;
          font-size: 15px;
          font-weight: 900;
          text-align: center;
          box-sizing: border-box;
          border: solid 2px #B1E5EC;
          background: #B1E5EC;
          border-radius: 100px; }
        .main_content #top_cont #under_body .wpnavi a {
          margin: 3px;
          width: 30px;
          height: 30px;
          display: flex;
          justify-content: center;
          align-items: center;
          font-size: 15px;
          font-weight: 900;
          text-align: center;
          border: solid 2px #B1E5EC;
          box-sizing: border-box;
          color: #17A3B7;
          border-radius: 100px; }
          .main_content #top_cont #under_body .wpnavi a:hover {
            background-color: #fff;
            cursor: pointer; }
        .main_content #top_cont #under_body .wpnavi .prev {
          background-image: url("../img/icon_arr_perv.png");
          background-size: 9px;
          background-position: center left 45%;
          background-repeat: no-repeat;
          margin-right: 10px; }
        .main_content #top_cont #under_body .wpnavi .next {
          background-image: url("../img/icon_arr_next.png");
          background-size: 9px;
          background-position: center right 45%;
          background-repeat: no-repeat;
          margin-left: 10px; }
    .main_content #top_cont .header_under {
      box-sizing: border-box;
      padding: 19px 28px; }
      .main_content #top_cont .header_under img {
        width: 160px; }
    .main_content #top_cont #top_try {
      background: url("../img/wave_bg_gray.png") no-repeat center bottom;
      background-size: 100% auto; }
      .main_content #top_cont #top_try.under {
        background-image: url("../img/under_try.png");
        background-position: center top;
        padding-top: 100px; }
        .main_content #top_cont #top_try.under .inner {
          padding-bottom: 60px; }
      .main_content #top_cont #top_try .inner {
        width: 335px;
        margin: 0 auto;
        padding: 58px 0 171px;
        text-align: center;
        color: #fff; }
        .main_content #top_cont #top_try .inner .try_chara {
          width: 186px;
          margin: 0 auto 17px; }
        .main_content #top_cont #top_try .inner h2 {
          width: 224px;
          margin: 0 auto; }
        .main_content #top_cont #top_try .inner h3 {
          margin: 17px 0;
          font-size: 27px;
          letter-spacing: 0.09em;
          line-height: 1.6em;
          font-weight: 900; }
          .main_content #top_cont #top_try .inner h3 span {
            color: #FFF19D; }
        .main_content #top_cont #top_try .inner .try_txt {
          font-size: 20px;
          letter-spacing: 0.05em;
          line-height: 1.8em;
          font-weight: 900;
          margin-bottom: 39px; }
        .main_content #top_cont #top_try .inner .try_btn {
          width: 100%; }
          .main_content #top_cont #top_try .inner .try_btn a {
            display: block;
            width: 100%;
            filter: drop-shadow(0 14px 2px rgba(42, 93, 100, 0.25));
            transition: 0.3s; }
            .main_content #top_cont #top_try .inner .try_btn a:hover {
              opacity: 0.9; }
    .main_content #top_cont #top_teacher {
      margin-top: -1px;
      background: #F4F5F7; }
      .main_content #top_cont #top_teacher .inner {
        width: 363px;
        margin: 0 auto;
        padding: 41px 0 75px;
        position: relative; }
        .main_content #top_cont #top_teacher .inner .teacher_chara {
          width: 161px;
          position: absolute;
          top: -131px;
          right: -24px; }
        .main_content #top_cont #top_teacher .inner .teacher_ttl {
          margin-bottom: 45px; }
          .main_content #top_cont #top_teacher .inner .teacher_ttl h2 {
            width: 184px;
            margin-bottom: 6px; }
          .main_content #top_cont #top_teacher .inner .teacher_ttl .ja_ttl {
            font-size: 27px;
            letter-spacing: 0.09em;
            line-height: 1.6em;
            font-weight: 900;
            color: #17A3B7; }
        .main_content #top_cont #top_teacher .inner .teacher_box .teacher_box_img {
          width: 258px;
          margin: 0 auto; }
        .main_content #top_cont #top_teacher .inner .teacher_box .name {
          margin: 23px 0 12px;
          font-size: 22px;
          letter-spacing: 0.05em;
          line-height: 1.6em;
          font-weight: 900;
          color: #B1E5EC;
          text-align: center; }
        .main_content #top_cont #top_teacher .inner .teacher_box .teacher_box_txt {
          font-size: 16.4px;
          letter-spacing: 0.05em;
          line-height: 2em;
          font-weight: 600; }
    .main_content #top_cont #top_price {
      margin-top: -1px;
      position: relative; }
      .main_content #top_cont #top_price::before {
        position: absolute;
        content: "";
        width: 100%;
        height: 35px;
        left: 0;
        top: 0;
        background: url("../img/price_bg_01.png") no-repeat center top;
        background-size: 100% 100%; }
      .main_content #top_cont #top_price::after {
        position: absolute;
        content: "";
        width: 100%;
        height: 35px;
        left: 0;
        bottom: 0;
        background: url("../img/price_bg_02.png") no-repeat center bottom;
        background-size: 100% 100%; }
      .main_content #top_cont #top_price .inner {
        width: 364px;
        margin: 0 auto;
        padding: 82px 0;
        position: relative; }
        .main_content #top_cont #top_price .inner .price_chara {
          width: 137px;
          position: absolute;
          top: -29px;
          right: 15px;
          transform: rotate(11deg); }
        .main_content #top_cont #top_price .inner .price_ttl {
          margin-bottom: 48px; }
          .main_content #top_cont #top_price .inner .price_ttl h2 {
            width: 120px;
            margin-bottom: 5px; }
          .main_content #top_cont #top_price .inner .price_ttl .ja_ttl {
            font-size: 27px;
            letter-spacing: 0.09em;
            line-height: 1.6em;
            font-weight: 900;
            color: #fff; }
        .main_content #top_cont #top_price .inner .price_btn {
          width: 262px;
          margin-top: 48px; }
          .main_content #top_cont #top_price .inner .price_btn a {
            display: block;
            width: 100%;
            font-size: 21px;
            letter-spacing: 0.05em;
            line-height: 1.6em;
            font-weight: 900;
            color: #17A3B7;
            box-sizing: border-box;
            padding: 8px 0 8px 26px;
            border-radius: 49px;
            background: url("../img/btn_arrow_01.png") no-repeat center right 18px #DFF7FA;
            background-size: 8px;
            transition: 0.3s; }
            .main_content #top_cont #top_price .inner .price_btn a:hover {
              opacity: 0.8; }
    .main_content #top_cont #top_recruit {
      padding: 47px 0;
      background: #fff; }
      .main_content #top_cont #top_recruit .recruit_btn {
        width: 365px;
        margin: 0 auto; }
        .main_content #top_cont #top_recruit .recruit_btn a {
          display: block;
          width: 100%;
          box-sizing: border-box;
          padding: 47px 0 47px 83px;
          border-radius: 117px;
          background: url("../img/btn_arrow_01.png") no-repeat center right 48px #B1E5EC;
          background-size: 14px;
          transition: 0.3s; }
          .main_content #top_cont #top_recruit .recruit_btn a .recruit_btn_txt {
            width: 172px;
            text-align: center; }
            .main_content #top_cont #top_recruit .recruit_btn a .recruit_btn_txt .ja_txt {
              font-size: 20px;
              letter-spacing: 0.05em;
              line-height: 1;
              font-weight: 900;
              color: #17A3B7;
              margin-top: 7px; }
          .main_content #top_cont #top_recruit .recruit_btn a:hover {
            opacity: 0.9; }
    .main_content #top_cont #top_faq {
      background: #F4F5F7;
      position: relative; }
      .main_content #top_cont #top_faq::before {
        position: absolute;
        content: "";
        width: 100%;
        height: 35px;
        left: 0;
        top: 0;
        background: url("../img/faq_bg.png") no-repeat center top;
        background-size: 100% 100%; }
      .main_content #top_cont #top_faq .inner {
        width: 365px;
        margin: 0 auto;
        padding: 105px 0 70px; }
        .main_content #top_cont #top_faq .inner .faq_ttl {
          margin-bottom: 48px; }
          .main_content #top_cont #top_faq .inner .faq_ttl h2 {
            width: 105px;
            margin-bottom: 5px; }
          .main_content #top_cont #top_faq .inner .faq_ttl .ja_ttl {
            font-size: 27px;
            letter-spacing: 0.09em;
            line-height: 1.6em;
            font-weight: 900;
            color: #17A3B7; }
        .main_content #top_cont #top_faq .inner .faq_boxes .faq_box {
          width: 100%;
          border-radius: 6px;
          background: #fff; }
          .main_content #top_cont #top_faq .inner .faq_boxes .faq_box:nth-child(n+2) {
            margin-top: 23px; }
          .main_content #top_cont #top_faq .inner .faq_boxes .faq_box .q_box {
            box-sizing: border-box;
            padding: 12px 50px 12px 12px;
            position: relative;
            cursor: pointer; }
            .main_content #top_cont #top_faq .inner .faq_boxes .faq_box .q_box::before {
              position: absolute;
              content: "";
              width: 20px;
              height: 5px;
              right: 15px;
              top: 25px;
              background: #17A3B7; }
            .main_content #top_cont #top_faq .inner .faq_boxes .faq_box .q_box::after {
              position: absolute;
              content: "";
              width: 20px;
              height: 5px;
              right: 15px;
              top: 25px;
              background: #17A3B7;
              transform: rotate(90deg);
              transition: 0.3s; }
            .main_content #top_cont #top_faq .inner .faq_boxes .faq_box .q_box.open::after {
              transform: rotate(0); }
            .main_content #top_cont #top_faq .inner .faq_boxes .faq_box .q_box .q_txt {
              font-size: 19px;
              letter-spacing: 0.05em;
              line-height: 1.55em;
              font-weight: 900; }
          .main_content #top_cont #top_faq .inner .faq_boxes .faq_box .a_box {
            display: none;
            box-sizing: border-box;
            padding: 0 12px 12px; }
            .main_content #top_cont #top_faq .inner .faq_boxes .faq_box .a_box .a_txt {
              font-size: 16.5px;
              letter-spacing: 0.05em;
              line-height: 1.45em;
              font-weight: 600; }
              .main_content #top_cont #top_faq .inner .faq_boxes .faq_box .a_box .a_txt a {
                text-decoration: underline;
                color: #000; }
    .main_content #top_cont footer {
      margin-top: -1px;
      padding-top: 197px;
      background: url("../img/wave_bg_green.png") no-repeat center top;
      background-size: 100% auto; }
      .main_content #top_cont footer.under {
        background-image: url("../img/under_wave.png");
        background-position: center top; }
      .main_content #top_cont footer .footer_logo {
        width: 294px;
        margin: 0 auto 60px; }
      .main_content #top_cont footer .footer_sns {
        display: flex;
        justify-content: center; }
        .main_content #top_cont footer .footer_sns li {
          width: 56px;
          margin: 0 24px; }
          .main_content #top_cont footer .footer_sns li a {
            display: block;
            width: 100%; }
      .main_content #top_cont footer .footer_menu {
        text-align: center;
        margin: 60px 0; }
        .main_content #top_cont footer .footer_menu li {
          font-size: 17px;
          letter-spacing: 0.05em;
          line-height: 1.6em;
          font-weight: 900; }
          .main_content #top_cont footer .footer_menu li:nth-child(n+2) {
            margin-top: 17px; }
          .main_content #top_cont footer .footer_menu li a {
            display: inline-block;
            color: #fff; }
            .main_content #top_cont footer .footer_menu li a:hover {
              text-decoration: underline; }
      .main_content #top_cont footer .footer_btn {
        width: 370px;
        margin: 0 auto 84px; }
        .main_content #top_cont footer .footer_btn a {
          display: block;
          width: 100%;
          filter: drop-shadow(0 14px 2px rgba(42, 93, 100, 0.25));
          transition: 0.3s; }
          .main_content #top_cont footer .footer_btn a:hover {
            opacity: 0.9; }
      .main_content #top_cont footer .copyright {
        font-size: 14px;
        letter-spacing: 0.0em;
        line-height: 1.5em;
        font-weight: bold;
        color: #fff;
        text-align: center;
        padding: 7px 0;
        background: #008396; }
        .main_content #top_cont footer .copyright span {
          font-weight: 500; } }
/* SP */
@media screen and (max-width: 769px) {
  .pconly {
    display: none !important; }

  html {
    font-size: calc(1vw * 100 / 375); }

  /*ふわっと設定*/
  .fade-in {
    opacity: 0;
    transition-duration: 800ms;
    transition-property: opacity, transform; }

  .fade-in-up {
    transform: translate(0, 80rem); }

  .fade-in-down {
    transform: translate(0, -80rem); }

  .fade-in-left {
    transform: translate(-80rem, 0); }

  .fade-in-right {
    transform: translate(80rem, 0); }

  .scroll-in {
    opacity: 1;
    transform: translate(0, 0); }

  header {
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    box-sizing: border-box;
    padding: 3.46vw 0;
    z-index: 10;
    transition: 0.3s;
    height: 20vw; }
    header.sc {
      background: #17A3B7;
      transition: 0.3s; }
    header .sp_logo {
      position: absolute;
      left: 5vw;
      width: 40%;
      top: 6vw; }

  /*ハンバーガー メニュー*/
  nav.hum {
    display: block;
    position: fixed;
    top: 0;
    right: -100vw;
    /*bottom: 0;*/
    width: 100vw;
    height: 100vh;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    transition: all .5s;
    z-index: 21;
    opacity: 1;
    background: #fff;
    box-sizing: border-box; }
    nav.hum .hum_menu {
      box-sizing: border-box;
      padding: 20vw 5vw 5vw; }
      nav.hum .hum_menu li {
        border-bottom: dashed 1px #008396; }
        nav.hum .hum_menu li a {
          font-weight: 500;
          display: block;
          padding: 5vw 0;
          color: #008396;
          font-size: 5vw; }
    nav.hum .hum_btn {
      box-sizing: border-box;
      padding: 5vw 5vw 10vw; }
    nav.hum .copyright {
      text-align: center;
      font-size: 3vw; }

  .open nav.hum {
    right: 0;
    opacity: 1; }

  /*============
  .toggle_btn
  =============*/
  .toggle_btn {
    display: block;
    position: fixed;
    top: 9rem;
    right: 10rem;
    width: 121rem;
    height: 55rem;
    transition: all .5s;
    cursor: pointer;
    border-radius: 35rem;
    background: #008396;
    z-index: 23;
    filter: drop-shadow(0 5rem 2rem rgba(42, 93, 100, 0.25)); }

  .toggle_btn span {
    display: block;
    position: absolute;
    right: 16rem;
    width: 22rem;
    height: 4rem;
    background-color: #fff;
    border-radius: 100rem;
    transition: all .5s; }

  .toggle_btn .toggle_ttl {
    width: 56rem;
    position: absolute;
    left: 17rem;
    top: 50%;
    transform: translateY(-50%);
    color: #fff; }

  .toggle_btn span:nth-child(1) {
    top: 18rem; }

  .toggle_btn span:nth-child(2) {
    top: 26rem; }

  .toggle_btn span:nth-child(3) {
    top: 34rem; }

  .open .toggle_btn span:nth-child(1) {
    -webkit-transform: translateY(8rem) rotate(-315deg);
    transform: translateY(8rem) rotate(-315deg); }

  .open .toggle_btn span:nth-child(2) {
    opacity: 0; }

  .open .toggle_btn span:nth-child(3) {
    -webkit-transform: translateY(-8rem) rotate(315deg);
    transform: translateY(-8rem) rotate(315deg); }

  /*============
  #mask
  =============*/
  #mask {
    display: none;
    transition: all .5s; }

  .open #mask {
    display: block;
    transition: all .5s;
    position: absolute;
    top: 13.73vw;
    right: 0;
    width: 100%;
    height: 100vh;
    z-index: 20; }

  .main_content {
    width: 100%;
    /*article*/
    /*TOPページ*/
    /*TOPページ おわり*/ }
    .main_content article {
      overflow: hidden;
      background: #17A3B7; }
    .main_content aside {
      display: none !important; }
    .main_content #top_cont #top_mv {
      background: url("../img/wave_bg_gray.png") no-repeat center bottom -1px;
      background-size: 100% auto; }
      .main_content #top_cont #top_mv .inner {
        width: 330rem;
        margin: 0 auto;
        padding: 86rem 0 145rem;
        position: relative; }
        .main_content #top_cont #top_mv .inner .mv_ttl {
          width: 298rem;
          margin: 0 auto; }
        .main_content #top_cont #top_mv .inner .mv_box {
          margin: 36rem 0 39rem;
          position: relative; }
          .main_content #top_cont #top_mv .inner .mv_box .mv_icon {
            width: 128rem;
            position: absolute;
            top: 0;
            left: 0; }
          .main_content #top_cont #top_mv .inner .mv_box .mv_chara {
            width: 178rem;
            position: absolute;
            bottom: -16rem;
            right: -7rem; }
        .main_content #top_cont #top_mv .inner .mv_btn {
          width: 306rem;
          margin: 0 auto; }
          .main_content #top_cont #top_mv .inner .mv_btn a {
            display: block;
            line-height: 0;
            filter: drop-shadow(0 10rem 2rem rgba(42, 93, 100, 0.25)); }
    .main_content #top_cont #top_about {
      background: #F4F5F7;
      position: relative; }
      .main_content #top_cont #top_about .inner {
        width: 310rem;
        margin: 0 auto;
        padding: 15px 0 21rem; }
        .main_content #top_cont #top_about .inner h2 {
          width: 279rem; }
        .main_content #top_cont #top_about .inner .ja_ttl {
          font-size: 23rem;
          letter-spacing: 0.09em;
          line-height: 1.6em;
          font-weight: 900;
          color: #17A3B7;
          margin: 5rem 0 20rem; }
        .main_content #top_cont #top_about .inner .about_txt {
          font-size: 14rem;
          letter-spacing: 0.05em;
          line-height: 2em;
          font-weight: 600; }
      .main_content #top_cont #top_about .about_img {
        width: 160rem;
        line-height: 0;
        position: absolute;
        right: 0;
        bottom: 0; }
    .main_content #top_cont #top_why {
      margin-top: -1px;
      background: url("../img/wave_bg_green.png") no-repeat center top;
      background-size: 100% auto; }
      .main_content #top_cont #top_why .inner {
        width: 310rem;
        margin: 0 auto;
        padding: 132rem 0 72rem;
        position: relative; }
        .main_content #top_cont #top_why .inner .why_chara {
          width: 134rem;
          position: absolute;
          top: 69rem;
          left: -16rem;
          z-index: 2; }
        .main_content #top_cont #top_why .inner .why_ttl {
          width: 180rem;
          margin-left: auto;
          margin-bottom: 38rem; }
          .main_content #top_cont #top_why .inner .why_ttl h2 {
            width: 114rem;
            margin-bottom: 5rem; }
          .main_content #top_cont #top_why .inner .why_ttl .ja_ttl {
            font-size: 23rem;
            letter-spacing: 0.09em;
            line-height: 1.6em;
            font-weight: 900;
            color: #fff; }
        .main_content #top_cont #top_why .inner .why_boxes .why_box {
          box-sizing: border-box;
          border: solid 3rem #fff;
          padding: 17rem 20rem;
          position: relative;
          display: flex;
          justify-content: space-between;
          align-items: center; }
          .main_content #top_cont #top_why .inner .why_boxes .why_box:nth-child(n+2) {
            margin-top: 38rem; }
          .main_content #top_cont #top_why .inner .why_boxes .why_box.right {
            border-radius: 30rem 30rem 30rem 5rem; }
            .main_content #top_cont #top_why .inner .why_boxes .why_box.right .why_box_num {
              right: 27rem; }
          .main_content #top_cont #top_why .inner .why_boxes .why_box.left {
            border-radius: 30rem 30rem 5rem 30rem; }
            .main_content #top_cont #top_why .inner .why_boxes .why_box.left .why_box_num {
              left: 27rem; }
          .main_content #top_cont #top_why .inner .why_boxes .why_box .why_box_num {
            width: 58rem;
            position: absolute;
            top: -20rem; }
          .main_content #top_cont #top_why .inner .why_boxes .why_box .why_box_icon {
            width: 64rem; }
          .main_content #top_cont #top_why .inner .why_boxes .why_box .why_box_txt {
            width: 180rem;
            font-size: 17rem;
            letter-spacing: 0.05em;
            line-height: 1.6em;
            font-weight: 900;
            color: #fff; }
    .main_content #top_cont #top_method {
      border-radius: 30rem;
      background: #FFF9D8; }
      .main_content #top_cont #top_method .inner {
        padding: 56rem 0;
        position: relative; }
        .main_content #top_cont #top_method .inner .method_chara {
          width: 139rem;
          position: absolute;
          top: -35rem;
          right: 24rem;
          z-index: 2; }
        .main_content #top_cont #top_method .inner .method_ttl {
          width: 310rem;
          margin: 0 auto 41rem; }
          .main_content #top_cont #top_method .inner .method_ttl h2 {
            width: 160rem;
            margin-bottom: 5rem; }
          .main_content #top_cont #top_method .inner .method_ttl .ja_ttl {
            font-size: 23rem;
            letter-spacing: 0.09em;
            line-height: 1.6em;
            font-weight: 900;
            color: #17A3B7; }
        .main_content #top_cont #top_method .inner .method_boxes {
          box-sizing: border-box;
          display: flex;
          overflow-x: auto;
          scroll-snap-type: x mandatory;
          position: relative;
          -webkit-overflow-scrolling: touch;
          /* スマホ対応のため必須 */
          overflow-scrolling: touch;
          /* スマホ対応のため必須 */ }
          .main_content #top_cont #top_method .inner .method_boxes::-webkit-scrollbar {
            display: none; }
          .main_content #top_cont #top_method .inner .method_boxes .method_box {
            width: 100%;
            box-sizing: border-box;
            padding: 0 32rem;
            scroll-snap-align: center;
            flex: none;
            position: relative; }
            .main_content #top_cont #top_method .inner .method_boxes .method_box::before {
              position: absolute;
              content: "";
              width: 12rem;
              height: 19rem;
              top: 50%;
              transform: translateY(-50%);
              right: 11rem;
              background: url("../img/method_box_arrow.png") no-repeat center;
              background-size: contain; }
            .main_content #top_cont #top_method .inner .method_boxes .method_box:last-child::before {
              display: none !important; }
            .main_content #top_cont #top_method .inner .method_boxes .method_box .method_box_img {
              width: 220rem;
              margin: 0 auto; }
            .main_content #top_cont #top_method .inner .method_boxes .method_box h3 {
              margin: 20rem 0 10rem;
              font-size: 20rem;
              letter-spacing: 0.05em;
              line-height: 1.6em;
              font-weight: 900;
              color: #17A3B7;
              text-align: center; }
            .main_content #top_cont #top_method .inner .method_boxes .method_box .method_box_txt {
              font-size: 14rem;
              letter-spacing: 0.05em;
              line-height: 2em;
              font-weight: 600; }
    .main_content #top_cont #under_head {
      background: url("../img/under_head.png") no-repeat center bottom #17A3B7;
      background-size: contain;
      box-sizing: border-box;
      padding: 102rem 32rem 20rem; }
      .main_content #top_cont #under_head .under_head_en {
        display: inline-block;
        font-size: 40rem;
        color: #B1E5EC;
        margin-right: 18rem;
        font-family: Avenir;
        font-weight: 900;
        line-height: 1.2em; }
      .main_content #top_cont #under_head .under_head_jp {
        display: inline-block;
        font-size: 23rem;
        font-weight: 900;
        color: #17A3B7;
        text-shadow: 1rem 1rem 0 #F4F5F7, -1rem -1rem 0 #F4F5F7, -1rem 1rem 0 #F4F5F7, 1rem -1rem 0 #F4F5F7, 0rem 1rem 0 #F4F5F7, -1rem 0 #F4F5F7, -1rem 0 0 #F4F5F7, 1rem 0 0 #F4F5F7;
        line-height: 1.6em; }
    .main_content #top_cont #under_body {
      background: #F4F5F7;
      box-sizing: border-box;
      padding: 18rem 32rem; }
      .main_content #top_cont #under_body.under_body2 {
        padding-left: 0;
        padding-right: 0; }
      .main_content #top_cont #under_body .under_ttl {
        text-align: center; }
        .main_content #top_cont #under_body .under_ttl h2 {
          display: inline-block;
          line-height: 1.3em;
          font-size: 23rem;
          font-weight: 900;
          color: #17A3B7;
          border-bottom: solid 3rem #17A3B7;
          border-top: solid 3rem #17A3B7;
          padding: 6rem 0;
          letter-spacing: 0.09em;
          margin-top: 20rem;
          margin-bottom: 30rem; }
          .main_content #top_cont #under_body .under_ttl h2 span {
            font-size: 31rem; }
      .main_content #top_cont #under_body .nor_txt {
        text-align: center;
        margin-bottom: 9rem;
        font-size: 14rem;
        font-weight: 600;
        line-height: 2em;
        letter-spacing: 0.05em; }
      .main_content #top_cont #under_body .btn01 {
        display: inline-block;
        color: #17A3B7;
        border-radius: 100rem;
        line-height: 2em;
        box-sizing: border-box;
        border: solid 1rem #B1E5EC;
        background: #B1E5EC;
        font-size: 16rem;
        letter-spacing: 0.06em;
        font-weight: 600;
        padding: 6rem 30rem 6rem 20rem;
        position: relative;
        transition: 0.3s; }
        .main_content #top_cont #under_body .btn01 span {
          position: absolute;
          right: 14rem;
          top: 3rem;
          font-size: 30rem; }
        .main_content #top_cont #under_body .btn01:hover {
          background: #17A3B7;
          color: #fff;
          transition: 0.3s;
          cursor: pointer; }
      .main_content #top_cont #under_body .scr_boxes {
        box-sizing: border-box;
        padding-top: 50rem;
        padding-left: 32rem;
        white-space: nowrap;
        overflow-x: scroll;
        padding-bottom: 30rem;
        margin-bottom: 30rem; }
        .main_content #top_cont #under_body .scr_boxes .scr_boxesin {
          font-size: 0; }
          .main_content #top_cont #under_body .scr_boxes .scr_boxesin .scr_box {
            display: inline-block;
            width: 378rem;
            background: #fff;
            border-radius: 20rem;
            position: relative;
            vertical-align: top;
            margin-right: 34rem; }
            .main_content #top_cont #under_body .scr_boxes .scr_boxesin .scr_box:last-child:before {
              display: none; }
            .main_content #top_cont #under_body .scr_boxes .scr_boxesin .scr_box:before {
              content: '';
              width: 12rem;
              height: 19rem;
              background: url("../img/icon_arr_next.png") no-repeat center;
              background-size: contain;
              top: 50%;
              transform: translateY(-50%);
              right: -23rem;
              display: block;
              position: absolute; }
            .main_content #top_cont #under_body .scr_boxes .scr_boxesin .scr_box .scr_box_num {
              font-family: Avenir;
              font-weight: 900;
              font-size: 47rem;
              color: #fff;
              position: absolute;
              top: 0;
              margin-top: -38rem;
              left: 50%;
              transform: translateX(-50%); }
            .main_content #top_cont #under_body .scr_boxes .scr_boxesin .scr_box .scr_box_img {
              box-sizing: border-box;
              padding: 27rem 30rem 0; }
              .main_content #top_cont #under_body .scr_boxes .scr_boxesin .scr_box .scr_box_img img {
                display: block; }
            .main_content #top_cont #under_body .scr_boxes .scr_boxesin .scr_box .scr_box_ttl {
              white-space: normal;
              font-size: 20rem;
              line-height: 1.6em;
              letter-spacing: 0.05em;
              display: flex;
              justify-content: center;
              align-items: center;
              height: 70rem;
              text-align: center;
              color: #008396;
              font-weight: 900;
              margin-bottom: 20rem; }
            .main_content #top_cont #under_body .scr_boxes .scr_boxesin .scr_box .txt {
              white-space: normal;
              font-size: 15rem;
              line-height: 2em;
              letter-spacing: 0.05em;
              font-weight: 600;
              box-sizing: border-box;
              padding: 0 20rem 30rem;
              height: 12em; }
              .main_content #top_cont #under_body .scr_boxes .scr_boxesin .scr_box .txt strong {
                color: #008396; }
      .main_content #top_cont #under_body .plan_btn {
        margin-top: 30rem;
        margin-bottom: 30rem;
        text-align: center; }
      .main_content #top_cont #under_body .plan {
        width: 100%;
        border-radius: 15rem;
        overflow: hidden;
        margin-bottom: 56rem;
        margin-top: 20rem;
        box-sizing: border-box;
        border: solid 2rem #F4F5F7; }
        .main_content #top_cont #under_body .plan tr th {
          width: 39%;
          text-align: center;
          vertical-align: middle;
          color: #fff;
          font-size: 14rem;
          line-height: 1.3em;
          background: #17A3B7;
          border: solid 2rem #F4F5F7;
          font-weight: 600;
          padding: 14rem 0; }
          .main_content #top_cont #under_body .plan tr th span {
            font-weight: 400;
            font-size: 12rem; }
        .main_content #top_cont #under_body .plan tr td {
          width: 61%;
          border: solid 2rem #F4F5F7;
          background: #CFEDF1;
          font-size: 14rem;
          line-height: 1.3em;
          font-weight: 600;
          padding: 14rem; }
          .main_content #top_cont #under_body .plan tr td strong {
            font-weight: 700;
            margin-top: 1em;
            margin-bottom: 0.5em;
            display: inline-block; }
      .main_content #top_cont #under_body .voice_body {
        background: #fff;
        margin-bottom: 40rem; }
        .main_content #top_cont #under_body .voice_body .voice_body_img img {
          display: block; }
        .main_content #top_cont #under_body .voice_body .voice_body_ttl {
          box-sizing: border-box;
          padding: 1em 1em 0.5em;
          line-height: 1.5em;
          color: #17A3B7;
          font-size: 18rem;
          line-height: 1.6em;
          font-weight: 700; }
        .main_content #top_cont #under_body .voice_body .txt {
          font-weight: 500;
          line-height: 1.8em;
          font-size: 15rem;
          box-sizing: border-box;
          padding: 0 18rem 18rem; }
      .main_content #top_cont #under_body .voice_boxes_ttl {
        color: #fff;
        font-size: 20rem;
        line-height: 1.5em;
        padding: 0.6em 1em;
        box-sizing: border-box;
        margin-bottom: 1em;
        background: #17A3B7;
        font-weight: 600; }
      .main_content #top_cont #under_body .voice_boxes .voice_box {
        border-radius: 20rem;
        overflow: hidden;
        background: url("../img/icon_voice.png") no-repeat #fff;
        background-size: 30rem;
        background-position: right 10rem bottom 10rem;
        margin-bottom: 20rem; }
        .main_content #top_cont #under_body .voice_boxes .voice_box .voice_box_img img {
          width: 100%;
          height: auto;
          display: block; }
        .main_content #top_cont #under_body .voice_boxes .voice_box .voice_box_txt {
          padding: 10rem 20rem 30rem; }
          .main_content #top_cont #under_body .voice_boxes .voice_box .voice_box_txt .voice_box_txt_ttl {
            color: #17A3B7;
            font-size: 18rem;
            line-height: 1.6em;
            font-weight: 900;
            margin-bottom: 5rem; }
          .main_content #top_cont #under_body .voice_boxes .voice_box .voice_box_txt .voice_box_txt_txt {
            font-size: 14rem;
            line-height: 1.8em;
            font-weight: 600; }
      .main_content #top_cont #under_body .wpnavi {
        text-align: center;
        display: flex;
        justify-content: center;
        flex-wrap: wrap; }
        .main_content #top_cont #under_body .wpnavi span {
          margin: 3rem;
          width: 30rem;
          height: 30rem;
          display: flex;
          justify-content: center;
          align-items: center;
          font-size: 15rem;
          font-weight: 900;
          text-align: center;
          box-sizing: border-box;
          border: solid 2rem #B1E5EC;
          background: #B1E5EC;
          border-radius: 100rem; }
        .main_content #top_cont #under_body .wpnavi a {
          margin: 3rem;
          width: 30rem;
          height: 30rem;
          display: flex;
          justify-content: center;
          align-items: center;
          font-size: 15rem;
          font-weight: 900;
          text-align: center;
          border: solid 2rem #B1E5EC;
          box-sizing: border-box;
          color: #17A3B7;
          border-radius: 100rem; }
          .main_content #top_cont #under_body .wpnavi a:hover {
            background-color: #fff;
            cursor: pointer; }
        .main_content #top_cont #under_body .wpnavi .prev {
          background-image: url("../img/icon_arr_perv.png");
          background-size: 9rem;
          background-position: center left 45%;
          background-repeat: no-repeat;
          margin-right: 10rem; }
        .main_content #top_cont #under_body .wpnavi .next {
          background-image: url("../img/icon_arr_next.png");
          background-size: 9rem;
          background-position: center right 45%;
          background-repeat: no-repeat;
          margin-left: 10rem; }
    .main_content #top_cont .header_under {
      box-sizing: border-box;
      padding: 19rem 28rem; }
      .main_content #top_cont .header_under img {
        width: 160rem; }
    .main_content #top_cont #top_try {
      background: url("../img/wave_bg_gray.png") no-repeat center bottom;
      background-size: 100% auto; }
      .main_content #top_cont #top_try.under {
        background-image: url("../img/under_try.png");
        background-position: center top;
        padding-top: 100rem; }
        .main_content #top_cont #top_try.under .inner {
          padding-bottom: 60rem; }
      .main_content #top_cont #top_try .inner {
        width: 286rem;
        margin: 0 auto;
        padding: 50rem 0 147rem;
        text-align: center;
        color: #fff; }
        .main_content #top_cont #top_try .inner .try_chara {
          width: 158rem;
          margin: 0 auto 15rem; }
        .main_content #top_cont #top_try .inner h2 {
          width: 191rem;
          margin: 0 auto; }
        .main_content #top_cont #top_try .inner h3 {
          margin: 15rem 0;
          font-size: 23rem;
          letter-spacing: 0.09em;
          line-height: 1.6em;
          font-weight: 900; }
          .main_content #top_cont #top_try .inner h3 span {
            color: #FFF19D; }
        .main_content #top_cont #top_try .inner .try_txt {
          font-size: 17rem;
          letter-spacing: 0.05em;
          line-height: 1.8em;
          font-weight: 900;
          margin-bottom: 33rem; }
        .main_content #top_cont #top_try .inner .try_btn {
          width: 100%; }
          .main_content #top_cont #top_try .inner .try_btn a {
            display: block;
            width: 100%;
            filter: drop-shadow(0 10rem 2rem rgba(42, 93, 100, 0.25)); }
    .main_content #top_cont #top_teacher {
      margin-top: -1rem;
      background: #F4F5F7; }
      .main_content #top_cont #top_teacher .inner {
        width: 310rem;
        margin: 0 auto;
        padding: 35rem 0 60rem;
        position: relative; }
        .main_content #top_cont #top_teacher .inner .teacher_chara {
          width: 137rem;
          position: absolute;
          top: -111rem;
          right: -20rem; }
        .main_content #top_cont #top_teacher .inner .teacher_ttl {
          margin-bottom: 38rem; }
          .main_content #top_cont #top_teacher .inner .teacher_ttl h2 {
            width: 157rem;
            margin-bottom: 5rem; }
          .main_content #top_cont #top_teacher .inner .teacher_ttl .ja_ttl {
            font-size: 23rem;
            letter-spacing: 0.09em;
            line-height: 1.6em;
            font-weight: 900;
            color: #17A3B7; }
        .main_content #top_cont #top_teacher .inner .teacher_box .teacher_box_img {
          width: 220rem;
          margin: 0 auto; }
        .main_content #top_cont #top_teacher .inner .teacher_box .name {
          margin: 20rem 0 10rem;
          font-size: 19rem;
          letter-spacing: 0.05em;
          line-height: 1.6em;
          font-weight: 900;
          color: #B1E5EC;
          text-align: center; }
        .main_content #top_cont #top_teacher .inner .teacher_box .teacher_box_txt {
          font-size: 14rem;
          letter-spacing: 0.05em;
          line-height: 2em;
          font-weight: 600; }
    .main_content #top_cont #top_price {
      margin-top: -1rem;
      position: relative; }
      .main_content #top_cont #top_price::before {
        position: absolute;
        content: "";
        width: 100%;
        height: 30rem;
        left: 0;
        top: 0;
        background: url("../img/price_bg_01.png") no-repeat center top;
        background-size: 100% 100%; }
      .main_content #top_cont #top_price::after {
        position: absolute;
        content: "";
        width: 100%;
        height: 30rem;
        left: 0;
        bottom: 0;
        background: url("../img/price_bg_02.png") no-repeat center bottom;
        background-size: 100% 100%; }
      .main_content #top_cont #top_price .inner {
        width: 310rem;
        margin: 0 auto;
        padding: 70rem 0;
        position: relative; }
        .main_content #top_cont #top_price .inner .price_chara {
          width: 117rem;
          position: absolute;
          top: -25rem;
          right: 13rem;
          transform: rotate(11deg); }
        .main_content #top_cont #top_price .inner .price_ttl {
          margin-bottom: 48rem; }
          .main_content #top_cont #top_price .inner .price_ttl h2 {
            width: 103rem;
            margin-bottom: 5rem; }
          .main_content #top_cont #top_price .inner .price_ttl .ja_ttl {
            font-size: 23rem;
            letter-spacing: 0.09em;
            line-height: 1.6em;
            font-weight: 900;
            color: #fff; }
        .main_content #top_cont #top_price .inner .price_btn {
          width: 224rem;
          margin-top: 42rem; }
          .main_content #top_cont #top_price .inner .price_btn a {
            display: block;
            width: 100%;
            font-size: 18rem;
            letter-spacing: 0.05em;
            line-height: 1.6em;
            font-weight: 900;
            color: #17A3B7;
            box-sizing: border-box;
            padding: 7rem 0 7rem 22rem;
            border-radius: 42rem;
            background: url("../img/btn_arrow_01.png") no-repeat center right 15rem #DFF7FA;
            background-size: 7rem; }
    .main_content #top_cont #top_recruit {
      padding: 40rem 0;
      background: #fff; }
      .main_content #top_cont #top_recruit .recruit_btn {
        width: 311rem;
        margin: 0 auto; }
        .main_content #top_cont #top_recruit .recruit_btn a {
          display: block;
          width: 100%;
          box-sizing: border-box;
          padding: 40rem 0 40rem 71rem;
          border-radius: 100rem;
          background: url("../img/btn_arrow_01.png") no-repeat center right 41rem #B1E5EC;
          background-size: 12rem; }
          .main_content #top_cont #top_recruit .recruit_btn a .recruit_btn_txt {
            width: 147rem;
            text-align: center; }
            .main_content #top_cont #top_recruit .recruit_btn a .recruit_btn_txt .ja_txt {
              font-size: 17rem;
              letter-spacing: 0.05em;
              line-height: 1;
              font-weight: 900;
              color: #17A3B7;
              margin-top: 6rem; }
    .main_content #top_cont #top_faq {
      background: #F4F5F7;
      position: relative; }
      .main_content #top_cont #top_faq::before {
        position: absolute;
        content: "";
        width: 100%;
        height: 30rem;
        left: 0;
        top: 0;
        background: url("../img/faq_bg.png") no-repeat center top;
        background-size: 100% 100%; }
      .main_content #top_cont #top_faq .inner {
        width: 310rem;
        margin: 0 auto;
        padding: 90rem 0 60rem; }
        .main_content #top_cont #top_faq .inner .faq_ttl {
          margin-bottom: 41rem; }
          .main_content #top_cont #top_faq .inner .faq_ttl h2 {
            width: 90rem;
            margin-bottom: 5rem; }
          .main_content #top_cont #top_faq .inner .faq_ttl .ja_ttl {
            font-size: 23rem;
            letter-spacing: 0.09em;
            line-height: 1.6em;
            font-weight: 900;
            color: #17A3B7; }
        .main_content #top_cont #top_faq .inner .faq_boxes .faq_box {
          width: 100%;
          border-radius: 5rem;
          background: #fff; }
          .main_content #top_cont #top_faq .inner .faq_boxes .faq_box:nth-child(n+2) {
            margin-top: 20rem; }
          .main_content #top_cont #top_faq .inner .faq_boxes .faq_box .q_box {
            box-sizing: border-box;
            padding: 10rem 42rem 10rem 10rem;
            position: relative;
            cursor: pointer; }
            .main_content #top_cont #top_faq .inner .faq_boxes .faq_box .q_box::before {
              position: absolute;
              content: "";
              width: 17rem;
              height: 4rem;
              right: 13rem;
              top: 22rem;
              /*top: 50%;
              transform: translateY(-50%);*/
              background: #17A3B7; }
            .main_content #top_cont #top_faq .inner .faq_boxes .faq_box .q_box::after {
              position: absolute;
              content: "";
              width: 17rem;
              height: 4rem;
              right: 13rem;
              top: 22rem;
              transform: rotate(90deg);
              /*top: 50%;
              transform: translateY(-50%);*/
              background: #17A3B7;
              transition: 0.3s; }
            .main_content #top_cont #top_faq .inner .faq_boxes .faq_box .q_box.open::after {
              transform: rotate(0); }
            .main_content #top_cont #top_faq .inner .faq_boxes .faq_box .q_box .q_txt {
              font-size: 16rem;
              letter-spacing: 0.05em;
              line-height: 1.5em;
              font-weight: 900; }
          .main_content #top_cont #top_faq .inner .faq_boxes .faq_box .a_box {
            display: none;
            box-sizing: border-box;
            padding: 0 10rem 10rem; }
            .main_content #top_cont #top_faq .inner .faq_boxes .faq_box .a_box .a_txt {
              font-size: 14rem;
              letter-spacing: 0.05em;
              line-height: 1.428em;
              font-weight: 600; }
              .main_content #top_cont #top_faq .inner .faq_boxes .faq_box .a_box .a_txt a {
                text-decoration: underline;
                color: #000; }
    .main_content #top_cont footer {
      margin-top: -1rem;
      padding-top: 169rem;
      background: url("../img/wave_bg_green.png") no-repeat center top;
      background-size: 100% auto; }
      .main_content #top_cont footer.under {
        background-image: url("../img/under_wave.png");
        background-position: center top; }
      .main_content #top_cont footer .footer_logo {
        width: 250rem;
        margin: 0 auto 51rem; }
      .main_content #top_cont footer .footer_sns {
        display: flex;
        justify-content: center; }
        .main_content #top_cont footer .footer_sns li {
          width: 48rem;
          margin: 0 20rem; }
          .main_content #top_cont footer .footer_sns li a {
            display: block;
            width: 100%; }
      .main_content #top_cont footer .footer_menu {
        text-align: center;
        margin: 51rem 0; }
        .main_content #top_cont footer .footer_menu li {
          font-size: 15rem;
          letter-spacing: 0.05em;
          line-height: 1.6em;
          font-weight: 900; }
          .main_content #top_cont footer .footer_menu li:nth-child(n+2) {
            margin-top: 15rem; }
          .main_content #top_cont footer .footer_menu li a {
            display: inline-block;
            color: #fff; }
            .main_content #top_cont footer .footer_menu li a:hover {
              text-decoration: underline; }
      .main_content #top_cont footer .footer_btn {
        width: 316rem;
        margin: 0 auto 72rem; }
        .main_content #top_cont footer .footer_btn a {
          display: block;
          width: 100%;
          filter: drop-shadow(0 10rem 2rem rgba(42, 93, 100, 0.25)); }
      .main_content #top_cont footer .copyright {
        font-size: 12rem;
        letter-spacing: 0.0em;
        line-height: 1.5em;
        font-weight: bold;
        color: #fff;
        text-align: center;
        padding: 6rem 0;
        background: #008396; }
        .main_content #top_cont footer .copyright span {
          font-weight: 500; } }
