
/* Scss Document */
#header {
  background: #FFF;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 40px; }
  #header .logo {
    width: 210px; }
  #header .courseListBox ul,
  #header .btnListBox ul {
    letter-spacing: -.4em; }
    #header .courseListBox ul li,
    #header .btnListBox ul li {
      display: inline-block;
      letter-spacing: normal; }
  #header .courseListBox ul li {
    font-size: 120%;
    margin-right: 4em; }
    #header .courseListBox ul li:last-child {
      margin-right: 0; }
    #header .courseListBox ul li i {
      margin-right: 4px; }
  #header .btnListBox ul li {
    border-radius: 4px;
    color: #FFF;
    font-size: 118%;
    margin-right: 10px; }
    #header .btnListBox ul li:last-child {
      margin-right: 0; }
    #header .btnListBox ul li i {
      margin-left: 4px; }
    #header .btnListBox ul li.login {
      background: #4465a6; }
    #header .btnListBox ul li.trial {
      background: #ea6c18; }
    #header .btnListBox ul li a {
      color: #FFF;
      display: block;
      padding: 0.4em 1em 0.6em 1.2em; }
  #header .menu_btn {
    position: absolute;
    top: 20px;
    right: 5%;
    width: 44px; }
    #header .menu_btn img {
      width: 100%;
      height: auto; }
    #header .menu_btn span {
      width: 100%;
      height: 2px;
      background: #000;
      display: block;
      text-align: center;
      font-size: 108%; }
      #header .menu_btn span:nth-child(1) {
        position: absolute;
        top: 0;
        background-color: transparent; }
      #header .menu_btn span:nth-child(2) {
        position: absolute;
        top: 26px; }
      #header .menu_btn span:nth-child(3) {
        position: absolute;
        top: 40px; }
    #header .menu_btn.is-active span:nth-child(1) {
      display: none; }
    #header .menu_btn.is-active span:nth-child(2) {
      transform: rotate(-45deg);
      top: 24px; }
    #header .menu_btn.is-active span:nth-child(3) {
      transform: rotate(45deg);
      top: 24px; }

#footer {
  background: #313131;
  color: #FFF;
  padding: 20px 0 20px;
  text-align: center; }
  #footer ul.footerNavi {
    letter-spacing: -.4em; }
    #footer ul.footerNavi li {
      display: inline-block;
      font-size: 85%;
      letter-spacing: normal;
      margin: 0 1em; }
      #footer ul.footerNavi li a {
        color: #FFF; }
      #footer ul.footerNavi li i {
        margin-left: 0.5em; }
  #footer .footerLogo {
    margin: 40px auto 32px; }
    #footer .footerLogo img {
      width: auto;
      height: 60px; }
  #footer .copy {
    font-size: 85%; }

.content {
  width: 100%; }

.btnBox {
  margin-top: 60px;
  text-align: center;
  margin-bottom: 40px; }
  .btnBox .btn {
    background: #ea6c18;
    border: 2px solid #ea6c18;
    border-radius: 4px;
    box-sizing: border-box;
    font-size: 276%;
    margin: 0 auto;
    width: 500px; }
    .btnBox .btn a {
      color: #FFF;
      display: flex;
      align-items: center;
      justify-content: space-between; }
      .btnBox .btn a p {
        text-align: center;
        width: 100%;
        margin-top: -4px; }
      .btnBox .btn a span {
        width: 80px; }

        .btnBox .btn2 {
    background: #4465a6;
    border: 2px solid #4465a6;
    border-radius: 4px;
    box-sizing: border-box;
    font-size: 250%;
    margin: 0 auto;
    width: 500px; }
    .btnBox .btn2 a {
      color: #FFF;
      display: flex;
      align-items: center;
      justify-content: space-between; }
      .btnBox .btn2 a p {
        text-align: center;
        width: 100%;
        margin-top: -4px; }
      .btnBox .btn2 a span {
        width: 80px; }

  .btnBox .desc {
    font-size: 138%;
    margin-top: 1em; }

.links {
  width: 960px;
  margin: 0 auto 100px; }
  .links ul {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 80px; }
    .links ul li {
      font-size: 246%;
      line-height: 1.4em;
      width: 50%;
      margin-right: 2%;
      text-align: center; }
      .links ul li:last-child {
        margin-right: 0; }
      .links ul li a {
        color: #FFF;
        display: block;
        padding: 2em 0; }
      .links ul li.about {
        background: url("../images/links_02.jpg") no-repeat 50% 50%;
        background-size: cover; }
      .links ul li.menu {
        background: url("../images/links_03.jpg") no-repeat 50% 50%;
        background-size: cover; }
      .links ul li.guide {
        background: url("../images/links_04.jpg") no-repeat 50% 50%;
        background-size: cover; }
      .links ul li.campaign {
        background: url("../images/links_05.jpg") no-repeat 50% 50%;
        background-size: cover; }

.catch {
  background: #c2e6f9;
  width: 100vw;
  position: relative; }

.lpMenuBox {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0;
  padding: 15px 40px; }
  .lpMenuBox .lpLogo {
    width: 80px; }
  .lpMenuBox .lpMenu ul {
    width: 100%;
    letter-spacing: -.4em; }
    .lpMenuBox .lpMenu ul li {
      display: inline-block;
      font-size: 138%;
      letter-spacing: normal;
      margin-right: 40px;
      margin-bottom: 4px;
      width: 180px;
      border-bottom: 2px solid #000; }
      .lpMenuBox .lpMenu ul li:last-child {
        margin-right: 0; }
      .lpMenuBox .lpMenu ul li a {
        display: block; }
  .lpMenuBox .menu_btn {
    position: absolute;
    top: 16px;
    right: 20px;
    width: 42px;
    height: 36px;
    z-index: 10; }
    .lpMenuBox .menu_btn img {
      width: 100%;
      height: auto; }
    .lpMenuBox .menu_btn span {
      width: 100%;
      height: 2px;
      background: #000;
      display: block; }
      .lpMenuBox .menu_btn span:nth-child(1) {
        position: absolute;
        top: 12px; }
      .lpMenuBox .menu_btn span:nth-child(2) {
        position: absolute;
        top: 26px; }
      .lpMenuBox .menu_btn span:nth-child(3) {
        position: absolute;
        top: 40px; }
    .lpMenuBox .menu_btn.is-active span:nth-child(1) {
      transform: rotate(-45deg);
      top: 24px; }
    .lpMenuBox .menu_btn.is-active span:nth-child(2) {
      display: none; }
    .lpMenuBox .menu_btn.is-active span:nth-child(3) {
      transform: rotate(45deg);
      top: 24px; }

.main {
  position: relative; }
  .main .inner {
    background: url("../images/catch_img.jpg") no-repeat 50% 50%;
    background-size: cover;
    color: #FFF;
    position: relative;
    text-align: center; }
    .main .inner .box {
      background: rgba(0, 0, 0, 0.5);
      width: 100%;
      height: 100%;
      padding: 60px 0; }
    .main .inner .logo {
      display: block;
      margin: 0 auto;
      padding: 20px 0;
      width: 240px; }
    .main .inner h2 {
      font-size: 346%;
      line-height: 1.5em; }
    .main .inner p {
      font-size: 462%;
      line-height: 1.0em; }
      .main .inner p span {
        font-size: 85%; }

#top-page .cont01 {
  padding: 0!important;
  text-align: center; }
  #top-page .cont01 h3 {
    font-size: 185%;
    line-height: 1.5em;
    margin-bottom: 40px; }
  #top-page .cont01 ul.list {
    letter-spacing: -.4em; }
    #top-page .cont01 ul.list li {
      display: inline-block;
      letter-spacing: normal;
      width: 33.333%; }
      #top-page .cont01 ul.list li:last-child {
        width: 33.334%; }
#top-page .movieBox {
  background: #FFF;
  text-align: center; }
  #top-page .movieBox .inner {
    width: 800px;
    margin: 0 auto;
    padding: 80px 0; }
    #top-page .movieBox .inner .movie {
      width: 100%;
      padding-bottom: 56.25%;
      height: 0px;
      position: relative; }
      #top-page .movieBox .inner .movie iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%; }
#top-page .contList {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  z-index: 1; }
  #top-page .contList.rev {
    flex-direction: row-reverse; }
  #top-page .contList .image, #top-page .contList .txt {
    width: 50%;
    z-index: 2; }
  #top-page .contList .txt {
    box-sizing: border-box;
    padding-left: 5%;
    padding-right: 5%; }
    #top-page .contList .txt h2 {
      background: url("../images/title_bg.png") no-repeat 0 100%;
      background-size: 48px 2px;
      font-size: 462%;
      line-height: 1.4em;
      margin-bottom: 0.7em;
      padding-bottom: 0.5em; }
    #top-page .contList .txt p {
      line-height: 1.4em; }
    #top-page .contList .txt .desc {
      font-size: 185%;
      margin-bottom: 1.2em; }
    #top-page .contList .txt .title {
      font-size: 215%; }
      #top-page .contList .txt .title:after {
        content: "";
        background: url("../images/link_arrow.png") no-repeat 100% 100%;
        background-size: 42px 14px;
        display: inline-block;
        margin-left: 4px;
        width: 42px;
        height: 14px; }
  #top-page .contList.about {
    background: #c2e6f9; }
  #top-page .contList.menu {
    outline: 20px solid #a0d8f6;
    outline-offset: -20px; }
    #top-page .contList.menu .image {
      border-left: 20px solid #a0d8f6;
      box-sizing: content-box;
      margin-left: -20px; }
  #top-page .contList.guide {
    background: #FFF; }
  #top-page .contList.campain {
    background: #c2e6f9;
    outline: 20px solid #a0d8f6;
    outline-offset: -20px; }
    #top-page .contList.campain .image {
      border-left: 20px solid #a0d8f6;
      box-sizing: content-box;
      margin-left: -20px; }
#top-page .cont02 {
  margin-bottom: 100px; }

#about .cont01 {
  text-align: center; }
  #about .cont01 .titleBox {
    background-color: #FFF;
    background: url("../images/about_bg.jpg") no-repeat 50% 50%;
    background-size: cover;
    padding-top: 120px;
    padding-bottom: 120px; }
    #about .cont01 .titleBox h2 {
      font-size: 276%;
      line-height: 1.5em;
      color: #FFF; }
  #about .cont01 .inner {
    background: #c0e4f7;
    padding: 60px 0 60px 0; }
    #about .cont01 .inner .point {
      display: flex;
      justify-content: space-between;
      margin: 0 auto 0px;
      width: 980px; }
      #about .cont01 .inner .point .box {
        background: #FFF;
        margin-right: 2%;
        padding-bottom: 10px;
        width: 32%; }
        #about .cont01 .inner .point .box:last-child {
          margin-right: 0; }
        #about .cont01 .inner .point .box .image {
          display: block;
          margin-bottom: 12px; }
        #about .cont01 .inner .point .box h3 {
          /*color: #e86c18;*/
          font-size: 115%;
          margin: 20px auto 10px auto; }
        #about .cont01 .inner .point .box p {
          text-align: center;
          line-height: 1.4em;
          padding-left: 20px;
          padding-right: 20px; 
          font-size: 0.9em;
          font-weight: bold;}
        #about .cont01 .inner .point .box p span{
          font-size: 0.7em;
          vertical-align: top;
        }
        #about .cont01 .inner .point .box .number{
          color: #4465a6;
          font-size: 220%;
          padding: 20px 0 0 0;
        }
    #about .cont01 .inner h4 {
      font-size: 138%; }
#about .cont02 {
  border: 20px solid #a0d8f6;
  box-sizing: border-box;
  text-align: center;
  padding-bottom: 60px; }
  #about .cont02 .titleBox {
    margin-top: 40px;
    margin-bottom: 40px; }
    #about .cont02 .titleBox h2 {
      font-size: 276%;
      line-height: 1.5em; }
  #about .cont02 .inner {
    margin: 0 auto;
    width: 800px; }
    #about .cont02 .inner .movie {
      width: 100%;
      padding-bottom: 56.25%;
      height: 0px;
      position: relative; }
      #about .cont02 .inner .movie iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%; }

#menu .cont01 {
  text-align: center; }
  #menu .cont01 .titleBox {
    background-color: #FFF;
    background: url("../images/menu_bg.jpg") no-repeat 50% 50%;
    background-size: cover;
    padding-top: 80px;
    padding-bottom: 80px; }
    #menu .cont01 .titleBox h2 {
      color: #FFF;
      font-size: 276%;
      line-height: 1.5em;
      margin-bottom: 28px; }
    #menu .cont01 .titleBox .desc {
      color: #FFF;
      font-size: 154%;
      line-height: 1.5em;
      margin-bottom: 12px; }
    #menu .cont01 .titleBox .note {
      color: #FFF; }
  #menu .cont01 .menuBox {
    background: #c0e4f7;
    padding: 10px 15px; }
  #menu .cont01 .inner {
    margin: 0 auto;
    width: 980px; }
    #menu .cont01 .inner h3.title {
      /*background: url("../images/title_bg.png") no-repeat 0 100%;
      background-size: 48px 2px;*/
      font-size: 276%;
      padding-bottom: 0.3em;     
      text-align: left; }
      #menu .cont01 .inner h3.title span {
        font-size: 50%;
        margin-left: 1em; }
    #menu .cont01 .inner .sub_title{
      font-size: 120%;
      font-weight: bold;
      text-align: left;
    }
    #menu .cont01 .inner .line{
      text-align: left;
      margin: -5px auto 0;
    }
    #menu .cont01 .inner .line img{
      width: 48px;
      height: 2px;
    }   
    #menu .cont01 .inner .category {
      padding: 30px 0 30px 0; }
      #menu .cont01 .inner .category:last-of-type {
        margin-bottom: 0; }
      #menu .cont01 .inner .category .note {
        line-height: 1.5em;
        margin-top: 20px;
        text-align: left; }
    #menu .cont01 .inner .column2,
    #menu .cont01 .inner .column3 {
      display: flex;
      justify-content: space-between; }
    #menu .cont01 .inner .column2 .box .image,
    #menu .cont01 .inner .column3 .box .image {
      display: block;
      margin-bottom: 12px;
    }
    @media screen and (max-height: 421px) {
      #menu .cont01 .inner .column2 .box .image,
      #menu .cont01 .inner .column3 .box .image {
        margin-right: calc(50% - 50vw);
        margin-left: calc(50% - 50vw);
      }
    }
      #menu .cont01 .inner .column2 .box h3,
      #menu .cont01 .inner .column3 .box h3 {
        font-size: 115%;
        margin-bottom: 12px;
        text-align: center; }
      #menu .cont01 .inner .column2 .box p,
      #menu .cont01 .inner .column3 .box p {
        background: #FFF;
        border: 2px solid #e86c18;
        border-radius: 2px;
        color: #e86c18;
        font-size: 115%;
        line-height: 1.4em;
        padding: 0.5em 0;
        margin: 10px 0 20px 0;
      }
    #menu .cont01 .inner .column2 .box {
      width: 49%;
      margin-right: 2%; }
      #menu .cont01 .inner .column2 .box:last-child {
        margin-right: 0; }
    #menu .cont01 .inner .column3 .box {
      width: 32%;
      margin-right: 2%; }
      #menu .cont01 .inner .column3 .box:last-child {
        margin-right: 0; }


#guide .cont01 {
  text-align: center;
  padding-bottom: 60px; }
  #guide .cont01 .titleBox {
    background: #FFF;
    margin-top: 40px;
    margin-bottom: 40px; }
    #guide .cont01 .titleBox h2 {
      font-size: 276%;
      line-height: 1.5em;
      margin-bottom: 28px; }
  #guide .cont01 .inner {
    margin: 0 auto;
    width: 800px; }
    #guide .cont01 .inner .movie {
      width: 100%;
      padding-bottom: 56.25%;
      height: 0px;
      position: relative; }
      #guide .cont01 .inner .movie iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%; }
    #guide .cont01 .inner .desc {
      font-size: 115%;
      margin-top: 40px; }
      #guide .cont01 .inner .desc i {
        margin-left: 0.5em; }
#guide .cont02 {
  background-color: #c2e6f9;
  background: url("../images/guide_cont02_bg.jpg") no-repeat 50% 50%;
  background-size: cover; }
  #guide .cont02 .inner {
    box-sizing: border-box;
    display: flex;
    align-items: center; }
    #guide .cont02 .inner .image,
    #guide .cont02 .inner .txt {
      width: 50%; }
    #guide .cont02 .inner .txt {
      box-sizing: border-box;
      padding: 4em; }
      #guide .cont02 .inner .txt .box {
        margin-bottom: 40px; }
        #guide .cont02 .inner .txt .box:last-of-type {
          margin-bottom: 0; }
        #guide .cont02 .inner .txt .box h3 {
          background: url("../images/title_bg.png") no-repeat 0 100%;
          background-size: 48px 2px;
          color: #ea6c18;
          font-size: 154%;
          line-height: 1.4em;
          margin-bottom: 0.8em;
          padding-bottom: 0.8em;
          text-align: left; }
          #guide .cont02 .inner .txt .box h3 span {
            font-size: 150%;
            margin-left: 0.2em; }
        #guide .cont02 .inner .txt .box .title {
          font-size: 115%;
          margin-bottom: 8px; }
#guide .links .btn_small_org{
  background: #FFF;
  border: 2px solid #e86c18;
  border-radius: 2px;
  color: #e86c18;
  font-size: 115%;
  line-height: 1.4em;
  padding: 0.5em 0;
  margin: 50px auto 0px auto;
  font-weight: 700;
  width:500px;
  text-align: center;}
  #guide .links .btn_small_org a{
    color: #e86c18; 
  }
#guide .links .qa{
  text-align: center;
  font-size: 120%;
  margin: 40px auto 0 auto;}


#campaign .cont01 {
  padding: 60px 0; }
  #campaign .cont01 .inner {
    margin: 0 auto;
    width: 960px; }
#campaign .cont02 {
  background: #c2e6f9;
  padding: 60px 0;
  text-align: center; }
  #campaign .cont02 .titleBox {
    margin-bottom: 40px; }
    #campaign .cont02 .titleBox h2 {
      font-size: 276%;
      line-height: 1.5em;
      margin-bottom: 28px; }
  #campaign .cont02 .inner {
    margin: 0 auto;
    width: 800px; }
    #campaign .cont02 .inner .column1 {
      display: block; }
    #campaign .cont02 .inner .column2,
    #campaign .cont02 .inner .column3 {
      display: flex;
      justify-content: space-between; }
      #campaign .cont02 .inner .column1 .box{
        padding-bottom: 20px; }
      #campaign .cont02 .inner .column1 .box,
      #campaign .cont02 .inner .column2 .box,
      #campaign .cont02 .inner .column3 .box {
        background: #FFF; }
        #campaign .cont02 .inner .column1 .box .image,
        #campaign .cont02 .inner .column2 .box .image,
        #campaign .cont02 .inner .column3 .box .image {
          display: block;
          margin-bottom: 12px; }
        #campaign .cont02 .inner .column1 .box h3,
        #campaign .cont02 .inner .column2 .box h3,
        #campaign .cont02 .inner .column3 .box h3 {
          background: #e86c18;
          color: #FFF;
          font-size: 215%;
          margin-bottom: 20px;
          padding: 0.5em 0;
          text-align: center; }
          #campaign .cont02 .inner .column1 .box h3 span,
          #campaign .cont02 .inner .column2 .box h3 span,
          #campaign .cont02 .inner .column3 .box h3 span {
            font-size: 120%;
            margin-left: 0.2em; }
        #campaign .cont02 .inner .column1 .box p{
          font-size: 132%;
          line-height: 1.4em; }          
        }
        #campaign .cont02 .inner .column2 .box p,
        #campaign .cont02 .inner .column3 .box p {
          font-size: 123%;
          line-height: 1.4em; }
          #campaign .cont02 .inner .column1 .box p.title,
          #campaign .cont02 .inner .column2 .box p.title,
          #campaign .cont02 .inner .column3 .box p.title {
            margin-bottom: 12px; }
          #campaign .cont02 .inner .column1 .box p.date {
            font-size: 123%; }
          #campaign .cont02 .inner .column2 .box p.date,
          #campaign .cont02 .inner .column3 .box p.date {
            margin-bottom: 20px; }
    #campaign .cont02 .inner .column2 .box {
      width: 100%; }
    #campaign .cont02 .inner .column2 .box {
      width: 49%;
      margin-right: 2%; }
      #campaign .cont02 .inner .column2 .box:last-child {
        margin-right: 0; }
    #campaign .cont02 .inner h4 {
      font-size: 123%;
      margin-top: 40px;
      margin-bottom: 40px; }
    #campaign .cont02 .inner .noteBox {
      background: #FFF;
      padding: 2em;
      text-align: left; }

.fadein {
  opacity: 0;
  transform: translate(0, 12px);
  transition: all 0.6s; }
  .fadein.scrollin {
    opacity: 1;
    transform: translate(0, 0); }

.fadein2 {
  opacity: 0;
  transform: translate(0, 16px) scale(1.05, 1.05);
  transition: all 0.5s; }
  .fadein2.scrollin {
    opacity: 1;
    transform: translate(0, 0) scale(1, 1); }

.delay {
  transition-delay: 0.15s; }

.delay2 {
  transition-delay: 0.3s; }

.delay3 {
  transition-delay: 0.45s; }

.delay4 {
  transition-delay: 0.6s; }

.image img {
  width: 100%;
  height: auto; }

.note {
  font-size: 85%; }

.smp {
  display: none; }




