@charset "UTF-8";
:root {
  --main-bg-color: #008e83;
  --sub-color: #008e83;
  --color1: #036eb8;
  --color2: #ea5514;
}
p.catch {
  color: var(--main-bg-color);
  font-size: 1.5rem;
  margin-top: 10px;
}
header {
  justify-content: space-between;
  .logo {
    flex: 0 1 400px;
  }
  #mainnav {
    flex: 0 1 700px;
    & ul {
      & li {
        & a {
          color: var(--main-bg-color);
        }
        & a:hover {
          border-color: var(--sub-color);
        }
      }
      & li.current_page_item {
        & a {
          border-color: #ccc;
        }
      }
    }
  }
}
article {
  & h1 {
    font-size: 1.5rem;
    border-bottom: solid 1px var(--sub-color);
    margin-bottom: 10px;
  }
  & table {
    margin: 20px auto;
  }
}
.tutor-course-filter {
  display: none;
}
.curriculum {
  margin: 30px 0;
  & h2 {
    text-align: center;
    font-size: 2rem;
    margin: 20px;
  }
  .course {
    border-radius: 10px;
    padding: 20px;
    margin: 20px 0;
    &.live {
      background-color: #DAE9F7;
      &  h3 {
        background-color: var(--color1);
      }
        .flex {
            justify-content: space-between;
            .point {
                font-size: 1.2rem;
                font-weight: bold;
                
                
                display: flex;
                justify-content: center;
                    align-items: center;
                & h4 {
                    border-radius: 20px;
                padding: 10px 10px 7px;
                    color: #fff;
                background-color: #090;
                    font-weight: bold;
                    position: relative;
                    &::before {
                        content: "";
                        position: absolute;
                        width: 0px;
                        height: 0px;
                        bottom: -29px;
                        left: 30%;
                        display: block;
                        border: solid 15px transparent;
                        border-top: solid 15px #090;
                        
                        
                    }
                }
            }
        }
    }
    &.movie {
      background-color: #fce8dd;
      &  h3 {
        background-color: var(--color2);
      }
      .patterns {
        border: solid 1px var(--color2);
        h3 {
          background-color: var(--color2);
          color: #fff;
          text-align: center;
          padding: 3px 10px 0;
            border-radius: 0;
            display: block;
        }
        .pattern {
          gap: 20px;
          padding: 10px;
          background-color: #fff;
          & div {
            flex: 1;
            position: relative;
            background-color: #fff;
            padding: 10px;
            padding-left: 70px;
            border-radius: 10px;
            & strong {
              font-size: 1.2rem;
              font-weight: bold;
            }
            &:first-child::before {
              position: absolute;
              content: "A";
              font-weight: bold;
              font-size: 60px;
              left: 10px;
              top: 5px;
              color: var(--color2);
            }
            &:nth-of-type(2)::before {
              position: absolute;
              content: "B";
              font-weight: bold;
              font-size: 60px;
              left: 10px;
              top: 5px;
              color: var(--color2);
            }
          }
        }
      }
    }
    & h3 {
      font-size: 1.2rem;
      display: inline-block;
      border-radius: 50px;
      padding: 3px 20px 0;
      color: #fff;
      margin-bottom: 10px;
    }
    .liveCourse, .movieCourse {
      margin-top: 10px;
      gap: 20px;
      flex-wrap: wrap;
      .courses {
        background-color: #fff;
        margin-bottom: 20px;
        & figure {
          flex: 0 0 300px;
          & img {
            height: 100%;
            object-fit: cover;
          }
        }
        .text {
          padding: 10px;
          & h4 {
            font-size: 1.4rem;
            & small {
              font-size: 1rem;
            }
          }
          & dl {
            border: solid 1px #f00;
            padding: 0;
            margin: 10px 0;
            & dt {
              background-color: #f00;
              color: #fff;
              font-weight: bold;
              padding: 3px 5px;
            }
            & dd {
              padding: 3px 5px;
            }
          }
          .linkBt {
            a {
              border: solid 1px #999;
              padding: 3px 10px 0;
              margin-top: 10px;
              display: inline-block;
              color: #333;
              & i {
                margin-left: 10px;
                color: var(--color1);
              }
            }
          }
        }
      }
    }
    .movieCourse {
      .courses {
        .text {
          .linkBt {
            a {
              & i {
                margin-left: 10px;
                color: var(--color2);
              }
            }
          }
        }
      }
    }
    .tutor-mt-auto {
      display: none;
    }
  }
}
.orien {
  background-color: #ebe9e1;
  padding: 20px;
  margin-bottom: 20px;
  & h3 {
    font-size: 1.5rem;
  }
  .datetime {
    margin: 10px 0;
    font-size: 1.3rem;
    font-weight: bold;
  }
  & figure {
    & img {
      max-width: 400px;
    }
  }
  & ul {
    & ol {
      padding-left: 1em;
    }
  }
}
.closeday {
  background-color: #f9d4dc;
  border-left: solid 10px var(--sub-color);
  padding: 20px;
  margin-bottom: 20px;
  & h3 {
    font-size: 1.5rem;
    font-weight: bold;
  }
}
.flow {
  margin-bottom: 20px;
  & figure {
    margin-bottom: 20px;
  }
}
.memo {
  border: solid 1px #ccc;
  padding: 20px;
  & h3 {
    font-size: 1.5rem;
  }
}
.tutor-col-auto {
  display: none;
}
.tutor-card-body {
  .tutor-mt-auto {
    display: none;
  }
}
span.mwform-radio-field {
  display: inline-block;
  margin-right: 20px;
}
p.count {
  margin: 10px 0;
}
dl.qualifications {
  & dt {
    flex: 0 0 6em;
    text-align: center;
    border: solid 3px #e95383;
    color: #e95383;
    padding: 5px;
    margin-right: 10px;
    border-radius: 10px;
    font-weight: bold;
  }
}
.caution {
  border: double 3px #f00;
  margin: 20px 0;
  padding: 20px;
}
.tutor-dashboard-menu-purchase_history, .tutor-dashboard-menu-wishlist {
  display: none;
}
.nopc {
  background-color: #fff;
  padding: 20px;
  border-radius: 10px;
  border: solid 5px var(--color1);
  & h4 {
    font-weight: bold;
    font-size: 1.5rem;
    color: var(--color1);
  }
  & ul {
    padding-left: 1.5em;
    & li {
      position: relative;
      &::before {
        content: '※';
        position: absolute;
        left: -1.5em;
        top: 0;
      }
    }
  }
}
.career {
  padding: 20px;
  border: solid 5px var(--main-bg-color);
  margin: 30px 0;
  border-radius: 20px;
  justify-content: space-between;
  & h3 {
    font-size: 2rem;
    color: var(--main-bg-color);
  }
  & figure {
    & img {
      height: 150px;
      width: auto;
    }
  }
}
/* page_live-streaming-courses */
.page-template-page-course {
  & article {
    h1 {
      background-color: var(--color1);
      color: #fff;
      font-size: 1.2rem;
      padding: 5px 20px 2px;
      border-radius: 50px;
      border: none;
    }
    .lectures_image {
      width: 100%;
      & img {
        aspect-ratio: 3 / 1;
        object-fit: cover;
        object-position: center 30%;
      }
    }
    .catch {
      font-size: 1.2rem;
    }
    .select {
      margin-top: 20px;
      & h2 {
        text-align: center;
        font-size: 1.5rem;
        margin-bottom: 20px;
      }
      .grid-table {
        display: grid;
        grid-template-columns: 48% 4% 48%;
          margin-bottom: 50px;
        & h3:nth-of-type(1) {
          grid-column: 1/2;
          grid-row: 1/2;
        }
        & h3:nth-of-type(2) {
          grid-column: 3/4;
          grid-row: 1/2;
        }
        & p.setumei.acourse {
          grid-column: 1/2;
          grid-row: 2/3;
        }
          & p.setumei.bcourse {
          grid-column: 3/4;
          grid-row: 2/3;
        }
        & dl.grid.acourse {
          grid-column: 1/2;
          grid-row: 3/4;
        }
        & dl.grid.bcourse {
          grid-column: 3/4;
          grid-row: 3/4;
        }
        & p.linkBt.acourse {
          grid-column: 1/2;
          grid-row: 4/5;
        }
        & p.linkBt.bcourse {
          grid-column: 3/4;
          grid-row: 4/5;
        }
        & h3 {
          font-size: 2rem;
          padding-bottom: 10px;
          font-weight: bold;
          line-height: 1.2em;
          position: relative;
          padding: 10px 10px 0 2em;
            border: solid 3px var(--color1);
            border-bottom: none;
            border-radius: 10px 10px 0 0 ;
          & em {
            position: absolute;
            left: 10px;
            font-size: 4rem;
            color: var(--color1);
            top: 20px;
            font-weight: bold;
            margin-right: 10px;
              
          }
          & small {
            font-size: 1rem;
            line-height: 1.2em;
            display: block;
          }
        }
          & p.setumei {
            border-left: solid 3px var(--color1); 
            border-right: solid 3px var(--color1);  
              padding: 10px;
          }
       
        .memo {
          padding: 0;
          border: none;
          font-size: 0.9rem;
          margin-top: -15px;
          margin-bottom: 5px;
          display: block;
          color: var(--color1);
        }
        & dl.grid {
            border-left: solid 3px var(--color1); 
            border-right: solid 3px var(--color1); 
          padding: 10px;
          display: grid;
          gap: 0px 10px;
          grid-template-columns: 8em auto;
            & dt {
                font-weight: bold;
            }
            & dd em {
                display: block;
                font-weight: bold;
            }
        }
        .linkBt {
            border: solid 3px var(--color1); 
           border-top: none;
            border-radius: 0 0 10px 10px;
          padding: 0px 10px 10px 10px;
          & a {
            border: solid 1px #999;
            padding: 5px 10px 2px;
            color: #333;
            display: inline-block;
            margin-top: 10px;
            & i {
              margin-left: 10px;
              color: var(--color1);
            }
          }
        }
      }
    }
  }
}
.page-template-page-course.page_iryou, .page-template-page-course.page_tyouzaijimu, .page-template-page-course.page_kaigojimu {
  & article {
    h1 {
      background-color: var(--color2);
    }
    .select {
      .flex {
          justify-content: space-between;
          gap: 10px;
        & div {
            flex: 0 1 50%;
            
            border-radius: 10px;
          border: solid 3px var(--color2);
            padding: 20px;
          .catch {
            color: #333;
          }
          & h3 {
            font-weight: bold;
            font-size: 2rem;
            & em {
              position: relative;
              top: 10px;
              color: var(--color2);
              font-weight: bold;
              font-size: 4rem;
              margin-right: 10px;
            }
          }
            .linkBt a {
                border: solid 1px #999;
                display: inline-block;
                padding: 2px 10px 0;
                margin-top: 10px;
                color: #333;
                & i {
                    margin-left: 10px;
                }
            }
        }
      }
    }
    & i {
      color: var(--color2) !important;
    }
  }
}
footer {
  clear: both;
  background-color: var(--main-bg-color);
  color: #fff;
}
footer .wp-block-table table {
  width: auto;
  border: none;
}
footer .wp-block-table table td {
  text-align: left;
  border: none;
  padding: 5px;
  line-height: 1em;
  font-size: 1.2rem;
}
footer .wp-block-table table tr {
  background-color: transparent;
  border: none !important;
}
/* ENTRY PAGE */
.page_entry {
  & form {
    & table {
      & tr {
        & small {
          font-size: 0.8rem;
        }
      }
      & td {
        .text {
          padding-left: 1.5em;
          margin-bottom: 10px;
        }
          & span.caution {
              color: #f00;
              border: none;
              padding: 0;
          }
      }
    }
  }
}
@media screen and (max-width: 559px) {
  p.catch {
    font-size: 1rem;
    padding: 0 10px;
  }
  header {
    #mainnav {
      & ul {
        & li {
          font-size: 0.8rem;
        }
      }
    }
  }
  .orien {
    .alignright {
      float: none;
      margin: 10px 0;
      width: 80vw;
    }
  }
  .page-template-page-course {
    & article {
      & .select {
        & .grid-table {
          display: block;
            & h3 {
                margin-top: 50px;
            }
        }
      }
    }
  }
}