@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Roboto:700");
ul, ol, li {
  margin: 0;
  padding: 0;
  list-style: none; }

figure {
  margin: 0; }

.fr {
  float: right; }

.imgR {
  float: right;
  margin-left: 20px; }

.fl {
  float: left; }

.imgL {
  float: left;
  margin-right: 20px; }

.imgC, .tC {
  text-align: center; }

.imgC {
  display: block;
  margin-left: auto;
  margin-right: auto; }

.tR {
  text-align: right; }

.mt0 {
  margin-top: 0px !important; }

.mb0 {
  margin-bottom: 0px !important; }

.pt0 {
  padding-top: 0px !important; }

.pb0 {
  padding-bottom: 0px !important; }

.mt5 {
  margin-top: 5px !important; }

.mb5 {
  margin-bottom: 5px !important; }

.pt5 {
  padding-top: 5px !important; }

.pb5 {
  padding-bottom: 5px !important; }

.mt10 {
  margin-top: 10px !important; }

.mb10 {
  margin-bottom: 10px !important; }

.pt10 {
  padding-top: 10px !important; }

.pb10 {
  padding-bottom: 10px !important; }

.mt15 {
  margin-top: 15px !important; }

.mb15 {
  margin-bottom: 15px !important; }

.pt15 {
  padding-top: 15px !important; }

.pb15 {
  padding-bottom: 15px !important; }

.mt20 {
  margin-top: 20px !important; }

.mb20 {
  margin-bottom: 20px !important; }

.pt20 {
  padding-top: 20px !important; }

.pb20 {
  padding-bottom: 20px !important; }

.mt25 {
  margin-top: 25px !important; }

.mb25 {
  margin-bottom: 25px !important; }

.pt25 {
  padding-top: 25px !important; }

.pb25 {
  padding-bottom: 25px !important; }

.mt30 {
  margin-top: 30px !important; }

.mb30 {
  margin-bottom: 30px !important; }

.pt30 {
  padding-top: 30px !important; }

.pb30 {
  padding-bottom: 30px !important; }

.mt35 {
  margin-top: 35px !important; }

.mb35 {
  margin-bottom: 35px !important; }

.pt35 {
  padding-top: 35px !important; }

.pb35 {
  padding-bottom: 35px !important; }

.mt40 {
  margin-top: 40px !important; }

.mb40 {
  margin-bottom: 40px !important; }

.pt40 {
  padding-top: 40px !important; }

.pb40 {
  padding-bottom: 40px !important; }

.mt45 {
  margin-top: 45px !important; }

.mb45 {
  margin-bottom: 45px !important; }

.pt45 {
  padding-top: 45px !important; }

.pb45 {
  padding-bottom: 45px !important; }

.mt50 {
  margin-top: 50px !important; }

.mb50 {
  margin-bottom: 50px !important; }

.pt50 {
  padding-top: 50px !important; }

.pb50 {
  padding-bottom: 50px !important; }

.mr0 {
  margin-right: 0 !important; }

.pr0 {
  padding-right: 0 !important; }

/* clearfix */
.clear-fix {
  zoom: 1; }
  .clear-fix:before, .clear-fix:after {
    content: "";
    display: table;
    height: 0;
    visibility: hidden; }
  .clear-fix:after {
    clear: both; }

.clear {
  clear: both; }

/* =========================================================
 font
========================================================= */
@font-face {
  font-family: 'mplus-2p-regular';
  src: url("/lp/generic/fonts/mplus-2p-regular.eot");
  src: url("/lp/generic/fonts/mplus-2p-regular.eot?#iefix") format("embedded-opentype"), url("/lp/generic/fonts/mplus-2p-regular.woff") format("woff"), url("/lp/generic/fonts/mplus-2p-regular.ttf") format("truetype");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'mplus-2p-bold';
  src: url("/lp/generic/fonts/mplus-2p-bold.eot");
  src: url("/lp/generic/fonts/mplus-2p-bold.eot?#iefix") format("embedded-opentype"), url("/lp/generic/fonts/mplus-2p-bold.woff") format("woff"), url("/lp/generic/fonts/mplus-2p-bold.ttf") format("truetype");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'mplus-2p-heavy';
  src: url("/lp/generic/fonts/mplus-2p-heavy.eot");
  src: url("/lp/generic/fonts/mplus-2p-heavy.eot?#iefix") format("embedded-opentype"), url("/lp/generic/fonts/mplus-2p-heavy.woff") format("woff"), url("/lp/generic/fonts/mplus-2p-heavy.ttf") format("truetype");
  font-weight: normal;
  font-style: normal; }

/* 基本タグのフォントサイズを指定（12px -> 120% or 1.2em ） */
h1, h2, h3, h4, h5, h6, input, button, textarea, select, p, th, td, address, li, dt, dd {
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt"; }

.contents h1, .contents h2, .contents h3, .contents h4, .contents h5, .contents h6, .contents input, .contents button, .contents textarea, .contents select, .contents p, .contents th, .contents td, .contents address, .contents li, .contents dt, .contents dd {
  font-family: "mplus-2p-regular", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: normal;
  font-style: normal;
  line-height: 1.6;
  letter-spacing: 1px; }
  @media screen and (min-width: 768px) {
    .contents h1, .contents h2, .contents h3, .contents h4, .contents h5, .contents h6, .contents input, .contents button, .contents textarea, .contents select, .contents p, .contents th, .contents td, .contents address, .contents li, .contents dt, .contents dd {
      font-size: 16px; } }
  @media screen and (max-width: 767px) {
    .contents h1, .contents h2, .contents h3, .contents h4, .contents h5, .contents h6, .contents input, .contents button, .contents textarea, .contents select, .contents p, .contents th, .contents td, .contents address, .contents li, .contents dt, .contents dd {
      font-size: 14px; } }

/* =========================================================
	element style
========================================================= */
html, body {
  height: 100%; }

body {
  color: #000; }

.contents a {
  text-decoration: none; }

@media screen and (min-width: 1024px) {
  .contents a {
    -o-transition: all 0.3s;
    transition: all 0.3s;
    -moz-transition: all 0.3s;
    -webkit-transition: all 0.3s; }
    .contents a:hover {
      text-decoration: none; } }

.contents img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom; }

/* =========================================================
	general
========================================================= */
.contents .container {
  width: auto;
  max-width: none; }

.contents section {
  padding: 0; }

.contents .box-slider {
  margin: 0; }
  .contents .box-slider .basis-dots {
    height: 10px;
    text-align: center; }
    @media screen and (min-width: 768px) {
      .contents .box-slider .basis-dots {
        margin-top: 20px; } }
    @media screen and (max-width: 767px) {
      .contents .box-slider .basis-dots {
        margin-top: 15px; } }
  .contents .box-slider li {
    display: inline-block;
    padding: 0 5px; }
  .contents .box-slider li button {
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    display: block;
    overflow: hidden;
    text-indent: -999px;
    padding: 0;
    width: 30px;
    height: 10px;
    margin: 0;
    background: #ccc;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px; }
  .contents .box-slider .img-wrap {
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-flex-direction: column;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column; }
    .contents .box-slider .img-wrap .sz-lazy-wrapper {
      width: 100%; }

.iframe-ov {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.sz-lazy-wrapper, .sz-lazy {
  -webkit-overflow-scrolling: touch; }

.article, .section {
  zoom: 1; }
  .article:before, .article:after, .section:before, .section:after {
    content: "";
    display: table;
    height: 0;
    visibility: hidden; }
  .article:after, .section:after {
    clear: both; }
  .article p:last-child, .article ul:last-child, .article dl:last-child, .section p:last-child, .section ul:last-child, .section dl:last-child {
    margin-bottom: 0; }

.article {
  width: 90%;
  max-width: 1000px;
  margin: auto; }
  @media screen and (min-width: 768px) {
    .article {
      padding: 0 0 75px; } }
  .article p, .article ul, .article dl {
    margin-bottom: 1em;
    line-height: 1.8; }

.section {
  width: 100%;
  padding: 50px 0 0; }

ul.attention {
  margin: 0; }
  @media screen and (min-width: 768px) {
    ul.attention {
      display: inline-block; } }
  ul.attention li {
    margin-left: 1em;
    text-indent: -1em;
    text-align: left !important; }
    @media screen and (min-width: 768px) {
      ul.attention li {
        font-size: 12px; } }
    @media screen and (max-width: 767px) {
      ul.attention li {
        font-size: 10px; } }

.btn-action {
  max-width: 400px;
  margin: auto; }
  @media screen and (min-width: 768px) {
    .btn-action {
      padding-top: 50px; } }
  @media screen and (max-width: 767px) {
    .btn-action {
      padding-top: 5px; } }
  .btn-action a {
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    color: #fff;
    background-color: #82CD01;
    background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #92e601), color-stop(100%, #82cd01));
    background: -moz-linear-gradient(top, #92e601, #82cd01);
    background: -webkit-linear-gradient(top, #92e601, #82cd01);
    background: -webkit-gradient(linear, left top, left bottom, from(#92e601), to(#82cd01));
    background: -o-linear-gradient(top, #92e601, #82cd01);
    background: linear-gradient(to bottom, #92e601, #82cd01);
    -webkit-box-shadow: 0 3px 0 #5C9100;
    box-shadow: 0 3px 0 #5C9100;
    font-family: 'mplus-2p-bold';
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px; }
    @media screen and (min-width: 768px) {
      .btn-action a {
        height: 70px;
        font-size: 30px; }
        .btn-action a:hover {
          opacity: .7; } }
    @media screen and (max-width: 767px) {
      .btn-action a {
        height: 50px;
        font-size: 20px; } }

/* header
========================================================= */
#instance-top .header-instance {
  border: none; }

/* keyvisual
========================================================= */
.keyvisual {
  position: relative;
  background: url(/lp/generic/images/keyvisual-bg.png) no-repeat top center #f7f7f6;
  background-size: auto 100%;
  -moz-background-size: auto 100%;
  -webkit-background-size: auto 100%; }
  @media screen and (min-width: 768px) {
    .keyvisual:before {
      content: "";
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 10px;
      background: #e00000;
      z-index: 1; } }
  .keyvisual h1 {
    position: relative;
    max-width: 1000px;
    margin: auto;
    z-index: 2; }

/* course
========================================================= */
.cnt-course .keyvisual {
  position: relative;
  border-top: 1px solid #e00000;
  background: #fff;
  -webkit-box-shadow: 0px 3px 7px 0px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 3px 7px 0px rgba(0, 0, 0, 0.1); }
  @media screen and (min-width: 768px) {
    .cnt-course .keyvisual {
      margin-bottom: 100px;
      border-top-width: 10px; } }
  @media screen and (max-width: 767px) {
    .cnt-course .keyvisual {
      margin-bottom: 30px;
      border-top-width: 5px; } }
  .cnt-course .keyvisual:before {
    display: none; }
  .cnt-course .keyvisual h2 {
    width: 100%;
    max-width: 1000px;
    margin: auto; }
    @media screen and (min-width: 768px) {
      .cnt-course .keyvisual h2 img {
        width: 50%; } }
  .cnt-course .keyvisual figure {
    position: absolute;
    top: 0;
    left: 50%;
    width: 50%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: auto 100%;
    -moz-background-size: auto 100%;
    -webkit-background-size: auto 100%; }

@media screen and (min-width: 768px) {
  .cnt-course .article {
    text-align: center; } }

.cnt-course .article .slide {
  position: relative;
  max-width: 680px;
  margin: auto; }
  @media screen and (min-width: 768px) {
    .cnt-course .article .slide {
      margin-top: 50px; } }
  @media screen and (max-width: 767px) {
    .cnt-course .article .slide {
      margin-top: 35px; } }
  @media screen and (min-width: 768px) {
    .cnt-course .article .slide .slick-track {
      padding-top: 40px; } }
  @media screen and (max-width: 767px) {
    .cnt-course .article .slide .slick-track {
      padding: 25px 0 0; } }
  .cnt-course .article .slide figure {
    border: 2px solid #e00000;
    background: #fff;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box; }
    @media screen and (max-width: 767px) {
      .cnt-course .article .slide figure {
        margin: 0 1px; } }
    @media screen and (min-width: 768px) {
      .cnt-course .article .slide figure {
        padding: 60px 40px 40px;
        -webkit-border-radius: 20px;
        -moz-border-radius: 20px;
        border-radius: 20px; } }
    @media screen and (max-width: 767px) {
      .cnt-course .article .slide figure {
        padding: 45px 20px 20px;
        -webkit-border-radius: 10px;
        -moz-border-radius: 10px;
        border-radius: 10px; } }
  .cnt-course .article .slide .item {
    position: relative;
    width: 100%; }
    .cnt-course .article .slide .item .basis-dots {
      position: absolute;
      width: 100%;
      margin: 0; }
      @media screen and (min-width: 768px) {
        .cnt-course .article .slide .item .basis-dots {
          bottom: -70px; } }
      @media screen and (max-width: 767px) {
        .cnt-course .article .slide .item .basis-dots {
          bottom: -45px; } }
    .cnt-course .article .slide .item h3 {
      border-bottom: dotted 2px #e00000;
      font-family: 'mplus-2p-heavy', sans-serif;
      text-align: center;
      line-height: 1; }
      @media screen and (min-width: 768px) {
        .cnt-course .article .slide .item h3 {
          margin-bottom: 30px;
          padding-bottom: 25px;
          font-size: 30px; } }
      @media screen and (max-width: 767px) {
        .cnt-course .article .slide .item h3 {
          margin-bottom: 15px;
          padding-bottom: 15px;
          font-size: 22px; } }
      .cnt-course .article .slide .item h3 i {
        position: absolute;
        width: 100%;
        left: 0;
        text-align: center; }
        @media screen and (min-width: 768px) {
          .cnt-course .article .slide .item h3 i {
            top: -100px; } }
        @media screen and (max-width: 767px) {
          .cnt-course .article .slide .item h3 i {
            top: -70px; } }
        .cnt-course .article .slide .item h3 i img {
          display: inline-block;
          margin: 0 5px; }
          @media screen and (min-width: 768px) {
            .cnt-course .article .slide .item h3 i img {
              width: 80px; } }
          @media screen and (max-width: 767px) {
            .cnt-course .article .slide .item h3 i img {
              width: 50px; } }
    .cnt-course .article .slide .item iframe {
      border: none; }

.cnt-course .article .price {
  text-align: center; }
  @media screen and (min-width: 768px) {
    .cnt-course .article .price {
      margin-top: 50px; } }
  @media screen and (max-width: 767px) {
    .cnt-course .article .price {
      margin-top: 30px; } }
  .cnt-course .article .price .icon {
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: auto; }
    @media screen and (min-width: 768px) {
      .cnt-course .article .price .icon {
        padding-bottom: 20px; } }
    @media screen and (max-width: 767px) {
      .cnt-course .article .price .icon {
        padding-bottom: 10px; } }
    .cnt-course .article .price .icon li {
      position: relative;
      padding: 0 5px;
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      box-sizing: border-box;
      text-align: center; }
      .cnt-course .article .price .icon li:after {
        position: absolute;
        top: 0;
        right: 0;
        font-family: 'mplus-2p-bold';
        line-height: 1; }
        @media screen and (min-width: 768px) {
          .cnt-course .article .price .icon li:after {
            font-size: 12px; } }
        @media screen and (max-width: 767px) {
          .cnt-course .article .price .icon li:after {
            font-size: 8px;
            margin-top: -2px; } }
  .cnt-course .article .price i {
    display: block;
    position: relative;
    margin: 0 auto;
    border: none; }
    @media screen and (min-width: 768px) {
      .cnt-course .article .price i {
        max-width: 460px;
        margin-bottom: 50px;
        border-bottom: solid 4px #e00000; } }
    @media screen and (max-width: 767px) {
      .cnt-course .article .price i {
        max-width: 70%;
        margin-bottom: 25px;
        border-bottom: solid 2px #e00000; } }
    .cnt-course .article .price i:before, .cnt-course .article .price i:after {
      display: block;
      position: absolute;
      content: "";
      left: 50%;
      -webkit-transform: rotate(135deg);
      -ms-transform: rotate(135deg);
      transform: rotate(135deg); }
    .cnt-course .article .price i:before {
      background: #e00000; }
    .cnt-course .article .price i:after {
      background: #f6faf3; }
    @media screen and (min-width: 768px) {
      .cnt-course .article .price i:before, .cnt-course .article .price i:after {
        width: 30px;
        height: 30px;
        margin-left: -15px; }
      .cnt-course .article .price i:before {
        bottom: -19px; }
      .cnt-course .article .price i:after {
        bottom: -13px; } }
    @media screen and (max-width: 767px) {
      .cnt-course .article .price i:before, .cnt-course .article .price i:after {
        width: 16px;
        height: 16px;
        margin-left: -18px; }
      .cnt-course .article .price i:before {
        bottom: -10px; }
      .cnt-course .article .price i:after {
        bottom: -7px; } }
  .cnt-course .article .price dl {
    text-align: center; }
  .cnt-course .article .price dt, .cnt-course .article .price dd {
    font-family: 'mplus-2p-bold';
    text-align: center;
    line-height: 1; }
  @media screen and (min-width: 768px) {
    .cnt-course .article .price dt {
      margin-bottom: 20px;
      font-size: 30px; } }
  @media screen and (max-width: 767px) {
    .cnt-course .article .price dt {
      margin-bottom: 15px;
      font-size: 24px; } }
  .cnt-course .article .price dd {
    display: inline-block;
    position: relative; }
    .cnt-course .article .price dd span, .cnt-course .article .price dd em {
      display: inline-block; }
    .cnt-course .article .price dd .cap {
      background: #e00000;
      color: #fff;
      vertical-align: text-bottom;
      -webkit-border-radius: 5px;
      -moz-border-radius: 5px;
      border-radius: 5px; }
      @media screen and (min-width: 768px) {
        .cnt-course .article .price dd .cap {
          margin-right: 20px;
          padding: 0 20px;
          font-size: 30px;
          line-height: 60px; } }
      @media screen and (max-width: 767px) {
        .cnt-course .article .price dd .cap {
          margin-right: 10px;
          padding: 0 10px;
          font-size: 20px;
          line-height: 35px; } }
    .cnt-course .article .price dd em {
      color: #e00000;
      font-family: "Roboto", sans-serif; }
      @media screen and (min-width: 768px) {
        .cnt-course .article .price dd em {
          font-size: 90px; } }
      @media screen and (max-width: 767px) {
        .cnt-course .article .price dd em {
          font-size: 50px; } }
    .cnt-course .article .price dd .yen {
      color: #e00000;
      vertical-align: baseline; }
      @media screen and (min-width: 768px) {
        .cnt-course .article .price dd .yen {
          font-size: 34px; } }
      @media screen and (max-width: 767px) {
        .cnt-course .article .price dd .yen {
          font-size: 19px; } }
    .cnt-course .article .price dd .tax {
      position: absolute;
      right: 0; }
      .cnt-course .article .price dd .tax:after {
        position: absolute;
        content: "※";
        right: 0; }
        @media screen and (min-width: 768px) {
          .cnt-course .article .price dd .tax:after {
            top: -15px;
            font-size: 12px; } }
        @media screen and (max-width: 767px) {
          .cnt-course .article .price dd .tax:after {
            top: -10px;
            font-size: 8px; } }
      @media screen and (min-width: 768px) {
        .cnt-course .article .price dd .tax {
          margin-top: 20px;
          font-size: 16px; } }
      @media screen and (max-width: 767px) {
        .cnt-course .article .price dd .tax {
          margin-top: 10px;
          font-size: 10px; } }

/* youji
========================================================= */
#cnt-youji {
  background-color: #ffffff; }
  #cnt-youji .keyvisual {
    border-top-color: #9F9F9F; }
    #cnt-youji .keyvisual figure {
      background-image: url(/lp/generic/images/youji-keivisual-bg.png); }
  #cnt-youji .article .slide {
    border-color: #4d9e0b; }
    #cnt-youji .article .slide figure {
      border-color: #4d9e0b; }
    #cnt-youji .article .slide h3 {
      color: #4d9e0b;
      border-color: #4d9e0b; }
    #cnt-youji .article .slide .box-slider .basis-dots li.slick-active button,
    #cnt-youji .article .slide .box-slider .basis-dots li button:hover {
      background: #4d9e0b; }
    @media screen and (min-width: 768px) {
      #cnt-youji .article .slide .youji-hiragana .sz-lazy-wrapper {
        margin: auto;
        padding-top: 0 !important;
        width: 400px !important;
        height: 450px !important; } }
    #cnt-youji .article .slide .youji-hiragana iframe {
      min-height: 0 !important;
      min-width: 0 !important;
      max-width: none !important;
      max-height: 450px !important; }
  #cnt-youji .article .price .icon {
    max-width: 540px; }
    #cnt-youji .article .price .icon li {
      width: 16.66666%;
      margin-bottom: 10px; }
  #cnt-youji .article .price i {
    border-color: #4d9e0b; }
    #cnt-youji .article .price i:before {
      background: #4d9e0b; }
    #cnt-youji .article .price i:after {
      background: #f6faf3; }
  #cnt-youji .article .price dd .cap {
    background: #4d9e0b; }
