@charset "UTF-8";
/* Scss Document */
/* Scss Document */
/*
@mixin ll_pc_size{
  @media screen and (min-width: $l_desktop) {
    @content;
  }
}
*/
header .header_wrap {
  position: fixed; }

.main_title {
  font-size: 1.8rem;
  color: #34578E;
  text-align: center;
  line-height: 1; }
  @media (min-width: 768px) {
    .main_title {
      font-size: calc( 1.8rem + ( 1vw - 7.68px ) * 2.34375 ); } }
  @media (min-width: 1280px) {
    .main_title {
      font-size: 3rem; } }

.en {
  font-size: 1.5rem;
  color: #34578E;
  text-align: center;
  line-height: 1; }
  @media (min-width: 768px) {
    .en {
      font-size: calc( 1.5rem + ( 1vw - 7.68px ) * 0.5859375 ); } }
  @media (min-width: 1280px) {
    .en {
      font-size: 1.8rem; } }

.read_txt {
  margin: 0 auto;
  max-width: 856px;
  font-size: 1.5rem;
  color: #707070;
  text-align: center; }
  @media (min-width: 768px) {
    .read_txt {
      font-size: calc( 1.5rem + ( 1vw - 7.68px ) * 0.5859375 ); } }
  @media (min-width: 1280px) {
    .read_txt {
      font-size: 1.8rem; } }

/*文字色*/
.red {
  color: #FF0000; }

#schedule {
  padding: 50px 0; }
  #schedule h2 {
    color: #4b7cc7; }
  #schedule .sp_calender .sp_date {
    box-sizing: border-box;
    padding: 10px;
    font-size: 1.6rem;
    color: #fff;
    text-align: center;
    background: #707070; }
  #schedule .sp_calender .sp_schedule {
    box-sizing: border-box;
    padding: 15px;
    border: 1px solid #707070; }
    #schedule .sp_calender .sp_schedule li {
      position: relative;
      box-sizing: border-box;
      margin-bottom: 2px;
      padding: 14px 12px;
      font-size: 1.3rem;
      letter-spacing: 0.4px;
      border-left-width: 14px;
      border-left-style: solid;
      background: #f5f6f8; }
      #schedule .sp_calender .sp_schedule li span.corse_name::after {
        position: absolute;
        top: 50%;
        transform: translate(4.4px, -50%);
        content: '';
        width: 1px;
        height: 15px;
        background: #EBEBEB; }
      #schedule .sp_calender .sp_schedule li span.mark {
        font-size: 1.6rem;
        line-height: 1.4;
        color: #FF0000;
        float: right; }
      #schedule .sp_calender .sp_schedule li:nth-last-child(1) {
        margin-bottom: 0; }
  #schedule .selecter_wrap {
    position: relative; }
  #schedule .display_selecteditem {
    position: relative;
    box-sizing: border-box;
    margin: 0 auto 20px;
    max-width: 523px;
    padding: 12px 18px;
    width: auto;
    font-size: 1.6rem;
    color: #707070;
    background: #F8F8F8;
    border: none;
    border-radius: 40px;
    outline: none;
    cursor: pointer;
    -webkit-appearance: none; }
    @media (min-width: 768px) {
      #schedule .display_selecteditem {
        font-size: calc( 1.6rem + ( 1vw - 7.68px ) * 0.390625 ); } }
    @media (min-width: 1280px) {
      #schedule .display_selecteditem {
        font-size: 1.8rem; } }
    #schedule .display_selecteditem::before {
      position: absolute;
      top: 50%;
      right: 5%;
      transform: translateY(-4px);
      content: '';
      width: 16px;
      height: 16px;
      box-sizing: border-box;
      border-width: 8px;
      border-style: solid;
      border-color: transparent;
      border-top-color: #707070; }
  #schedule .plan_selector {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
    max-width: 500px;
    background: #fff;
    border: 1px solid #c5c5c5; }
    #schedule .plan_selector li {
      padding: 12px 18px;
      width: auto;
      font-size: 1.2rem;
      color: #707070;
      border: none;
      cursor: pointer;
      outline: none;
      -webkit-appearance: none; }
      @media (min-width: 768px) {
        #schedule .plan_selector li {
          font-size: calc( 1.2rem + ( 1vw - 7.68px ) * 0.390625 ); } }
      @media (min-width: 1280px) {
        #schedule .plan_selector li {
          font-size: 1.4rem; } }
      #schedule .plan_selector li:hover {
        background: #f8f8f8; }
  #schedule .calendar tbody tr {
    border-bottom: 1px solid #EBEBEB; }
    #schedule .calendar tbody tr th, #schedule .calendar tbody tr td {
      padding: 14px 7px;
      text-align: left;
      border-right: 1px solid #EBEBEB; }
    #schedule .calendar tbody tr th {
      color: #34578E; }
      #schedule .calendar tbody tr th.sun {
        color: #D55A5A; }
    #schedule .calendar tbody tr td.day_box ul li {
      font-size: 1.1rem; }
      @media (min-width: 768px) {
        #schedule .calendar tbody tr td.day_box ul li {
          font-size: calc( 1.1rem + ( 1vw - 7.68px ) * 0.390625 ); } }
      @media (min-width: 1280px) {
        #schedule .calendar tbody tr td.day_box ul li {
          font-size: 1.3rem; } }
    #schedule .calendar tbody tr td.list_time {
      text-align: right; }

#sp_schedule {
  padding: 50px 0; }
  #sp_schedule h2 {
    color: #4b7cc7; }
  #sp_schedule .sp_calender {
    border: 1px solid #BABABA;
    margin-bottom: 15px; }
    #sp_schedule .sp_calender .sp_date {
      box-sizing: border-box;
      padding: 10px;
      font-size: 1.6rem;
      color: #fff;
      text-align: center;
      background: #707070; }
    #sp_schedule .sp_calender .reserve_btn a {
      display: block;
      margin: 0 auto;
      padding: 5px;
      border-radius: unset;
      color: #fff;
      background-color: #52709E;
      text-align: center; }
    #sp_schedule .sp_calender .sp_schedule {
      box-sizing: border-box;
      padding: 15px;
      border: 1px solid #707070; }
      #sp_schedule .sp_calender .sp_schedule li {
        position: relative;
        box-sizing: border-box;
        margin-bottom: 2px;
        padding: 14px 12px;
        font-size: 1.3rem;
        letter-spacing: 0.4px;
        border-left-width: 14px;
        border-left-style: solid;
        background: #f5f6f8; }
        #sp_schedule .sp_calender .sp_schedule li span.corse_name::after {
          position: absolute;
          top: 50%;
          transform: translate(4.4px, -50%);
          content: '';
          width: 1px;
          height: 15px;
          background: #EBEBEB; }
        #sp_schedule .sp_calender .sp_schedule li span.mark {
          font-size: 1.6rem;
          line-height: 1.4;
          color: #FF0000;
          float: right; }
        #sp_schedule .sp_calender .sp_schedule li:nth-last-child(1) {
          margin-bottom: 0; }
  #sp_schedule .selecter_wrap {
    position: relative; }
  #sp_schedule .display_selecteditem {
    position: relative;
    box-sizing: border-box;
    margin: 0 auto 20px;
    max-width: 523px;
    padding: 12px 18px;
    width: auto;
    font-size: 1.6rem;
    color: #707070;
    background: #F8F8F8;
    border: none;
    border-radius: 40px;
    outline: none;
    cursor: pointer;
    -webkit-appearance: none; }
    @media (min-width: 768px) {
      #sp_schedule .display_selecteditem {
        font-size: calc( 1.6rem + ( 1vw - 7.68px ) * 0.390625 ); } }
    @media (min-width: 1280px) {
      #sp_schedule .display_selecteditem {
        font-size: 1.8rem; } }
    #sp_schedule .display_selecteditem::before {
      position: absolute;
      top: 50%;
      right: 5%;
      transform: translateY(-4px);
      content: '';
      width: 16px;
      height: 16px;
      box-sizing: border-box;
      border-width: 8px;
      border-style: solid;
      border-color: transparent;
      border-top-color: #707070; }
  #sp_schedule .plan_selector {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
    max-width: 500px;
    background: #fff;
    border: 1px solid #c5c5c5; }
    #sp_schedule .plan_selector li {
      padding: 12px 18px;
      width: auto;
      font-size: 1.2rem;
      color: #707070;
      border: none;
      cursor: pointer;
      outline: none;
      -webkit-appearance: none; }
      @media (min-width: 768px) {
        #sp_schedule .plan_selector li {
          font-size: calc( 1.2rem + ( 1vw - 7.68px ) * 0.390625 ); } }
      @media (min-width: 1280px) {
        #sp_schedule .plan_selector li {
          font-size: 1.4rem; } }
      #sp_schedule .plan_selector li:hover {
        background: #f8f8f8; }
  #sp_schedule .calendar tbody tr {
    border-bottom: 1px solid #EBEBEB; }
    #sp_schedule .calendar tbody tr th, #sp_schedule .calendar tbody tr td {
      padding: 14px 7px;
      text-align: left;
      border-right: 1px solid #EBEBEB; }
    #sp_schedule .calendar tbody tr th {
      color: #34578E; }
      #sp_schedule .calendar tbody tr th.sun {
        color: #D55A5A; }
    #sp_schedule .calendar tbody tr td.day_box ul li {
      font-size: 1.1rem; }
      @media (min-width: 768px) {
        #sp_schedule .calendar tbody tr td.day_box ul li {
          font-size: calc( 1.1rem + ( 1vw - 7.68px ) * 0.390625 ); } }
      @media (min-width: 1280px) {
        #sp_schedule .calendar tbody tr td.day_box ul li {
          font-size: 1.3rem; } }
    #sp_schedule .calendar tbody tr td.list_time {
      text-align: right; }

/*------------------------------
		769px以上
------------------------------*/
/*------------------------------
		980px以上
------------------------------*/
@media screen and (min-width: 981px) {
  #contents #body_content {
    /*スケジュール*/ }
    #contents #body_content #schedule {
      padding-top: 125.75px;
      padding-bottom: 430px; }
      #contents #body_content #schedule .icon_title {
        margin-bottom: 30px; }
      #contents #body_content #schedule .schedule_box {
        box-sizing: border-box;
        padding: 30px 10px;
        background: #fff; }
      #contents #body_content #schedule .display_selecteditem {
        padding: 12px 27.76px 12px 40px; }
      #contents #body_content #schedule .plan_selector {
        margin-bottom: 37px; }
        #contents #body_content #schedule .plan_selector li {
          padding: 10px 40px; }
      #contents #body_content #schedule .colors {
        margin: 0 auto;
        width: fit-content; }
        #contents #body_content #schedule .colors .course_color {
          margin-right: 15px; }
          #contents #body_content #schedule .colors .course_color::before {
            content: '';
            display: inline-block;
            margin-right: 8px;
            width: 26px;
            height: 26px;
            vertical-align: middle; }
          #contents #body_content #schedule .colors .course_color:nth-child(1)::before {
            background-color: #FF83C4; }
          #contents #body_content #schedule .colors .course_color:nth-child(2)::before {
            background-color: #74CFFF; }
          #contents #body_content #schedule .colors .course_color:nth-child(3)::before {
            background-color: #E3FF53; }
          #contents #body_content #schedule .colors .course_color:nth-child(4)::before {
            background-color: #FFE567; }
      #contents #body_content #schedule .calender_navi {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -webkit-flex-flow: row wrap;
        -ms-flex-flow: row wrap;
        flex-flow: row wrap;
        -webkit-box-align: stretch;
        -webkit-align-items: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;
        -webkit-align-content: flex-start;
        -ms-flex-line-pack: start;
        align-content: flex-start;
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
        justify-content: space-between;
        margin-bottom: 33.5px; }
        #contents #body_content #schedule .calender_navi .calendar_guide {
          flex: 0 1 auto;
          width: auto;
          max-width: auto; }
          #contents #body_content #schedule .calender_navi .calendar_guide .month {
            font-size: 2rem;
            text-align: center;
            color: #4B7CC7; }
          #contents #body_content #schedule .calender_navi .calendar_guide .cate p {
            display: inline-block;
            font-size: 1.5rem;
            line-height: 1;
            color: #707070; }
            #contents #body_content #schedule .calender_navi .calendar_guide .cate p span {
              margin-right: 10px;
              color: #FF0000; }
        #contents #body_content #schedule .calender_navi .btn_area {
          flex: 0 1 auto;
          width: auto;
          max-width: auto; }
      #contents #body_content #schedule .calendar {
        margin-bottom: 30px; }
        #contents #body_content #schedule .calendar tbody tr {
          border-bottom: 1px solid #EBEBEB; }
          #contents #body_content #schedule .calendar tbody tr th {
            padding: 0;
            text-align: left;
            /*width: 14.28571428%;*/ }
            #contents #body_content #schedule .calendar tbody tr th.day_box {
              background-color: #eff8fe; }
              #contents #body_content #schedule .calendar tbody tr th.day_box .month_num {
                padding: 10.5px 0 10px 11px;
                line-height: 1; }
              #contents #body_content #schedule .calendar tbody tr th.day_box ul {
                border-top: 1px solid #707070;
                border-bottom: 1px solid #707070; }
                #contents #body_content #schedule .calendar tbody tr th.day_box ul li {
                  position: relative;
                  box-sizing: border-box;
                  padding: 7.61% 4.68%;
                  letter-spacing: 0.4px;
                  border-left-width: 9px;
                  border-left-style: solid;
                  border-bottom: 1px solid #EBEBEB; }
                  #contents #body_content #schedule .calendar tbody tr th.day_box ul li span.corse_name::after {
                    position: absolute;
                    top: 50%;
                    transform: translate(4.4px, -50%);
                    content: '';
                    width: 1px;
                    height: 15px;
                    background: #EBEBEB; }
                  #contents #body_content #schedule .calendar tbody tr th.day_box ul li span.mark {
                    color: #FF0000;
                    float: right; }
                  #contents #body_content #schedule .calendar tbody tr th.day_box ul li:nth-last-child(1) {
                    border-bottom: none; }
          #contents #body_content #schedule .calendar tbody tr td {
            padding: 0; }
            #contents #body_content #schedule .calendar tbody tr td.list_time {
              width: 20%; }
            #contents #body_content #schedule .calendar tbody tr td.list_color {
              width: 10px; }
            #contents #body_content #schedule .calendar tbody tr td.list_plan {
              width: 50%; }
            #contents #body_content #schedule .calendar tbody tr td.list_num {
              width: 15%;
              text-align: center; }
            #contents #body_content #schedule .calendar tbody tr td.list_state {
              width: 5%;
              text-align: center; }
            #contents #body_content #schedule .calendar tbody tr td.list_btn {
              width: 8%;
              text-align: center; } }
