@charset "UTF-8";
@import url(https://rainbow-apps.com/css/common.css);
/* ///////////////////////////
webfont
/////////////////////////// */
@import url(https://fonts.googleapis.com/css?family=Josefin+Sans:300,400,600);
.mt0 {
  margin-top: 0px !important; }

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

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

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

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

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

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

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

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

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

.mt55 {
  margin-top: 55px !important; }

.mt6 {
  margin-top: 60px !important; }

.mt65 {
  margin-top: 65px !important; }

.mt7 {
  margin-top: 70px !important; }

.mt75 {
  margin-top: 75px !important; }

.mt8 {
  margin-top: 80px !important; }

.mt85 {
  margin-top: 85px !important; }

.mt9 {
  margin-top: 90px !important; }

.mt95 {
  margin-top: 95px !important; }

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

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

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

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

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

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

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

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

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

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

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

.mb55 {
  margin-bottom: 55px !important; }

.mb6 {
  margin-bottom: 60px !important; }

.mb65 {
  margin-bottom: 65px !important; }

.mb7 {
  margin-bottom: 70px !important; }

.mb75 {
  margin-bottom: 75px !important; }

.mb8 {
  margin-bottom: 80px !important; }

.mb85 {
  margin-bottom: 85px !important; }

.mb9 {
  margin-bottom: 90px !important; }

.mb95 {
  margin-bottom: 95px !important; }

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

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

.mr1 {
  margin-right: 10px !important; }

.mr15 {
  margin-right: 15px !important; }

.mr2 {
  margin-right: 20px !important; }

.mr25 {
  margin-right: 25px !important; }

.mr3 {
  margin-right: 30px !important; }

.mr35 {
  margin-right: 35px !important; }

.mr4 {
  margin-right: 40px !important; }

.mr45 {
  margin-right: 45px !important; }

.mr5 {
  margin-right: 50px !important; }

.mr55 {
  margin-right: 55px !important; }

.mr6 {
  margin-right: 60px !important; }

.mr65 {
  margin-right: 65px !important; }

.mr7 {
  margin-right: 70px !important; }

.mr75 {
  margin-right: 75px !important; }

.mr8 {
  margin-right: 80px !important; }

.mr85 {
  margin-right: 85px !important; }

.mr9 {
  margin-right: 90px !important; }

.mr95 {
  margin-right: 95px !important; }

.mr10 {
  margin-right: 100px !important; }

.ml0 {
  margin-left: 0px !important; }

.ml1 {
  margin-left: 10px !important; }

.ml15 {
  margin-left: 15px !important; }

.ml2 {
  margin-left: 20px !important; }

.ml25 {
  margin-left: 25px !important; }

.ml3 {
  margin-left: 30px !important; }

.ml35 {
  margin-left: 35px !important; }

.ml4 {
  margin-left: 40px !important; }

.ml45 {
  margin-left: 45px !important; }

.ml5 {
  margin-left: 50px !important; }

.ml55 {
  margin-left: 55px !important; }

.ml6 {
  margin-left: 60px !important; }

.ml65 {
  margin-left: 65px !important; }

.ml7 {
  margin-left: 70px !important; }

.ml75 {
  margin-left: 75px !important; }

.ml8 {
  margin-left: 80px !important; }

.ml85 {
  margin-left: 85px !important; }

.ml9 {
  margin-left: 90px !important; }

.ml95 {
  margin-left: 95px !important; }

.ml10 {
  margin-left: 100px !important; }

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

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

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

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

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

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

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

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

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

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

.pt55 {
  padding-top: 55px !important; }

.pt6 {
  padding-top: 60px !important; }

.pt65 {
  padding-top: 65px !important; }

.pt7 {
  padding-top: 70px !important; }

.pt75 {
  padding-top: 75px !important; }

.pt8 {
  padding-top: 80px !important; }

.pt85 {
  padding-top: 85px !important; }

.pt9 {
  padding-top: 90px !important; }

.pt95 {
  padding-top: 95px !important; }

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

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

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

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

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

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

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

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

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

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

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

.pb55 {
  padding-bottom: 55px !important; }

.pb6 {
  padding-bottom: 60px !important; }

.pb65 {
  padding-bottom: 65px !important; }

.pb7 {
  padding-bottom: 70px !important; }

.pb75 {
  padding-bottom: 75px !important; }

.pb8 {
  padding-bottom: 80px !important; }

.pb85 {
  padding-bottom: 85px !important; }

.pb9 {
  padding-bottom: 90px !important; }

.pb95 {
  padding-bottom: 95px !important; }

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

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

.pr1 {
  padding-right: 10px !important; }

.pr15 {
  padding-right: 15px !important; }

.pr2 {
  padding-right: 20px !important; }

.pr25 {
  padding-right: 25px !important; }

.pr3 {
  padding-right: 30px !important; }

.pr35 {
  padding-right: 35px !important; }

.pr4 {
  padding-right: 40px !important; }

.pr45 {
  padding-right: 45px !important; }

.pr5 {
  padding-right: 50px !important; }

.pr55 {
  padding-right: 55px !important; }

.pr6 {
  padding-right: 60px !important; }

.pr65 {
  padding-right: 65px !important; }

.pr7 {
  padding-right: 70px !important; }

.pr75 {
  padding-right: 75px !important; }

.pr8 {
  padding-right: 80px !important; }

.pr85 {
  padding-right: 85px !important; }

.pr9 {
  padding-right: 90px !important; }

.pr95 {
  padding-right: 95px !important; }

.pr10 {
  padding-right: 100px !important; }

.pl0 {
  padding-left: 0px !important; }

.pl1 {
  padding-left: 10px !important; }

.pl15 {
  padding-left: 15px !important; }

.pl2 {
  padding-left: 20px !important; }

.pl25 {
  padding-left: 25px !important; }

.pl3 {
  padding-left: 30px !important; }

.pl35 {
  padding-left: 35px !important; }

.pl4 {
  padding-left: 40px !important; }

.pl45 {
  padding-left: 45px !important; }

.pl5 {
  padding-left: 50px !important; }

.pl55 {
  padding-left: 55px !important; }

.pl6 {
  padding-left: 60px !important; }

.pl65 {
  padding-left: 65px !important; }

.pl7 {
  padding-left: 70px !important; }

.pl75 {
  padding-left: 75px !important; }

.pl8 {
  padding-left: 80px !important; }

.pl85 {
  padding-left: 85px !important; }

.pl9 {
  padding-left: 90px !important; }

.pl95 {
  padding-left: 95px !important; }

.pl10 {
  padding-left: 100px !important; }

#header .navi-btm .nav-online .parent {
  background-position: center top; }

#header .navi-btm .nav-online .parent span {
  color: #787be5; }

.stpc {
  display: block; }

.stsp {
  display: none; }

.h1-area {
  background-color: #787be5; }
  .h1-area img {
    width: 54px; }

section {
  max-width: 800px;
  width: 94%;
  padding: 6% 3%;
  margin: 0 auto; }
  section p {
    text-align: left; }

section.class {
  max-width: 1050px; }

.main-area {
  background-color: #787be5;
  margin-bottom: 50px; }
  .main-area p {
    color: #fff;
    text-align: center; }
  .main-area .icon {
    width: 93px;
    margin: 0 auto 10px; }
  .main-area h2 {
    letter-spacing: 8px;
    text-align: center;
    font-family: "ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO";
    font-size: 35px;
    color: #fff;
    margin-bottom: 10px; }
  .main-area .colorful-line {
    width: 460px;
    margin: 0 auto 10px; }
  .main-area .catch {
    font-size: 25px;
    margin-bottom: 30px; }
  .main-area .flowChart {
    width: 78%;
    margin: 1% auto 5%; }
  .main-area .sub-catch {
    font-size: 16px; }

article h3 {
  letter-spacing: 6px;
  font-family: "ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO";
  color: #fff;
  font-size: 28px;
  text-align: center;
  padding: 10px 0;
  background-color: #444;
  width: 95%;
  margin: 0 auto; }

.point {
  max-width: 900px; }
  .point .number-box {
    overflow: hidden;
    margin-bottom: 70px; }
    .point .number-box .title img,
    .point .number-box .title span {
      display: inline-block;
      *display: inline;
      *zoom: 1;
      vertical-align: middle; }
    .point .number-box .title img {
      width: 64px;
      margin-right: 30px; }
    .point .number-box .title span {
      letter-spacing: 1px;
      font-size: 25px;
      font-weight: bold;
      font-family: "ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO"; }
    .point .number-box .left-text {
      float: left;
      width: 67%;
      margin: 25px 0 0 95px; }
      .point .number-box .left-text .link-text {
        margin-top: 50px;
        font-size: 18px;
        letter-spacing: 4px; }
        .point .number-box .left-text .link-text a {
          background: url(https://rainbow-apps.com/images/common/arrow_purple.png) 0 center no-repeat;
          -webkit-background-size: 9px auto;
          -moz-background-size: 9px auto;
          -o-background-size: 9px auto;
          background-size: 9px auto;
          padding-left: 15px; }
        .point .number-box .left-text .link-text a:hover {
          text-decoration: underline; }
    .point .number-box .right-img {
      float: right;
      width: 18%;
      max-width: 130px; }
  .point .nb2 .title span {
    letter-spacing: 4px; }

.flow {
  overflow: hidden;
  max-width: 1100px; }
  .flow .step-box {
    width: 27%;
    float: left;
    position: relative;
    padding: 5% 0 0 4%;
    margin-left: -2%; }
    .flow .step-box .img {
      margin-bottom: 10px; }
    .flow .step-box .title {
      font-size: 20px;
      font-weight: bold;
      margin-bottom: 10px; }
    .flow .step-box .step-number {
      position: absolute;
      top: 0;
      left: 0;
      width: 30%; }
  .flow .step-box.first {
    margin-left: 0; }
  .flow .arrow {
    width: 30px;
    float: left;
    padding: 15% 0 10% 2%; }
  .flow .notice {
    clear: both;
    text-align: center;
    font-size: 13px;
    padding: 80px 0 0; }

.school {
  max-width: 1100px; }
  .school ul {
    overflow: hidden;
    padding: 70px 0 0;
    width: 95%;
    margin: 0 auto; }
    .school ul li {
      width: 49%;
      float: left; }
      .school ul li span {
        display: inline-block;
        *display: inline;
        *zoom: 1;
        vertical-align: middle; }
      .school ul li a {
        padding: 18px 0;
        display: block;
        -webkit-border-radius: 10px;
        -moz-border-radius: 10px;
        border-radius: 10px;
        color: #fff; }
      .school ul li .lL {
        width: 25%;
        text-align: right; }
        .school ul li .lL img {
          width: 60px; }
      .school ul li .cC {
        text-align: left;
        width: 57%;
        font-size: 18px;
        padding-left: 3%;
        letter-spacing: 4px; }
      .school ul li .rR {
        width: 6%;
        text-align: right; }
        .school ul li .rR img {
          width: 24px; }
    .school ul li:first-child {
      margin-right: 2%; }
    .school ul .btn-career a {
      background-color: #3f98d5;
      border: 4px solid #61b5ef; }
    .school ul .btn-usually a {
      background-color: #3fb7d5;
      border: 4px solid #84e0e8; }

.syllabus {
  max-width: 980px; }
  .syllabus table {
    margin-top: 5%; }
    .syllabus table tr {
      border-bottom: 1px solid #fff; }
    .syllabus table tr:nth-child(odd) .number {
      background-color: #787be5; }
    .syllabus table tr:nth-child(even) th, .syllabus table tr:nth-child(even) td {
      background-color: #fff; }
    .syllabus table th, .syllabus table td {
      text-align: left;
      vertical-align: middle;
      padding: 1% 2%; }
    .syllabus table td.number {
      color: #fff;
      font-size: 30px;
      width: 8%;
      text-align: center; }
    .syllabus table th {
      font-size: 20px;
      width: 30%;
      font-weight: normal; }

.graph table {
  width: 100%;
  margin-top: 0; }
  .graph table th {
    width: 20%;
    text-align: center;
    color: #fff;
    font-weight: normal;
    border-bottom: 1px solid #fff;
    padding: 1.5% 2% 1%; }
  .graph table td {
    background-color: #fff;
    border: 1px solid #e5e6e6; }

.syllabus .stretch-box tr .number {
  background-color: #787be5;
  width: 10%;
  text-align: center;
  color: #fff;
  font-weight: normal;
  border-bottom: 1px solid #fff;
  padding: 1.5% 2% 1%;
  font-size: 20px; }
.syllabus .stretch-box td.cate {
  width: 20%; }
.syllabus .stretch-box td.about {
  width: 20%; }

/* ==========================================================
	SP 920px以下
========================================================== */
@media screen and (max-width: 920px) {
  .h1-area img {
    width: 27px; }

  section {
    padding: 10% 3%; }

  .main-area .icon {
    width: 45px;
    margin: 0 auto 10px; }
  .main-area h2 {
    font-size: 25px; }
  .main-area .colorful-line {
    width: 100%;
    margin: 0 auto 20px; }
  .main-area .catch {
    font-size: 16px;
    margin-bottom: 20px; }
  .main-area .sub-catch {
    font-size: 14px; }

  article h3 {
    font-size: 19px; }

  .point .number-box {
    overflow: hidden;
    margin-bottom: 30px; }
    .point .number-box .title img,
    .point .number-box .title span {
      display: inline-block;
      *display: inline;
      *zoom: 1;
      vertical-align: middle; }
    .point .number-box .title img {
      width: 12%;
      margin-right: 2%; }
    .point .number-box .title span {
      font-size: 17px;
      width: 80%; }
    .point .number-box .left-text {
      float: left;
      width: 70%;
      margin: 10px 0 0 0; }
      .point .number-box .left-text .link-text {
        margin-top: 30px; }
    .point .number-box .right-img {
      float: right;
      width: 18%;
      max-width: 130px; }

  .flow .step-box {
    padding: 5% 0 0 3%; }
  .flow .sp_none {
    display: block; }
  .flow .sp {
    display: none; }

  .school ul {
    padding: 20px 0 0;
    width: 60%;
    margin: 0 auto; }
    .school ul li {
      width: 100%;
      float: none; }
    .school ul li:first-child {
      margin: 0 0 10px; }

  .syllabus {
    max-width: 1100px; }
    .syllabus table th, .syllabus table td {
      text-align: left;
      vertical-align: middle;
      padding: 5px 2%; }
    .syllabus table td.number {
      font-size: 16px;
      width: 9%; }
    .syllabus table th {
      font-size: 14px;
      width: 35%;
      padding: 10px; } }
/* ==========================================================
	SP 770px以下
========================================================== */
@media screen and (max-width: 770px) {
  .point .number-box .title img {
    width: 8%; }

  .point .number-box .left-text {
    padding-left: 10%; } }
/* ==========================================================
	SP 720px以下
========================================================== */
@media screen and (max-width: 720px) {
  .flow .sp_none {
    display: none; }
  .flow .sp {
    display: block; }
  .flow .step-box {
    width: 96%;
    float: none;
    position: relative;
    padding: 5% 0 0 4%;
    margin: 0 0 20px; }
    .flow .step-box .title {
      font-size: 16px;
      margin-bottom: 10px; }
    .flow .step-box .step-number {
      width: 25%; }
  .flow .step-box.first {
    margin-left: 0; }
  .flow .arrow {
    width: 30px;
    margin: 0 auto;
    float: none;
    padding: 10px 0; }
  .flow .notice {
    padding: 30px 0 0; } }
/* ==========================================================
	SP 640px以下
========================================================== */
@media screen and (max-width: 640px) {
  .stpc {
    display: none; }

  .stsp {
    display: block; }

  .main-area h2 {
    font-size: 20px;
    letter-spacing: 5px; }

  .main-area .colorful-line {
    margin-bottom: 0; }

  .syllabus table th {
    font-size: 14px;
    width: 35%;
    padding: 10px; }

  .syllabus table td {
    text-align: left;
    vertical-align: middle;
    padding: 5px; }

  .point .number-box .title span {
    letter-spacing: 1px; }

  .point .number-box .left-text .link-text {
    font-size: 14px;
    letter-spacing: 1px; }

  .school ul {
    width: 100%; }

  .main-area .flowChart {
    width: 90%; }

  .syllabus .stretch-box th {
    background-color: #787be5 !important;
    text-align: center;
    color: #fff;
    font-weight: normal; }
  .syllabus .stretch-box td {
    padding: 20px 10px; }
  .syllabus .stretch-box td.cate {
    width: 32%; }
  .syllabus .stretch-box td.about {
    width: 60%; } }
