/* CSS Document */
.r-mt {
  margin-top: 40px; }
  @media (max-width: 568px) {
    .r-mt {
      margin-top: 20px; } }

.r-mb {
  margin-bottom: 40px; }
  @media (max-width: 568px) {
    .r-mb {
      margin-bottom: 20px; } }

body, html {
  font-size: 16px;
  width: 100%;
  height: 100%;
  color: #525252;
  font-family: "Noto Sans JP", sans-serif !important;
  font-weight: lighter;
  line-height: 1.6;
  letter-spacing: 0.1em; }

@media (min-width: 1500px) {
  body, html {
    font-size: 18px; } }
.color1 {
  color: #177D90; }

.bg-color1 {
  background: #E6F1F3; }

.section {
  padding: 80px 0; }

.sc-tl {
  text-align: center;
  font-size: 2rem;
  margin-bottom: 40px;
  color: #177D90; }
  .sc-tl span {
    display: block;
    font-size: 1.2rem;
    color: #1c1c1c; }

.sc-tl2 {
  text-align: center;
  font-size: 1.6rem;
  margin-bottom: 40px;
  color: #177D90; }

.section-header {
  margin-bottom: 80px;
  padding: 40px 0;
  background: url("../img/dot-bg.png");
  background-position: center;
  background-size: cover; }
  @media (max-width: 568px) {
    .section-header {
      margin-bottom: 40px; } }
  .section-header .sc-tl {
    margin-bottom: 0; }

.lightbulb {
  display: inline-block !important;
  width: 50px;
  height: 40px;
  background: url("../img/lightbulb.png") no-repeat;
  background-size: contain;
  background-position: center; }

.nav {
  z-index: 500;
  position: fixed;
  top: 0;
  width: 100%;
  transition: .3s;
  background: #fff;
  height: 60px;
  display: flex;
  align-items: center; }
  .nav .container {
    height: 60px;
    display: flex;
    align-items: center; }
  .nav a {
    font-size: 1.2rem;
    color: #1c1c1c;
    display: flex;
    font-weight: bold; }
  .nav .logo {
    height: 40px; }
    .nav .logo img {
      height: 100%;
      width: auto; }
  .nav .btn {
    font-size: 0.9rem;
    width: auto;
    padding: 4px 20px;
    margin-left: auto; }

.btn {
  color: #177D90 !important;
  width: 400px;
  max-width: 100%;
  display: inline-block;
  background: #FFF507;
  border-radius: 55px;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
  padding: 8px 10px;
  text-align: center;
  font-size: 1.2rem;
  text-decoration: none;
  font-weight: bold !important; }

.top-visual {
  padding-top: 60px;
  width: 100%;
  height: 550px;
  min-height: 550px;
  color: #fff;
  position: relative;
  background-image: url(../img/dot-bg.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  overflow: hidden; }
  .top-visual .container {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    height: 100%;
    z-index: 5; }
  .top-visual .top-catch {
    position: absolute;
    width: 700px;
    max-width: 100%;
    left: 10%;
    height: auto;
    z-index: 1; }
  .top-visual .top-person1 {
    position: absolute;
    width: auto;
    height: 400px;
    right: 10%;
    bottom: 0; }
  .top-visual .schedule {
    position: absolute;
    bottom: 40px;
    font-size: 0.9rem;
    background: #FFF507;
    font-weight: bold;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    border-radius: 50px;
    padding: 10px 20px;
    color: #177D90; }

.underline {
  border-bottom: solid 3px #FFF507;
  padding-bottom: 2px;
  margin-bottom: 4px;
  display: inline-block; }

#about {
  background: url("../img/bg-about.jpg");
  background-position: center;
  background-size: cover;
  color: #fff;
  text-align: center; }
  #about .sc-tl {
    color: #fff; }
  #about p {
    font-weight: bold;
    line-height: 2;
    font-size: 1.4rem; }
  @media (max-width: 768px) {
    #about p {
      font-size: 1.2rem; } }

#features {
  padding: 0; }
  #features .features-section {
    padding: 80px 0; }
    @media (max-width: 568px) {
      #features .features-section {
        padding: 40px 0; } }
  #features .features-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 40px; }
    #features .features-row .features-col h3 {
      font-size: 1.8rem;
      z-index: 2;
      margin-top: 40px;
      position: relative; }
      #features .features-row .features-col h3 .number {
        mix-blend-mode: multiply;
        z-index: 1;
        opacity: 0.5;
        position: absolute;
        color: #27C4CB;
        font-size: 4rem;
        font-weight: normal;
        top: -4rem;
        left: -2rem; }
        @media (max-width: 768px) {
          #features .features-row .features-col h3 .number {
            left: -1rem; } }
  #features .instructor-box {
    margin-top: 80px;
    padding: 40px;
    display: flex;
    align-items: flex-start;
    background: #F8F8F8; }
    @media (max-width: 568px) {
      #features .instructor-box {
        margin-top: 40px; } }
    @media (max-width: 568px) {
      #features .instructor-box {
        padding: 20px; } }
    #features .instructor-box img {
      width: 200px;
      height: auto;
      margin-right: 20px; }
  #features .businessmodel {
    margin-top: 80px; }
    @media (max-width: 568px) {
      #features .businessmodel {
        margin-top: 40px; } }
    #features .businessmodel .businessmodel-row {
      display: grid;
      grid-template-columns: 1fr 1fr 1fr;
      grid-gap: 20px; }
      #features .businessmodel .businessmodel-row .businessmodel_col {
        text-align: center; }
        #features .businessmodel .businessmodel-row .businessmodel_col img {
          width: 150px;
          max-width: 100%;
          height: auto;
          display: inline-block; }
        #features .businessmodel .businessmodel-row .businessmodel_col h4 {
          color: #177D90;
          margin: 10px 0; }
  #features .time-schedule {
    margin-top: 80px; }
    @media (max-width: 568px) {
      #features .time-schedule {
        margin-top: 40px; } }
    #features .time-schedule .schedule-table tr {
      border-bottom: solid 1px #177D90; }
      #features .time-schedule .schedule-table tr:last-of-type {
        border: none; }
    #features .time-schedule .schedule-table th {
      background: #177D90;
      width: 220px;
      padding: 20px;
      color: #fff; }
      #features .time-schedule .schedule-table th .a-schedule {
        margin-top: 4px;
        display: block;
        font-size: 0.9rem;
        font-weight: normal;
        color: #FFB5B5; }
      #features .time-schedule .schedule-table th .b-schedule {
        margin-top: 4px;
        display: block;
        font-weight: normal;
        font-size: 0.9rem;
        color: #FFF589; }
    #features .time-schedule .schedule-table td {
      background: #fff;
      padding: 20px; }
      #features .time-schedule .schedule-table td h3 {
        color: #177D90; }
    #features .time-schedule .desc-box {
      padding: 40px;
      margin-top: 80px;
      background: #fff; }
      @media (max-width: 568px) {
        #features .time-schedule .desc-box {
          padding: 20px; } }
      @media (max-width: 568px) {
        #features .time-schedule .desc-box {
          margin-top: 40px; } }
      #features .time-schedule .desc-box h3 {
        color: #177D90; }
      #features .time-schedule .desc-box th {
        color: #177D90;
        padding-right: 20px;
        padding-bottom: 20px;
        width: 100px; }
      #features .time-schedule .desc-box td {
        padding-bottom: 20px; }
  #features .course-table .table-header {
    background: #177D90;
    color: #fff;
    padding: 20px;
    display: flex;
    justify-content: space-between; }
  #features .course-table table {
    background: #fff;
    width: 100%; }
    #features .course-table table tr {
      border-bottom: solid 1px #177D90; }
      #features .course-table table tr:last-of-type {
        border: none; }
    #features .course-table table th, #features .course-table table td {
      padding: 20px; }
    #features .course-table table td {
      text-align: right;
      font-weight: bold;
      width: 100px;
      color: #177D90; }
  #features .point {
    margin-top: 80px; }
    @media (max-width: 568px) {
      #features .point {
        margin-top: 40px; } }
    #features .point h3 {
      color: #177D90;
      font-size: 1.8rem; }
    #features .point .point-item {
      padding: 20px;
      background: #FFF507;
      color: #177D90;
      margin-bottom: 20px; }
      #features .point .point-item p {
        margin-bottom: 0; }
  @media (max-width: 768px) {
    #features .features-row {
      grid-template-columns: 1fr;
      grid-gap: 20px; }
    #features .instructor-box img {
      width: 100px;
      height: auto;
      margin-right: 20px; }
    #features .businessmodel .businessmodel-row {
      grid-template-columns: 1fr;
      grid-gap: 20px; }
      #features .businessmodel .businessmodel-row .businessmodel_col img {
        width: 150px; }
    #features .time-schedule .schedule-table th {
      width: 150px; } }

.contact {
  padding: 40px 0;
  background: #177d90;
  background: linear-gradient(120deg, #177d90 0%, #27c4cb 100%);
  text-align: center; }
  .contact .btn {
    display: block;
    margin: 0 auto 10px;
    font-size: 1.8rem; }
  .contact p {
    font-size: 0.8rem;
    color: #fff; }
    .contact p a {
      color: #fff;
      text-decoration: underline; }

#participate {
  padding-top: 0; }
  #participate table {
    width: 800px;
    max-width: 100%;
    margin: 0 auto; }
    #participate table td {
      padding: 20px 0; }
    #participate table th {
      color: #177D90;
      padding: 20px 0;
      padding-right: 20px;
      width: 150px;
      font-size: 1.4rem; }

#faq .ac-box {
  width: 80%;
  margin: 0 auto; }
#faq .ac-group {
  background: #fff;
  border-radius: 50px;
  margin-bottom: 20px; }
#faq .ac-box label {
  position: relative;
  display: block;
  width: 100%;
  font-weight: bold;
  cursor: pointer;
  color: #177D90;
  padding: 20px 40px;
  text-align: left;
  transition: all 0.5s;
  padding-right: 2em;
  margin-bottom: 0; }
#faq .ac-box label:hover {
  -webkit-transition: all .3s;
  transition: all .3s; }
#faq .ac-box input {
  display: none; }
#faq .ac-box input + label::after {
  border-right: solid 2px #177D90;
  border-top: solid 2px #177D90;
  content: "";
  display: block;
  height: 8px;
  position: absolute;
  right: 20px;
  top: 38%;
  transform: rotate(135deg);
  transition: transform .3s ease-in-out, top .3s ease-in-out;
  width: 8px; }
#faq .ac-box input:checked + label::after {
  transform: rotate(-45deg); }
#faq .ac-box .ac-small {
  height: 0;
  padding: 0;
  overflow: hidden;
  opacity: 0;
  transition: 0.5s; }
#faq .ac-box input:checked + label + div {
  height: auto;
  opacity: 1; }
#faq .ac-box div p {
  color: #2B2B2B;
  text-align: left;
  padding: 0 40px 20px; }
@media (max-width: 767px) {
  #faq .ac-box {
    width: 100%; } }

#corona .corona-row {
  width: 700px;
  max-width: 100%;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 40px; }
  #corona .corona-row .corona-col {
    display: flex; }
    #corona .corona-row .corona-col h3 {
      color: #177D90;
      font-size: 1.2rem; }
    #corona .corona-row .corona-col img {
      width: 70px;
      height: 70px;
      object-fit: contain;
      margin-right: 20px; }
#corona .note-box {
  padding: 40px;
  margin-top: 80px;
  background: #E6F1F3; }
  @media (max-width: 568px) {
    #corona .note-box {
      padding: 20px; } }
  @media (max-width: 568px) {
    #corona .note-box {
      margin-top: 40px; } }
@media (max-width: 767px) {
  #corona .corona-row {
    justify-content: center;
    grid-template-columns: 1fr;
    grid-gap: 20px;
    place-items: center; }
    #corona .corona-row .corona-col {
      display: flex; }
      #corona .corona-row .corona-col h3 {
        color: #177D90;
        font-size: 1rem; }
      #corona .corona-row .corona-col img {
        height: 40px;
        width: auto;
        margin-right: 20px; } }

footer {
  background: #F7F7F7;
  font-size: 0.9rem;
  padding: 40px 0; }
  footer .logo {
    width: auto;
    height: 60px;
    margin-bottom: 20px; }
  footer h3 {
    font-size: 1rem;
    color: #1c1c1c; }
  footer .copyright {
    font-size: 0.9rem;
    color: #848484; }
  footer nav {
    margin-bottom: 20px; }
    footer nav a {
      margin: 0 10px;
      display: inline-block; }

@media (max-width: 1200px) {
  .top-visual {
    height: 500px;
    min-height: 500px; }
    .top-visual .top-catch {
      width: 65%;
      max-width: 100%;
      left: 5%;
      padding-bottom: 60px; }
    .top-visual .top-person1 {
      width: 30%;
      right: 5%;
      height: auto; }
    .top-visual .top-person2 {
      width: 50%;
      right: 5px;
      height: auto; } }
@media (max-width: 768px) {
  body, html {
    font-size: 14px; }

  .section {
    padding: 40px 0; }

  .sc-tl {
    margin-bottom: 20px; }

  .nav .btn {
    width: auto;
    padding: 5px 15px;
    border: solid 2px #fff; } }
@media (max-width: 568px) {
  .sc-tl {
    font-size: 1.8rem; }

  .top-visual {
    height: 400px;
    min-height: 400px; }
    .top-visual .container {
      display: block; }
    .top-visual .top-catch {
      position: absolute;
      left: 20px;
      top: 50%;
      transform: translateY(-50%);
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      margin-top: 0;
      width: 75%;
      max-width: 100%; }
    .top-visual .top-person1 {
      bottom: 0;
      width: 55%;
      right: -20%;
      position: absolute;
      height: auto; } }

/*# sourceMappingURL=style.css.map */
