@charset "UTF-8";
.main-color {
  color: #183264 !important;
}

.bg-white {
  background-color: #ffffff;
}

/* CSS Document */
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
/*要素のフォントサイズやマージン・パディングをリセットしています*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-weight: normal;
  vertical-align: baseline;
  background: transparent;
}

/*行の高さをフォントサイズと同じにしています*/
body {
  line-height: 1;
}

/*新規追加要素のデフォルトはすべてインライン要素になっているので、section要素などをブロック要素へ変更しています*/
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

/*行頭記号を表示しないようにしています*/
ol, ul, li {
  list-style: none;
}

/*引用符の表示が出ないようにしています*/
blockquote, q {
  quotes: none;
}

/*blockquote要素、q要素の前後にコンテンツを追加しないように指定しています*/
blockquote:before,
blockquote:after,
q:before, q:after {
  content: '';
  content: none;
}

/*a要素のフォントサイズなどをリセットしフォントの縦方向の揃え位置を親要素のベースラインに揃えるようにしています*/
a {
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  background: transparent;
  text-decoration: none;
}

/* ins要素のデフォルトをセットし、色を変える場合はここで変更できるようにしています */
ins {
  color: #000;
  text-decoration: none;
}

/* mark要素のデフォルトをセットし、色やフォントスタイルを変える場合はここで変更できるようにしています
また、mark要素とは、文書内の検索結果で該当するフレーズをハイライトして、目立たせる際に使用するようです。*/
mark {
  background-color: #FF9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

/*テキストに打ち消し線が付くようにしています*/
del {
  text-decoration: line-through;
}

/*IEではデフォルトで点線を下線表示する設定ではないので、下線がつくようにしています

また、マウスオーバー時にヘルプカーソルの表示が出るようにしています*/
abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

/*隣接するセルのボーダーを重ねて表示し、間隔を0に指定しています*/
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/*縦方向の揃え位置を中央揃えに指定しています*/
input, select {
  vertical-align: middle;
}

/*水平罫線のデフォルトである立体的な罫線を見えなくしています*/
hr {
  clear: both;
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #CCC;
  margin: 1em 0;
}

/*画像の初期位置*/
img {
  vertical-align: bottom;
}

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

*:after, *:before {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html, body {
  height: 100%;
}

html {
  font-size: 62.5%;
  /*10px*/
}

body {
  background-color: #ffffff !important;
  color: #333333 !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "游ゴシック Medium", "Yu Gothic", YuGothic, YuGothicMedium, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif !important;
}

@media only screen and (max-width: 990px) {
  body {
    font-size: 14px !important;
    font-size: 1.4rem !important;
  }
}

section {
  width: 100%;
  margin: auto;
  padding-top: 60px;
  padding-bottom: 60px;
  background-color: #ffffff;
}

@media only screen and (max-width: 990px) {
  section {
    padding-top: 30px;
    padding-bottom: 30px;
  }
}

section:last-child {
  margin-bottom: 0;
}

@media only screen and (max-width: 990px) {
  section:last-child {
    margin-bottom: 0;
  }
}

p {
  margin-top: 0;
  margin-bottom: 2rem !important;
  font-size: 15px !important;
  font-size: 1.5rem !important;
  line-height: 1.65;
}

@media only screen and (max-width: 990px) {
  p {
    font-size: 14px !important;
    font-size: 1.4rem !important;
  }
}

a:hover {
  opacity: 0.7 !important;
}

.text-color-default {
  color: #333333 !important;
}

.w-100-sp {
  width: auto;
}

@media only screen and (max-width: 990px) {
  .w-100-sp {
    width: 100%;
  }
}

.fleft {
  float: left;
}

.clear_fleft {
  clear: left;
}

.fright {
  float: right;
}

.clear_fright {
  clear: right;
}

.b {
  font-weight: bold !important;
}

.fw_normal {
  font-weight: normal !important;
}

.dc {
  font-size: xx-small;
}

.txt-center {
  text-align: center !important;
}

.txt-left {
  text-align: left !important;
}

.txt-right {
  text-align: right !important;
}

.bg-main {
  background-color: #183264;
}

.bg-blue {
  background-color: #a0bfe5;
}

.bg-blue-light {
  background-color: #ecf2f8;
}

.bg-blue-lightmore {
  background-color: #f8f9fa;
}

@media only screen and (max-width: 990px) {
  .pcView {
    display: none !important;
  }
}

@media only screen and (min-width: 991px) {
  .spView {
    display: none !important;
  }
}

.m-inner {
  margin: auto;
  width: 100%;
  max-width: 1180px;
}

@media only screen and (max-width: 1180px) {
  .m-inner {
    padding: 0 15px;
  }
}

.m-header {
  background-color: #183264;
  width: 100%;
  position: fixed;
  z-index: 1;
  top: 0;
}

.m-header-inner {
  max-width: 1550px;
  height: 60px;
  margin: auto;
  padding: 0 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

@media only screen and (max-width: 990px) {
  .m-header-inner {
    height: 50px;
    margin: auto;
    padding: 0 15px;
  }
}

.m-header-inner h1:first-child {
  margin-right: auto;
}

.m-header-logo img {
  width: 125px;
  height: auto;
}

@media only screen and (max-width: 766px) {
  .m-header-logo img {
    width: 100px;
  }
}

.m-header-navigation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 17px !important;
  font-size: 1.7rem !important;
}

.m-header-navigation li {
  padding: 0 20px;
}

.m-header-navigation li a {
  color: #ffffff;
  position: relative;
  display: inline-block;
  text-decoration: none;
}

.m-header-navigation li a::after {
  position: absolute;
  bottom: -4px;
  left: 0;
  content: '';
  width: 100%;
  height: 2px;
  background: #ffffff;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: left top;
          transform-origin: left top;
  -webkit-transition: -webkit-transform .3s;
  transition: -webkit-transform .3s;
  transition: transform .3s;
  transition: transform .3s, -webkit-transform .3s;
}

.m-header-navigation li a:hover::after {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}

.m-header-btn {
  text-align: right;
}

.m-mainvisual {
  background: url(/images/fv-back.jpg) right top no-repeat;
  background-size: cover;
  position: relative;
}

.m-mainvisual-inner {
  height: 668px;
  position: relative;
  padding-top: 30px;
  margin-top: 60px;
}

@media only screen and (max-width: 990px) {
  .m-mainvisual-inner {
    height: 100%;
    margin-top: 50px;
  }
}

.m-mainvisual-title {
  margin-left: auto;
  margin-right: auto;
  padding-top: 70px;
  padding-left: 50px;
  max-width: 1600px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

@media only screen and (max-width: 990px) {
  .m-mainvisual-title {
    padding-top: 10px;
    padding-bottom: 130px;
    padding-left: 15px;
    padding-right: 15px;
    text-align: center;
  }
}

.m-mainvisual img {
  max-width: 758px;
  height: auto;
}

@media only screen and (max-width: 990px) {
  .m-mainvisual img {
    width: 90%;
    text-align: center;
  }
}

@media only screen and (max-width: 990px) {
  .m-mainvisual {
    background: url(/images/fv-back-sp.jpg) right top no-repeat;
    background-size: cover;
  }
}

.m-mainvisual-btn {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 168px;
  background: rgba(255, 255, 255, 0.6);
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media only screen and (max-width: 766px) {
  .m-mainvisual-btn {
    height: 100px;
  }
}

.m-about {
  background: url(/images/about-back.jpg) right top no-repeat;
  background-size: cover;
}

@media only screen and (max-width: 990px) {
  .m-about {
    display: block;
    background: url(/images/about-back.jpg) 90%;
    background-size: cover;
  }
}

.m-about-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media only screen and (max-width: 990px) {
  .m-about-inner {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

.m-about-text {
  background: rgba(255, 255, 255, 0.8);
  width: 50%;
  padding: 20px 20px 0 60px;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

@media only screen and (max-width: 990px) {
  .m-about-text {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    width: 100%;
    padding: 15px;
  }
}

.m-about-text p {
  margin-bottom: 0 !important;
}

.m-about-right {
  width: 50%;
  margin: auto;
  padding-left: 60px;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}

@media only screen and (max-width: 990px) {
  .m-about-right {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    margin: 0 0 0 auto;
    width: 100%;
    text-align: center;
    padding-left: 0px;
  }
}

.m-match {
  background: url(/images/mach-back.jpg) right top no-repeat;
  background-size: cover;
}

@media only screen and (max-width: 990px) {
  .m-match {
    background: url(/images/mach-back-sp.jpg) right 80%;
    background-size: cover;
  }
}

.m-match-content {
  background: rgba(255, 255, 255, 0.6);
  padding: 30px;
  width: 60%;
  margin: auto;
  text-align: center;
}

@media only screen and (max-width: 990px) {
  .m-match-content {
    padding: 20px;
    width: 100%;
  }
}

.m-match-content img {
  width: 100%;
  max-width: 602px;
}

.m-point {
  padding-bottom: 0 !important;
}

.m-point-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media only screen and (max-width: 990px) {
  .m-point-content {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

.m-point-content-l, .m-point-content-r {
  width: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media only screen and (max-width: 990px) {
  .m-point-content-l, .m-point-content-r {
    width: 100%;
  }
}

.m-point-content-l img, .m-point-content-r img {
  width: 100%;
  height: auto;
}

.m-point-content-l-inner, .m-point-content-r-inner {
  width: 530px;
  margin: 0 0 0 auto;
  padding-right: 50px;
}

@media only screen and (max-width: 990px) {
  .m-point-content-l-inner, .m-point-content-r-inner {
    width: 100%;
    padding-right: 0px;
  }
}

.m-point-content-r-inner {
  margin: 0 auto 0 0;
  padding-left: 50px;
  padding-right: 0px;
}

@media only screen and (max-width: 990px) {
  .m-point-content-r-inner {
    padding-left: 0px;
  }
}

@media only screen and (max-width: 1180px) {
  .m-point-content-text {
    padding: 30px 15px 0;
  }
}

@media only screen and (max-width: 990px) {
  .order1 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}

@media only screen and (max-width: 990px) {
  .order2 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}

.m-reason-text {
  margin-bottom: 60px !important;
}

@media only screen and (max-width: 990px) {
  .m-reason-text {
    margin-bottom: 20px !important;
  }
}

.m-reason-1-img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media only screen and (max-width: 990px) {
  .m-reason-1-img {
    display: block;
    text-align: center;
  }
}

.m-reason-1-img-l, .m-reason-1-img-r {
  width: 50%;
  margin-right: 15px;
  text-align: center;
}

@media only screen and (max-width: 990px) {
  .m-reason-1-img-l, .m-reason-1-img-r {
    width: 100%;
  }
}

.m-reason-1-img-l:last-child, .m-reason-1-img-r:last-child {
  margin-right: 0px;
}

.m-reason-1-img-l img, .m-reason-1-img-r img {
  width: 100%;
  margin: auto;
  margin-bottom: 10px;
}

@media only screen and (max-width: 990px) {
  .m-reason-1-img-l {
    margin-bottom: 30px;
  }
}

.m-reason-1-img-r {
  position: relative;
}

.m-reason-1-img-r div {
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
}

@media only screen and (max-width: 990px) {
  .m-reason-1-img-r div {
    position: unset;
    bottom: auto;
    left: auto;
  }
}

.m-reason-2-img {
  text-align: center;
  width: 80%;
  margin: auto;
}

@media only screen and (max-width: 990px) {
  .m-reason-2-img {
    width: 100%;
  }
}

.m-reason-2-img img {
  width: 80%;
  max-width: 664px;
  height: auto;
}

.m-reason-income {
  margin-top: 80px;
}

@media only screen and (max-width: 990px) {
  .m-reason-income {
    margin-top: 30px !important;
  }
}

.m-block-white {
  background-color: #ffffff;
  padding: 60px;
  margin-bottom: 50px;
}

@media only screen and (max-width: 990px) {
  .m-block-white {
    padding: 15px;
    margin-bottom: 30px;
  }
}

.m-work {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

@media only screen and (max-width: 990px) {
  .m-work {
    display: block;
  }
}

.m-work-left {
  width: 50%;
  margin-right: 20px;
}

@media only screen and (max-width: 990px) {
  .m-work-left {
    width: 100%;
    margin-right: 0px;
    margin-bottom: 30px;
  }
}

.m-work-left-img-1, .m-work-left-img-2 {
  margin-bottom: 20px;
}

.m-work-left-img-1 img, .m-work-left-img-2 img {
  width: 100%;
}

.m-work-left-img-2 {
  margin-bottom: 0;
}

.m-work-right {
  width: 50%;
  margin-left: 20px;
}

@media only screen and (max-width: 990px) {
  .m-work-right {
    width: 100%;
    margin-left: 0px;
  }
}

.m-work-right img {
  width: 98%;
  height: auto;
}

@media only screen and (max-width: 990px) {
  .m-work-right img {
    width: 100%;
  }
}

.m-curriculum {
  background-color: #a0bfe5;
  padding: 15px 30px 30px;
  margin-bottom: 60px;
}

@media only screen and (max-width: 990px) {
  .m-curriculum {
    padding: 10px;
    margin-bottom: 30px;
  }
}

.m-curriculum-title {
  color: #ffffff;
  font-size: 22px !important;
  font-size: 2.2rem !important;
  font-weight: bold;
}

@media only screen and (max-width: 990px) {
  .m-curriculum-title {
    font-size: 16px !important;
    font-size: 1.6rem !important;
  }
}

.m-curriculum-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 15px;
}

@media only screen and (max-width: 990px) {
  .m-curriculum-inner {
    display: block;
  }
}

.m-curriculum-details {
  background-color: #ffffff;
  width: calc(100% / 3);
  margin-right: 15px;
}

@media only screen and (max-width: 990px) {
  .m-curriculum-details {
    width: 100%;
  }
}

.m-curriculum-details:last-child {
  margin-right: 0;
}

.m-curriculum-details img {
  width: 100%;
  height: auto;
}

.m-curriculum-details p {
  padding: 15px !important;
}

.m-curriculum-schedule {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

@media only screen and (max-width: 990px) {
  .m-curriculum-schedule {
    display: block;
  }
}

.m-curriculum-schedule-details {
  width: 50%;
  margin-right: 40px;
  text-align: center;
  padding: 15px 30px 15px;
}

@media only screen and (max-width: 990px) {
  .m-curriculum-schedule-details {
    width: 100%;
    padding: 10px;
  }
}

.m-curriculum-schedule-details:last-child {
  margin-right: 0;
}

.m-curriculum-schedule-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  line-height: 1.3;
}

.m-curriculum-schedule-title div {
  margin-right: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.m-curriculum-schedule-title div:last-child {
  margin-right: 0px;
}

@media only screen and (max-width: 990px) {
  .m-curriculum-schedule-title div {
    margin-right: 3px;
  }
}

.m-curriculum-schedule-icon {
  width: 40px;
  height: 40px;
  margin-right: 5px;
}

@media only screen and (max-width: 990px) {
  .m-curriculum-schedule-icon {
    width: 30px;
    height: 30px;
    margin-right: 2px;
  }
}

.m-curriculum-schedule table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  margin-top: 20px;
  margin-bottom: 15px;
}

@media only screen and (max-width: 990px) {
  .m-curriculum-schedule table {
    margin-top: 10px;
  }
}

.m-curriculum-schedule table th {
  padding: 10px 0;
}

.m-curriculum-schedule table td {
  padding: 20px 15px !important;
  text-align: center;
  line-height: 1.5;
  vertical-align: middle;
  font-size: 16px !important;
  font-size: 1.6rem !important;
  font-weight: bold;
}

@media only screen and (max-width: 990px) {
  .m-curriculum-schedule table td {
    font-size: 14px !important;
    font-size: 1.4rem !important;
    padding: 10px;
  }
}

.m-curriculum-schedule table tr:nth-child(even) {
  background-color: #d5e5f8;
}

.m-curriculum-schedule table tr:nth-child(odd) {
  background-color: #f1f6fc;
}

.m-schedule {
  background: url(/images/schedule-back.jpg) no-repeat left top;
  background-size: cover;
}

@media only screen and (max-width: 990px) {
  .m-schedule {
    background: url(/images/schedule-back.jpg) 16% no-repeat;
    background-size: cover;
  }
}

.m-schedule table {
  width: 60%;
  margin: auto;
}

@media only screen and (max-width: 990px) {
  .m-schedule table {
    width: 100%;
  }
}

.m-schedule table tr {
  border-bottom: solid 2px #ecf2f8;
}

.m-schedule table tr:last-child {
  border-bottom: none;
}

.m-schedule table th {
  position: relative;
  text-align: left;
  width: 30%;
  background-color: #a0bfe5;
  color: white;
  text-align: center;
  padding: 20px 10px;
  font-size: 22px !important;
  font-size: 2.2rem !important;
  font-weight: bold;
  vertical-align: middle;
}

@media only screen and (max-width: 990px) {
  .m-schedule table th {
    font-size: 18px !important;
    font-size: 1.8rem !important;
  }
}

.m-schedule table th:after {
  display: block;
  content: "";
  width: 0px;
  height: 0px;
  position: absolute;
  top: calc(50% - 10px);
  right: -10px;
  border-left: 10px solid #a0bfe5;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
}

.m-schedule table td {
  width: 35%;
  text-align: center;
  background-color: #ffffff;
  padding: 15px 0 !important;
  border-right: solid 2px #ecf2f8 !important;
  font-size: 20px !important;
  font-size: 2rem !important;
  font-weight: 600;
  vertical-align: middle;
  line-height: 1.4;
}

.m-schedule table td:last-child {
  border-right: none;
}

@media only screen and (max-width: 990px) {
  .m-schedule table td {
    font-size: 16px !important;
    font-size: 1.6rem !important;
  }
}

.m-flow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

@media only screen and (max-width: 990px) {
  .m-flow {
    display: block;
  }
}

.m-flow-details {
  background-color: #ecf2f8;
  position: relative;
  text-align: center;
  padding: 20px;
  width: calc(100% / 3 - 15px);
}

@media only screen and (max-width: 990px) {
  .m-flow-details {
    padding: 15px;
    width: 100%;
    margin-bottom: 20px;
  }
}

.m-flow-details p {
  margin: 20px 0 0 0;
  text-align: left;
}

.m-flow-details img {
  width: 60%;
  max-width: 189px;
  height: auto;
}

.m-flow-number img {
  width: 60px;
  margin-bottom: 20px !important;
}

@media only screen and (max-width: 990px) {
  .m-flow-number img {
    width: 50px;
    margin-bottom: 5px;
  }
}

.m-flow-btn a {
  margin: auto;
  width: 95% !important;
  height: 45px !important;
}

@media only screen and (max-width: 990px) {
  .m-flow-btn a {
    font-size: 14px !important;
    font-size: 1.4rem !important;
    width: 100% !important;
  }
}

.m-fee {
  background: url(/images/fee-back.jpg) right top no-repeat;
  background-size: cover;
  text-align: center;
}

@media only screen and (max-width: 990px) {
  .m-fee {
    background: url(/images/fee-back-sp.jpg) 74%;
    background-size: cover;
  }
}

.m-fee img {
  width: 60%;
}

@media only screen and (max-width: 990px) {
  .m-fee img {
    width: 80%;
    height: auto;
  }
}

.m-comparison {
  text-align: center;
  margin: auto;
  margin-top: 20px;
}

@media only screen and (max-width: 990px) {
  .m-comparison {
    margin-top: 85px;
  }
}

.m-comparison table {
  width: 100%;
  margin: auto;
}

.m-comparison table th {
  text-align: center;
  background-color: #183264;
  color: #ffffff;
  font-size: 20px !important;
  font-size: 2rem !important;
  padding: 10px;
  border-right: solid 1px #ffffff;
  vertical-align: middle;
}

@media only screen and (max-width: 990px) {
  .m-comparison table th {
    font-size: 15px !important;
    font-size: 1.5rem !important;
  }
}

.m-comparison table th:last-child {
  border: none;
}

.m-comparison tr {
  border-bottom: 1px solid #ffffff;
  line-height: 1.5;
}

.m-comparison tr:last-child {
  border: none;
}

.m-comparison td {
  text-align: center;
  padding: 15px 10px;
  background-color: #ecf2f8;
  border-right: 1px solid #ffffff;
  vertical-align: middle;
  height: 80px;
  font-size: 16px !important;
  font-size: 1.6rem !important;
  line-height: 1.5;
  margin: auto;
}

@media only screen and (max-width: 990px) {
  .m-comparison td {
    font-size: 14px !important;
    font-size: 1.4rem !important;
    padding: 15px 3px;
  }
}

.m-comparison td:first-child {
  color: #183264;
  font-weight: bold;
}

.m-comparison td:last-child {
  border: none;
}

.m-comparison td:nth-child(2) {
  background-color: #fef3ab;
  font-weight: bold;
  font-size: 20px !important;
  font-size: 2rem !important;
  color: #c3393a;
}

@media only screen and (max-width: 990px) {
  .m-comparison td:nth-child(2) {
    font-size: 16px !important;
    font-size: 1.6rem !important;
  }
}

.m-comparison th.popular {
  position: relative;
}

.m-comparison th.popular span.inner {
  position: absolute;
  color: white;
  background-color: #c3393a;
  left: 0;
  bottom: 0;
  display: block;
  padding: 10px;
  width: 100%;
}

.m-mentor {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media only screen and (max-width: 990px) {
  .m-mentor {
    display: block;
  }
}

.m-mentor-left {
  width: 50%;
  margin-right: 20px;
}

@media only screen and (max-width: 990px) {
  .m-mentor-left {
    width: 100%;
    margin-right: 0px;
  }
}

.m-mentor-right {
  width: 50%;
  margin-left: 20px;
}

@media only screen and (max-width: 990px) {
  .m-mentor-right {
    width: 100%;
    margin-left: 0px;
  }
}

.m-mentor-right img {
  width: 98%;
  height: auto;
}

.m-faq {
  background-color: #ecf2f8;
  padding: 60px;
  margin-bottom: 30px;
}

@media only screen and (max-width: 990px) {
  .m-faq {
    padding: 15px;
  }
}

.m-faq :last-child {
  margin-bottom: 0;
}

.m-faq-q {
  font-size: 23px !important;
  font-size: 2.3rem !important;
  color: #183264;
  font-weight: bold;
  margin-bottom: 20px;
  display: block;
  position: relative;
  padding-left: 25px;
  line-height: 1.3;
}

@media only screen and (max-width: 990px) {
  .m-faq-q {
    font-size: 16px !important;
    font-size: 1.6rem !important;
  }
}

.m-faq-q::before {
  font-size: 25px !important;
  font-size: 2.5rem !important;
  content: "Q";
  color: #183264;
  margin-right: 10px;
  position: absolute;
  left: 0;
  top: -2px;
}

@media only screen and (max-width: 990px) {
  .m-faq-q::before {
    top: -7px;
  }
}

.m-faq-a {
  margin-bottom: 20px;
  display: block;
  position: relative;
  padding-left: 25px;
}

.m-faq-a::before {
  content: "A";
  font-size: 25px !important;
  font-size: 2.5rem !important;
  margin-right: 5px;
  color: #c3393a;
  font-weight: bold;
  position: absolute;
  top: 0;
  left: 0;
}

.m-faq p {
  margin-bottom: 0 !important;
}

.m-application {
  background-color: #183264;
  padding: 50px 0;
  margin: auto;
  color: #fff;
  text-align: center;
}

@media only screen and (max-width: 990px) {
  .m-application {
    padding: 20px 0px;
  }
}

.m-application-title {
  font-size: 30px !important;
  font-size: 3rem !important;
  font-weight: bold;
  padding: 0 20px;
  padding-bottom: 10px;
  display: block;
  line-height: 1.4;
}

@media only screen and (max-width: 990px) {
  .m-application-title {
    font-size: 25px !important;
    font-size: 2.5rem !important;
    padding: 0 15px;
  }
}

.m-application-text {
  font-size: 20px !important;
  font-size: 2rem !important;
  font-weight: bold;
  display: block;
  padding: 0 20px;
  margin-bottom: 10px;
}

@media only screen and (max-width: 990px) {
  .m-application-text {
    font-size: 18px !important;
    font-size: 1.8rem !important;
    padding: 0 15px;
  }
}

.m-footer {
  background-color: #183264;
  color: #ffffff;
  font-size: 14px !important;
  font-size: 1.4rem !important;
}

@media only screen and (max-width: 990px) {
  .m-footer {
    font-size: 12px !important;
    font-size: 1.2rem !important;
  }
}

.m-footer-inner {
  max-width: 1180px;
  padding: 30px 20px 10px;
  margin: auto;
}

.m-footer-text {
  padding: 0.5rem 1.5rem;
  text-align: center;
  font-size: 12px !important;
  font-size: 1.2rem !important;
}

.m-footer-logo {
  text-align: center;
}

.m-footer-logo img {
  width: 100%;
  height: auto;
  max-width: 232px;
}

@media only screen and (max-width: 990px) {
  .m-footer-logo img {
    max-width: 150px;
  }
}

.m-footer-navigation {
  margin-bottom: 30px;
  text-align: center;
}

@media only screen and (max-width: 990px) {
  .m-footer-navigation {
    margin-bottom: 10px;
  }
}

.m-footer-navigation ul li {
  padding-bottom: 10px;
  display: inline-block;
  padding-right: 10px;
}

@media only screen and (max-width: 990px) {
  .m-footer-navigation ul li {
    padding-right: 0px;
  }
}

.m-footer-navigation ul li a {
  color: #ffffff;
}

.m-footer-navigation p {
  margin-bottom: 5px !important;
  font-weight: bold;
}

.m-footer-copyright {
  color: #ffffff;
  text-align: center;
}

.btn-fz__defa, .btn-large {
  font-size: 29px !important;
  font-size: 2.9rem !important;
}

@media only screen and (max-width: 990px) {
  .btn-fz__defa, .btn-large {
    font-size: 17px !important;
    font-size: 1.7rem !important;
  }
}

.btn__defa, .btn-large, .btn-small {
  display: inline-block;
  text-align: center;
  background-color: #c3393a;
  color: #FFF;
  text-decoration: none;
  font-weight: bold;
  border-radius: 100px;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border: 2px solid #FFF;
}

.btn-large {
  width: 600px;
  height: 100px;
  margin: auto;
}

@media only screen and (max-width: 990px) {
  .btn-large {
    width: 95%;
    height: 60px;
  }
}

.btn-small {
  font-size: 14px !important;
  font-size: 1.4rem !important;
  padding: 12px 5px;
  width: 260px;
}

@media only screen and (max-width: 766px) {
  .btn-small {
    font-size: 10px !important;
    font-size: 1rem !important;
    width: 204px;
    padding: 10px 5px;
  }
}

.title-main {
  color: #183264;
  font-size: 37px !important;
  font-size: 3.7rem !important;
  font-weight: bold;
  margin-bottom: 6rem;
  text-align: center;
  line-height: 1.3;
}

@media only screen and (max-width: 990px) {
  .title-main {
    font-size: 26px !important;
    font-size: 2.6rem !important;
    font-weight: bold;
    margin-bottom: 3rem;
  }
}

.title-en {
  font-size: 22px !important;
  font-size: 2.2rem !important;
  font-weight: bold;
  color: #c3393a;
}

@media only screen and (max-width: 990px) {
  .title-en {
    font-size: 20px !important;
    font-size: 2rem !important;
  }
}

.title-sub-1line, .title-sub-2line {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 20px;
}

@media only screen and (max-width: 990px) {
  .title-sub-1line, .title-sub-2line {
    display: block;
    text-align: center;
  }
}

.title-sub-1line figure, .title-sub-2line figure {
  width: 60px;
  height: auto;
  margin: auto;
}

@media only screen and (max-width: 990px) {
  .title-sub-1line figure, .title-sub-2line figure {
    width: 50px;
    height: auto;
    margin-bottom: 5px;
  }
}

.title-sub-1line figure img, .title-sub-2line figure img {
  width: 100%;
}

.title-sub-1line-text, .title-sub-2line-text {
  padding-left: 10px;
  line-height: 1.1;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

@media only screen and (max-width: 990px) {
  .title-sub-1line-text, .title-sub-2line-text {
    padding-left: 5px;
  }
}

.title-sub-1line-s, .title-sub-2line-s {
  font-size: 20px !important;
  font-size: 2rem !important;
  color: #183264;
}

@media only screen and (max-width: 990px) {
  .title-sub-1line-s, .title-sub-2line-s {
    font-size: 16px !important;
    font-size: 1.6rem !important;
  }
}

.title-sub-1line-b, .title-sub-2line-b {
  font-size: 35px !important;
  font-size: 3.5rem !important;
  font-weight: bold;
  color: #183264;
  margin-bottom: 20px;
}

@media only screen and (max-width: 990px) {
  .title-sub-1line-b, .title-sub-2line-b {
    font-size: 25px !important;
    font-size: 2.5rem !important;
    line-height: 1.3;
  }
}

.title-sub-1line-s {
  font-size: 30px !important;
  font-size: 3rem !important;
  font-weight: bold;
  color: #183264;
  margin-bottom: 20px;
}

@media only screen and (max-width: 990px) {
  .title-sub-1line-s {
    font-size: 25px !important;
    font-size: 2.5rem !important;
    line-height: 1.3;
  }
}

.title-sub-lightblue {
  background-color: #a0bfe5;
  color: #ffffff;
  padding: 10px;
  font-size: 18px !important;
  font-size: 1.8rem !important;
  margin-bottom: 10px;
  line-height: 1.3;
}

@media only screen and (max-width: 990px) {
  .title-sub-lightblue {
    font-size: 16px !important;
    font-size: 1.6rem !important;
  }
}

.title-sub-maincolor {
  background-color: #183264;
  color: #ffffff;
  font-size: 30px !important;
  font-size: 3rem !important;
  margin-bottom: 10px;
  display: inline-block;
  font-weight: bold;
  padding: 20px 30px;
}

@media only screen and (max-width: 990px) {
  .title-sub-maincolor {
    font-size: 16px !important;
    font-size: 1.6rem !important;
    padding: 10px 20px;
  }
}

.title-sub-white {
  color: #ffffff;
  font-size: 20px !important;
  font-size: 2rem !important;
  margin-bottom: 10px;
  margin: auto;
  font-weight: bold;
}

@media only screen and (max-width: 990px) {
  .title-sub-white {
    font-size: 18px !important;
    font-size: 1.8rem !important;
    padding: 0;
  }
}

.title-sub-black {
  color: #000000;
  font-size: 20px !important;
  font-size: 2rem !important;
  margin-bottom: 10px;
  margin: auto;
  font-weight: bold !important;
  line-height: 1.5 !important;
}

@media only screen and (max-width: 990px) {
  .title-sub-black {
    font-size: 18px !important;
    font-size: 1.8rem !important;
  }
}

#contents, #onecolumn960lp {
  width: 100%;
}

.article_style1 .cps-post-box {
  padding: 0;
}

.cps-post-main a {
  color: #fff !important;
  text-decoration: none;
}

.cps-post-main h2, .cps-post-main h3, .cps-post-main h4, .cps-post-main h5 {
  font-weight: bold;
  letter-spacing: 0;
}

.cps-post-main {
  padding-top: 0px;
}

@media (min-width: 768px) {
  #contents {
    width: 100%;
    margin: 0;
  }
}

.cps-post-main {
  position: relative;
  z-index: 2;
  padding-top: 0px;
}

.cps-post-main img {
  margin-bottom: 0;
}

.cps-post-main h2, .cps-post-main h3, .cps-post-main h4, .cps-post-main h5 {
  font-weight: bold;
}

.cps-post-main p {
  padding-bottom: 0;
  padding-top: 0;
  margin-top: 0;
  margin-bottom: 0;
}

@media (max-width: 767px) {
  #onecolumn960lp {
    width: 100%;
    float: left;
    margin-left: 0px;
    margin-bottom: 0px;
  }
}

#page-top a {
  line-height: 2.5;
}

@media only screen and (max-width: 990px) {
  #page-top a {
    line-height: 2.2;
  }
}

footer .footer-inner #copyright-center {
  padding-bottom: 30px;
}

.cps-post-main table tr td, .cps-post-main table tr th {
  border: none;
}

#contents {
  padding-top: 0px;
}

@media (min-width: 768px) {
  #breadcrumb ul {
    margin-top: 0px;
  }
}

@media (min-width: 768px) {
  #onecolumn960lp {
    margin-bottom: 0px;
  }
}

.cps-post-main table {
  border: none;
}
/*# sourceMappingURL=app.css.map */