
/*---------------------------
  共通
  ---------------------------*/
  body {
    font-family: Arial, sans-serif;
  }
  
  a {
    text-decoration: none;
    cursor: pointer;
    transition: all 0.3s ease-in-out;
  }
  
  a:hover {
    opacity: 0.7;
  }
  
  .lesson-detail_container {
    position: relative;
    background-color: #fff;
  }
  
  .zenkaku-new {
    font-family: "Zen Kaku Gothic New", sans-serif;
  }
  
  .robot {
    font-family: "Roboto", sans-serif;
  }
  
  .robot_condensed {
    font-family: "Roboto Condensed", sans-serif;
  }
  
  /*---------------------------
    スライドショー
  ---------------------------*/
  /* スライドショー背景色 */
  /*instructor*/
  .instructor_container {
    background-color: #b4d3ee !important;
    padding-top: 14.42vw;
  }
  @media (min-width: 768px) {
    .instructor_container {
      padding-top: 62px;
    }
  }
  /*selfstyle*/
  .selfstyle_container {
    background-color: #c5e0d8 !important;
    padding-top: 14.42vw;
  }
  @media (min-width: 768px) {
    .selfstyle_container {
      padding-top: 62px;
    }
  }
  /*ondemand*/
  .ondemand_container {
    background-color: #e3c6d9 !important;
    padding-top: 14.42vw;
  }
  @media (min-width: 768px) {
    .ondemand_container {
      padding-top: 62px;
    }
  }

  /*---------------------------
    レッスンメイン情報
  ---------------------------*/
  .lesson_main_wrapper {
    display: block;
    border-radius: 4.65vw 4.65vw 0px 0px;
    background: #fff;
  }
  @media (min-width: 768px) {
    .lesson_main_wrapper {
      border-radius: 20px 20px 0px 0px;
    }
  }
  
  /* --------- カテゴリ --------- */
  .lesson_main-aria .lesson_category {
    display: flex;
    padding: 4.88vw 0 0 5vw;
    font-size: 5.12vw;
    font-style: normal;
    font-weight: 600;
  }
  @media (min-width: 768px) {
    .lesson_main-aria .lesson_category {
      padding: 21px 0 0 28px;
      font-size: 22px;
    }
  }
  
  .lesson_category .lesson_category_text {
    padding-top: 0.7vw;
    margin-right: 2.79vw;
  }
  @media (min-width: 768px) {
    .lesson_category .lesson_category_text {
      padding-top: 3px;
      margin-right: 12px;
    }
  }
  
  /* ---------カテゴリ-カテゴリ別スタイル-------- */
  /*instructor*/
  .lesson_category .instructor_category_text {
    color: #6aa8de;
    letter-spacing: 0.1vw;
  }
  @media (min-width: 768px) {
    .lesson_category .instructor_category_text {
      letter-spacing: 0.44px;
    }
  }
  /*selfstyle*/
  .lesson_category .selfstyle_category_text {
    white-space: nowrap;
    color: #6db19d;
    letter-spacing: 0.1vw;
  }
  @media (min-width: 768px) {
    .lesson_category .selfstyle_category_text {
      letter-spacing: 0.44px;
    }
  }
  /*ondemand*/
  .lesson_category .ondemand_category_text {
    white-space: nowrap;
    margin-right: 1.39vw;
    font-size: 4.5vw;
    color: #d0a0c0;
    letter-spacing: 0;
  }
  @media (min-width: 768px) {
    .lesson_category .ondemand_category_text {
      margin-right: 6px;
      font-size: 21px;
    }
  }
  
  .lesson_category .lesson_category_label_wrapper {
    display: flex;
    white-space: nowrap;
    margin-right: 1.4vw;
    color: #222;
    font-size: 3.2vw;
    font-style: normal;
    font-weight: 700;
    line-height: 2.79vw;
    letter-spacing: 0.7px;
  }
  @media (min-width: 768px) {
    .lesson_category .lesson_category_label_wrapper {
      margin-right: 6px;
      font-size: 12px;
      font-weight: 700;
      line-height: 12px;
      letter-spacing: 0.7px;
    }
  }
  /* カテゴリ別スタイル */
  /*instructor*/
  .lesson_category .instructor_lesson_category_label_wrapper {
    background-color: #e1eef8;
  }
  /*selfstyle*/
  .lesson_category .selfstyle_lesson_category_label_wrapper {
    background-color: #e2efeb;
  }
  /*ondemand*/
  .lesson_category .ondemand_lesson_category_label_wrapper {
    margin-right: 1.05vw;
    background-color: #f6ecf2;
  }
  @media (min-width: 768px) {
    .lesson_category .ondemand_lesson_category_label_wrapper {
      margin-right: 4.5px;
      background-color: #f6ecf2;
    }
  }
  
  .lesson_category_label_wrapper .lesson_category_label {
    display: flex;
    /* align-items: center; */
    padding: 1.07vw 1.07vw;
  }
  @media (min-width: 768px) {
    .lesson_category_label_wrapper .lesson_category_label {
      padding: 4px 4px;
    }
  }
  /* カテゴリ別スタイル */
  /*ondemand*/
  .lesson_category_label_wrapper .ondemand_lesson_category_label {
    display: flex;
    padding: 1.33vw 2.2vw;
  }
  @media (min-width: 768px) {
    .lesson_category_label_wrapper .ondemand_lesson_category_label {
      display: flex;
      padding: 5px 10px;
    }
  }
  
  .lesson_category_label .lesson_category_label_text {
    margin-top: 0.53vw;
    margin-left: 1.07vw;
  }
  @media (min-width: 768px) {
    .lesson_category_label .lesson_category_label_text {
      margin-top: 2px;
      margin-left: 4px;
    }
  }
  
  /* アイコン画像サイズ */
  .lesson_category_label .lesson_category_label_place {
    width: 3.26vw;
    height: 3.95vw;
  }
  @media (min-width: 768px) {
    .lesson_category_label .lesson_category_label_place {
      width: 14px;
      height: 17px;
    }
  }
  
  .lesson_category_label .lesson_category_label_movie {
    width: 4.42vw;
    height: 3.26vw;
    margin-top: 0.3vw;
  }
  @media (min-width: 768px) {
    .lesson_category_label .lesson_category_label_movie {
      position: relative;
      top: 1.5px;
      width: 19px;
      height: 14px;
      margin-top: 0;
    }
  }
  
  .lesson_category_label .lesson_category_label_teacher {
    width: 3.49vw;
    height: 3.95vw;
  }
  @media (min-width: 768px) {
    .lesson_category_label .lesson_category_label_teacher {
      width: 15px;
      height: 17px;
    }
  }
  
  .lesson_category_label .lesson_category_label_delivery {
    width: 5.73vw;
    height: 3.72vw;
  }
  @media (min-width: 768px) {
    .lesson_category_label .lesson_category_label_delivery {
      width: 24.65px;
      height: 16px;
    }
  }
  
  /* --------- レッスンタイトル --------- */
  .lesson_main-aria .lesson_title {
    width: 87.44vw;
    margin: 0 auto;
    color: #222;
    font-size: 4.8vw;
    font-style: normal;
    font-weight: 700;
    line-height: 6.67vw;
    letter-spacing: 0.1vw;
  }
  @media (min-width: 768px) {
    .lesson_main-aria .lesson_title {
      width: 376px;
      margin: 0 auto;
      color: #222;
      font-size: 18px;
      font-style: normal;
      font-weight: 700;
      line-height: 25px;
      letter-spacing: 0.36px;
    }
  }
  
  .lesson_main-aria .lesson_title_text {
    padding-top: 2.79vw;
  }
  @media (min-width: 768px) {
    .lesson_main-aria .lesson_title_text {
      padding-top: 12px;
    }
  }
  
  /* --------- レッスン値段 --------- */
  .lesson_main-aria .lesson_price {
    text-align: right;
    padding-top: 4.88vw;
    padding-right: 7.21vw;
    color: #222;
    font-style: normal;
    font-weight: 700;
    font-size: 5.81vw;
  }
  @media (min-width: 768px) {
    .lesson_main-aria .lesson_price {
      padding-top: 21px;
      padding-right: 31px;
      font-size: 25px;
    }
  }
  
  .lesson_main-aria .lesson_price-value {
    font-size: 8.14vw;
    letter-spacing: 0.29vw;
    margin-right: 1.07vw;
  }
  @media (min-width: 768px) {
    .lesson_main-aria .lesson_price-value {
      font-size: 35px;
      letter-spacing: 1.25px;
      margin-right: 4px;
    }
  }
  
  .lesson_main-aria .lesson_price-tax {
    font-size: 3.49vw;
    letter-spacing: 0.28vw;
  }
  @media (min-width: 768px) {
    .lesson_main-aria .lesson_price-tax {
      font-size: 15px;
      letter-spacing: 1.2px;
    }
  }

  .lesson_price.special_price{
    color: #D3405A;
  }

  /* 特別価格 */
  .lesson_price_label{
    display: inline-block;
    background-color: #D3405A;
    color: #fff;
    font-size: 3.2vw;
    line-height: 1;
    letter-spacing: 0;
    vertical-align: bottom;
    padding: 1.07vw 1.33vw;
    margin-right: 1.6vw;
  }
  @media (min-width: 768px) {
    .lesson_price_label{
      font-size: 12px;
      padding: 4px 5px;
      margin-right: 6px;
    }
  }
  .lesson_price_list_price{
    font-style: normal;
    font-weight: 500;
    color: #3a2f2f;
    font-size: 5.33vw;
    letter-spacing: 0.16vw;
    text-decoration: line-through;
    text-decoration-color: #D3405A;
    margin-right: 0.53vw;
  }
  @media (min-width: 768px) {
    .lesson_price_list_price{
      font-size: 20px;
      letter-spacing: 0.6px;
      margin-right: 2px;
    }
  }

  /*---------------------------
    レッスン内容
  ---------------------------*/
  .lesson_info-area .lesson_info {
    width: 87.44vw;
    margin: 0 auto;
    padding-top: 4.65vw;
  }
  @media (min-width: 768px) {
    .lesson_info-area .lesson_info {
      width: 376px;
      margin: 0 auto;
      padding-top: 20px;
    }
  }
  
  .lesson_info-area .lesson_info_title {
    color: #222;
    font-size: 4.19vw;
    font-style: normal;
    font-weight: 700;
    line-height: 4.65vw;
    letter-spacing: 0.08vw;
  }
  @media (min-width: 768px) {
    .lesson_info-area .lesson_info_title {
      font-size: 18px;
      line-height: 20px;
      letter-spacing: 0.36px;
    }
  }
  
  .lesson_info-area .lesson_info_text {
    padding-top: 1.86vw;
    color: #747474;
    font-size: 3.49vw;
    font-style: normal;
    font-weight: 500;
    line-height: 5.81vw;
    letter-spacing: 0.07vw;
  }
  @media (min-width: 768px) {
    .lesson_info-area .lesson_info_text {
      padding-top: 8px;
      font-size: 15px;
      line-height: 25px;
      letter-spacing: 0.3px;
    }
  }
  /* --------- レッスン受講期間 --------- */
  .lesson_info_period_title{
    color: #222;
    font-size: 3.72vw;
    font-weight: 700;
    letter-spacing: 0.07vw;
    padding: 3.72vw 0;
  }
  @media (min-width: 768px) {
    .lesson_info_period_title{
      font-size: 16px;
      letter-spacing: 0.3px;
      padding: 16px 0;
    }
  }
  .lesson_info_period_date{
    font-size: 3.49vw;
    padding-left: 2%;
    color: #747474;
    font-weight: 500;
  }
  @media (min-width: 768px) {
    .lesson_info_period_date{
      font-size: 15px;
    }
  }
  
  /* --------- レッスン詳細タグ --------- */
  .lesson_info-area .lesson_info_tag-wrapper {
    padding-top: 3.49vw;
    font-size: 3.02vw;
  }
  @media (min-width: 768px) {
    .lesson_info-area .lesson_info_tag-wrapper {
      padding-top: 15px;
      font-size: 13px;
    }
  }
  
  .lesson_info-area .lesson_info_tag {
    margin: 0 auto;
    padding-left: 3.49vw;
    padding-top: 1.63vw;
    padding-bottom: 1.63vw;
    padding-right: 3.49vw;
    margin-right: 2.09vw;
    margin-bottom: 1.86vw;
    float: left;
    border-radius: 11.63vw;
    border: 0.27vw solid #aeceea;
  }
  @media (min-width: 768px) {
    .lesson_info-area .lesson_info_tag {
      padding-left: 15px;
      padding-top: 7px;
      padding-bottom: 7px;
      padding-right: 15px;
      margin-right: 9px;
      margin-bottom: 8px;
      border-radius: 50px;
      border: 1px solid #aeceea;
    }
  }
  .lesson_info-area .lesson_info_tag span:nth-of-type(1) {
    font-weight: 500;
  }
  .lesson_info-area .lesson_info_tag_right {
    margin: 0 auto;
    font-weight: 700;
    font-size: 3.49vw;
  }
  @media (min-width: 768px) {
    .lesson_info-area .lesson_info_tag_right {
      font-size: 15px;
    }
  }
  
  /* カテゴリ別スタイル */
  /*instructor*/
  .lesson_info-area .instructor_tag {
    color: #6aa8de;
    border-color: #6aa8de;
  }
  /*selfstyle*/
  .lesson_info-area .selfstyle_tag {
    color: #6db19d;
    border-color: #6db19d;
  }
  /*ondemand*/
  .lesson_info-area .ondemand_tag {
    color: #d0a0c0;
    border-color: #d0a0c0;
  }
  
  /*---------------------------
    レッスンアコーディオン
  ---------------------------*/
  .lesson_listinfo_wrapper {
    display: inline-block;
    width: 87.44vw;
    padding-top: 5.81vw;
    padding-left: 6.28vw;
  }
  @media (min-width: 768px) {
    .lesson_listinfo_wrapper {
      width: 376px;
      padding-top: 25px;
      padding-left: 27px;
    }
  }
  
  /*---------------------------
    ラベルのベース
  ---------------------------*/
  .lesson_listinfo_wrapper .lesson_listinfo_toggle {
    display: none;
  }
  
  /* --------- ラベルのスタイル --------- */
  .lesson_listinfo_wrapper .lesson_listinfo_label {
    display: block;
    padding: 5.81vw 0;
    cursor: pointer;
    color: #222;
    font-size: 4.19vw;
    font-style: normal;
    font-weight: 700;
    line-height: 4.65vw;
    letter-spacing: 0.08vw;
    border-top: 1px solid #d3d3d3;
  }
  @media (min-width: 768px) {
    .lesson_listinfo_wrapper .lesson_listinfo_label {
      padding: 25px 0;
      font-size: 18px;
      line-height: 20px;
      letter-spacing: 0.36px;
      border-top: 1px solid #d3d3d3;
    }
  }


  /* --------- ラベルのスタイル・予約可能スタジオ --------- */
  .lesson_listinfo_point .lesson_reserve-studiolist_wrapper {
    display: inline-block;
    width: 87.44vw;
    height: auto;
    padding: 0;
    border: none;
    background-color: #f1eee8;
  }
  @media (min-width: 768px) {
    .lesson_listinfo_point .lesson_reserve-studiolist_wrapper {
      width: 376px;
      height: auto;
    }
  }
  
  .lesson_listinfo_wrapper .lesson_listinfo_label-stylenone {
    padding: 0;
    border: none;
  }
  
  .lesson_listinfo_label .lesson_reserve-studio_label-text {
    padding: 3.72vw;
    color: rgba(34, 34, 34, 0.8);
    font-size: 3.72vw;
    font-weight: 500;
    line-height: 4.65vw; /* 125% */
    letter-spacing: 0.07vw;
    background-color: #f1eee8;
  }
  @media (min-width: 768px) {
    .lesson_listinfo_label .lesson_reserve-studio_label-text {
      padding: 16px;
      font-size: 16px;
      line-height: 20px; /* 125% */
      letter-spacing: 0.32px;
    }
  }
  
  /*---------------------------
    トグル周りの動き
  ---------------------------*/
  .lesson_listinfo_wrapper .lesson_listinfo_label::before {
    /*タイトル横の矢印*/
    position: absolute;
    content: "+";
    color: #909090;
    font-size: 6.05vw;
    top: 5.58vw;
    right: 1.86vw;
  }
  @media (min-width: 768px) {
    .lesson_listinfo_wrapper .lesson_listinfo_label::before {
      font-size: 26px;
      top: 24px;
      right: 12px;
    }
  }
  
  .lesson_listinfo_wrapper .reserve-studiolist_label::before {
    font-size: 5.12vw;
    top: 3.26vw;
    right: 3.49vw;
  }
  @media (min-width: 768px) {
    .lesson_listinfo_wrapper .reserve-studiolist_label::before {
      font-size: 22px;
      top: 14px;
      right: 15px;
    }
  }
  
  .lesson_listinfo_wrapper .lesson_listinfo_label,
  .lesson_listinfo_wrapper .lesson_listinfo_point {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform: translateZ(0);
    transition: all 0.3s;
  }
  
  .lesson_listinfo_point {
    /*本文*/
    max-height: 0;
    overflow: hidden;
  }
  
  /*開閉時*/
  .lesson_listinfo_toggle:checked
    + .lesson_listinfo_label
    + .lesson_listinfo_point {
    max-height: 3200vw;
    transition: all 0.3s;
  }
  @media (min-width: 768px) {
    .lesson_listinfo_toggle:checked
      + .lesson_listinfo_label
      + .lesson_listinfo_point {
      max-height: 12000px;
    }
  }

  .lesson_listinfo_toggle:checked + .lesson_listinfo_label::before {
    content: "";
    width: 4.19vw;
    height: 0.47vw;
    background-color: #909090;
    border-radius: 15.2vw;
    top: 7.67vw;
    right: 2.56vw;
    cursor: pointer;
  }
  @media (min-width: 768px) {
    .lesson_listinfo_toggle:checked + .lesson_listinfo_label::before {
      width: 18px;
      height: 2.5px;
      top: 33px;
      right: 15px;
      border-radius: 57px;
    }
  }
  
  .lesson_listinfo_toggle:checked + .reserve-studiolist_label::before {
    top: 5.35vw;
    right: 3.95vw;
  }
  @media (min-width: 768px) {
    .lesson_listinfo_toggle:checked + .reserve-studiolist_label::before {
      top: 23px;
      right: 17px;
    }
  }
  
  .lesson_listinfo_label-togglenone {
    display: block;
    padding: 5.81vw 0;
    color: #222;
    font-size: 4.19vw;
    font-style: normal;
    font-weight: 700;
    line-height: 4.65vw;
    letter-spacing: 0.08vw;
    border-top: 0.23vw solid #d3d3d3;
  }
  @media (min-width: 768px) {
    .lesson_listinfo_label-togglenone {
      padding: 25px 0;
      font-size: 18px;
      line-height: 20px;
      letter-spacing: 0.36px;
      border-top: 1px solid #d3d3d3;
    }
  }
  
  /*---------------------------
    トグルを開いた中身＜レッスンのポイント＞
  ---------------------------*/
  .lesson_listinfo_wrapper .lesson_listinfo_point_inner {
    display: flex;
    position: relative;
    padding-bottom: 3.02vw;
  }
  @media (min-width: 768px) {
    .lesson_listinfo_wrapper .lesson_listinfo_point_inner {
      padding-bottom: 13px;
    }
  }
  
  .lesson_listinfo_wrapper .lesson_listinfo_point-bottom div:nth-of-type(3) {
    padding-bottom: 5.81vw;
  }
  @media (min-width: 768px) {
    .lesson_listinfo_wrapper .lesson_listinfo_point-bottom div:nth-of-type(3) {
      padding-bottom: 25px;
    }
  }
  
  .lesson_listinfo_wrapper .lesson_listinfo_point_icon {
    display: flex;
    width: 5.12vw;
    height: 5.12vw;
  }
  @media (min-width: 768px) {
    .lesson_listinfo_wrapper .lesson_listinfo_point_icon {
      width: 22px;
      height: 22px;
    }
  }
  
  .lesson_listinfo_wrapper .lesson_listinfo_point_textarea {
    color: #222;
    width: 49.77vw;
    padding-left: 3.02vw;
    padding-right: 3.95vw;
  }
  @media (min-width: 768px) {
    .lesson_listinfo_wrapper .lesson_listinfo_point_textarea {
      width: 214px;
      padding-left: 13px;
      padding-right: 17px;
    }
  }
  
  /* --------- ＜レッスンのポイント＞のテキスト --------- */
  .lesson_listinfo_wrapper .lesson_listinfo_point_title {
    font-size: 3.72vw;
    font-style: normal;
    font-weight: 700;
    line-height: 4.65vw;
    letter-spacing: 0.07vw;
  }
  @media (min-width: 768px) {
    .lesson_listinfo_wrapper .lesson_listinfo_point_title {
      font-size: 16px;
      line-height: 20px;
      letter-spacing: 0.32px;
    }
  }
  
  .lesson_listinfo_wrapper .lesson_listinfo_point_text {
    margin-top: 1.63vw;
    font-size: 3.49vw;
    font-style: normal;
    font-weight: 400;
    line-height: 5.12vw;
    letter-spacing: 0.07vw;
    opacity: 0.6;
  }
  @media (min-width: 768px) {
    .lesson_listinfo_wrapper .lesson_listinfo_point_text {
      margin-top: 7px;
      font-size: 15px;
      line-height: 22px;
      letter-spacing: 0.07vw;
    }
  }
  
  .lesson_listinfo_wrapper .lesson_listinfo_point_img {
    display: flex;
    width: 24.88vw;
    height: 24.88vw;
  }
  @media (min-width: 768px) {
    .lesson_listinfo_wrapper .lesson_listinfo_point_img {
      width: 107px;
      height: 107px;
    }
  }
  
  /*---------------------------
    トグルを開いた中身＜予約可能スタジオ＞
  ---------------------------*/
  .lesson_reservestudio_inner {
    margin-bottom: 6.05vw;
  }
  @media (min-width: 768px) {
    .lesson_reservestudio_inner {
      margin-bottom: 26px;
    }
  }
  
  .lesson_reserve-studiolist_content {
    background: #f5f3ef;
  }
  
  .reserve-studiolist_block {
    display: flex;
    flex-direction: column;
    margin: 0 auto;
    width: 82.79vw;
  }
  @media (min-width: 768px) {
    .reserve-studiolist_block {
      width: 356px;
    }
  }
  
  .reserve-studiolist_block-last {
    margin-bottom: 5.12vw;
  }
  @media (min-width: 768px) {
    .reserve-studiolist_block-last {
      margin-bottom: 22px;
    }
  }
  
  .resrve-studiolist_title {
    display: block;
    margin-top: 2.79vw;
    margin-left: 2.33vw;
    font-size: 3.26vw;
    font-style: normal;
    font-weight: 500;
    line-height: 4.65vw;
    letter-spacing: 0.07vw;
  }
  @media (min-width: 768px) {
    .resrve-studiolist_title {
      margin-top: 12px;
      margin-left: 10px;
      font-size: 14px;
      line-height: 20px;
      letter-spacing: 0.07vw;
    }
  }
  
  .resrve-studiolist_title-next {
    margin-top: 0.4vw;
  }
  @media (min-width: 768px) {
    .resrve-studiolist_title-next {
      margin-top: 1.7px;
    }
  }
  
  .reserve-studio_tag-wrapper {
    display: flex;
    flex-wrap: wrap;
    padding-top: 2.09vw;
  }
  @media (min-width: 768px) {
    .reserve-studio_tag-wrapper {
      padding-top: 9px;
    }
  }
  
  .reserve-studio_tag {
    padding: 1.63vw 3.49vw;
    margin-right: 2.09vw;
    margin-bottom: 1.86vw;
    border-radius: 11.63vw;
    white-space: nowrap;
    background-color: #fff;
    color: rgba(34, 34, 34, 0.8);
    font-size: 2.79vw;
    font-style: normal;
    font-weight: 500;
    line-height: 2.79vw;
    letter-spacing: 0.14vw;
  }
  @media (min-width: 768px) {
    .reserve-studio_tag {
      padding: 7px 15px;
      margin-right: 9px;
      margin-bottom: 8px;
      border-radius: 50px;
      font-size: 12px;
      line-height: 12px;
      letter-spacing: 0.6px;
    }
  }
  
  /*---------------------------
    トグルを開いた中身＜持ち物・注意事項＞
  ---------------------------*/
  .lesson_listinfo_wrapper .lesson_listinfo_item {
    margin-top: 1.86vw;
    font-size: 3.49vw;
    font-style: normal;
    font-weight: 500;
    line-height: 5.81vw;
    letter-spacing: 0.07vw;
    opacity: 0.6;
  }
  @media (min-width: 768px) {
    .lesson_listinfo_wrapper .lesson_listinfo_item {
      margin-top: 8px;
      font-size: 15px;
      line-height: 25px;
      letter-spacing: 0.3px;
    }
  }
  
  .lesson_listinfo_wrapper .lesson_listinfo_attention {
    margin-bottom: 5.81vw;
    color: #747474;
    font-size: 3.49vw;
    font-weight: 500;
    line-height: 5.81vw;
    letter-spacing: 0.07vw;
    overflow-wrap: break-word;
  }
  @media (min-width: 768px) {
    .lesson_listinfo_wrapper .lesson_listinfo_attention {
      margin-bottom: 25px;
      font-size: 15px;
      line-height: 25px;
      letter-spacing: 0.3px;
    }
  }
  
  /*---------------------------
    利用方法
  ---------------------------*/
  .lesson_howto_wrapper {
    width: 87.44vw;
    margin: 0 auto;
    border-top: 0.23vw solid #d3d3d3;
  }
  @media (min-width: 768px) {
    .lesson_howto_wrapper {
      width: 376px;
      border-top: 1px solid #d3d3d3;
    }
  }
  
  .lesson_howto_wrapper .lesson_howto_title {
    padding: 5.81vw 0;
    margin-left: 1.31vw;
    color: #222;
    font-size: 4.19vw;
    font-style: normal;
    font-weight: 700;
    line-height: 4.65vw;
    letter-spacing: 0.08vw;
  }
  @media (min-width: 768px) {
    .lesson_howto_wrapper .lesson_howto_title {
      padding: 25px 0;
      margin-left: 0;
      font-size: 18px;
      line-height: 20px;
      letter-spacing: 0.36px;
    }
  }
  
  /* ---------利用方法カード--------- */
  .lesson_howto_wrapper .lesson_howto_step_wrapper {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, 43.02vw);
    gap: 1.4vw;
  }
  @media (min-width: 768px) {
    .lesson_howto_wrapper .lesson_howto_step_wrapper {
      width: 100%;
      display: grid;
      grid-template-columns: repeat(2, 185px);
      gap: 6px;
    }
  }
  
  .lesson_howto_step_wrapper .lesson_howto_step_card {
    width: 43.02vw;
    height: 15.12vw;
    margin-bottom: 0.47vw;
  }
  @media (min-width: 768px) {
    .lesson_howto_step_wrapper .lesson_howto_step_card {
      width: 185px;
      height: 65px;
      margin-bottom: 2px;
    }
  }
  /* --------利用方法カード-カテゴリ別スタイル--------- */
  /*instructor*/
  .lesson_howto_step_wrapper .instructor_lesson_howto_step_card {
    border: 0.23vw solid #b5d4ef;
  }
  @media (min-width: 768px) {
    .lesson_howto_step_wrapper .instructor_lesson_howto_step_card {
      border: 1px solid #b5d4ef;
    }
  }
  /*selfstyle*/
  .lesson_howto_step_wrapper .selfstyle_lesson_howto_step_card {
    border: 0.23vw solid #6db19d;
  }
  @media (min-width: 768px) {
    .lesson_howto_step_wrapper .selfstyle_lesson_howto_step_card {
      border: 1px solid #6db19d;
    }
  }
  /*ondemand*/
  .lesson_howto_step_wrapper .ondemand_lesson_howto_step_card {
    border: 0.23vw solid #e3c6d9;
  }
  @media (min-width: 768px) {
    .lesson_howto_step_wrapper .ondemand_lesson_howto_step_card {
      border: 1px solid #e3c6d9;
    }
  }
  
  /* ---------アイコン調整--------- */
  .lesson_howto_step_card .instructor_icon_step01 {
    margin-top: 3.44vw;
    margin-left: 3.95vw;
    width: 8.37vw;
  }
  @media (min-width: 768px) {
    .lesson_howto_step_card .instructor_icon_step01 {
      margin-top: 14.8px;
      margin-left: 17px;
      width: 36px;
    }
  }
  .lesson_howto_step_card .instructor_icon_step02 {
    margin-top: 3.26vw;
    margin-left: 3.95vw;
    width: 6.98vw;
  }
  @media (min-width: 768px) {
    .lesson_howto_step_card .instructor_icon_step02 {
      margin-top: 14px;
      margin-left: 17px;
      width: 30px;
    }
  }
  .lesson_howto_step_card .instructor_icon_step03 {
    margin-top: 3.95vw;
    margin-left: 4.42vw;
    width: 7.91vw;
  }
  @media (min-width: 768px) {
    .lesson_howto_step_card .instructor_icon_step03 {
      margin-top: 17px;
      margin-left: 19px;
      width: 34px;
    }
  }
  .lesson_howto_step_card .instructor_icon_step04 {
    margin-top: 4.19vw;
    margin-left: 3.26vw;
    width: 8.37vw;
  }
  @media (min-width: 768px) {
    .lesson_howto_step_card .instructor_icon_step04 {
      margin-top: 18px;
      margin-left: 14px;
      width: 36px;
    }
  }
  /* ---------アイコン調整-カテゴリ別--------- */
  /*selfstyle*/
  .lesson_howto_step_card .selfstyle_icon_step01 {
    margin-top: 3.44vw;
    margin-left: 3.95vw;
    width: 8.37vw;
  }
  @media (min-width: 768px) {
    .lesson_howto_step_card .selfstyle_icon_step01 {
      margin-top: 14.8px;
      margin-left: 17px;
      width: 36px;
    }
  }
  .lesson_howto_step_card .selfstyle_icon_step02 {
    margin-top: 3.27vw;
    margin-left: 3.95vw;
    width: 6.98vw;
  }
  @media (min-width: 768px) {
    .lesson_howto_step_card .selfstyle_icon_step02 {
      margin-top: 14px;
      margin-left: 17px;
      width: 30px;
    }
  }
  .lesson_howto_step_card .selfstyle_icon_step03 {
    margin-top: 4.42vw;
    margin-left: 3.95vw;
    width: 8.37vw;
  }
  @media (min-width: 768px) {
    .lesson_howto_step_card .selfstyle_icon_step03 {
      margin-top: 19px;
      margin-left: 17px;
      width: 36px;
    }
  }
  .lesson_howto_step_card .selfstyle_icon_step04 {
    margin-top: 4.19vw;
    margin-left: 3.26vw;
    width: 8.37vw;
  }
  @media (min-width: 768px) {
    .lesson_howto_step_card .selfstyle_icon_step04 {
      margin-top: 18px;
      margin-left: 14px;
      width: 36px;
    }
  }
  /*ondemand*/
  .lesson_howto_step_card .ondemand_icon_step01 {
    margin-top: 3.44vw;
    margin-left: 4.19vw;
    width: 8.14vw;
  }
  @media (min-width: 768px) {
    .lesson_howto_step_card .ondemand_icon_step01 {
      margin-top: 14.8px;
      margin-left: 18px;
      width: 35px;
    }
  }
  .lesson_howto_step_card .ondemand_icon_step02 {
    margin-top: 3.6vw;
    margin-left: 4.19vw;
    width: 6.65vw;
  }
  @media (min-width: 768px) {
    .lesson_howto_step_card .ondemand_icon_step02 {
      margin-top: 15.5px;
      margin-left: 18px;
      width: 28.6px;
    }
  }
  .lesson_howto_step_card .ondemand_icon_step03 {
    margin-top: 3.95vw;
    margin-left: 4.53vw;
    width: 8.37vw;
  }
  @media (min-width: 768px) {
    .lesson_howto_step_card .ondemand_icon_step03 {
      margin-top: 17px;
      margin-left: 19.5px;
      width: 36px;
    }
  }
  .lesson_howto_step_card .ondemand_icon_step04 {
    margin-top: 4.19vw;
    margin-left: 3.26vw;
    width: 8.37vw;
  }
  @media (min-width: 768px) {
    .lesson_howto_step_card .ondemand_icon_step04 {
      margin-top: 18px;
      margin-left: 14px;
      width: 36px;
    }
  }
  
  /* ---------テキストスタイル--------- */
  .lesson_howto_step_card .lesson_howto_step1_textarea {
    display: inline-block;
    position: relative;
    bottom: 0.5vw;
    margin-left: 4.37vw;
  }
  @media (min-width: 768px) {
    .lesson_howto_step_card .lesson_howto_step1_textarea {
      display: inline-block;
      position: relative;
      bottom: 3px;
      margin-left: 15.3px;
    }
  }
  .lesson_howto_step_card .lesson_howto_step2_textarea {
    display: inline-block;
    position: relative;
    bottom: 0.47vw;
    margin-left: 5.07vw;
  }
  @media (min-width: 768px) {
    .lesson_howto_step_card .lesson_howto_step2_textarea {
      display: inline-block;
      position: relative;
      bottom: 3px;
      margin-left: 15px;
    }
  }
  .lesson_howto_step_card .lesson_howto_step3_textarea {
    display: inline-block;
    position: relative;
    bottom: 0.47vw;
    margin-left: 4.88vw;
  }
  @media (min-width: 768px) {
    .lesson_howto_step_card .lesson_howto_step3_textarea {
      display: inline-block;
      position: relative;
      bottom: 3px;
      margin-left: 15.3px;
    }
  }
  .lesson_howto_step_card .lesson_howto_step4_textarea {
    display: inline-block;
    position: relative;
    bottom: 0vw;
    margin-left: 4.2vw;
  }
  @media (min-width: 768px) {
    .lesson_howto_step_card .lesson_howto_step4_textarea {
      display: inline-block;
      position: relative;
      bottom: 0px;
      margin-left: 11.9px;
    }
  }
  /* ---------テキストスタイル-カテゴリ別-------- */
  /* selfstyle */
  .lesson_howto_step_card .selfstyle_lesson_howto_step3_textarea {
    bottom: -0.53vw;
    margin-left: 4.3vw;
  }
  @media (min-width: 768px) {
    .lesson_howto_step_card .selfstyle_lesson_howto_step3_textarea {
      bottom: -2px;
      margin-left: 14.9px;
    }
  }
  /* ondemand */
  .lesson_howto_step_card .ondemand_lesson_howto_step2_textarea {
    bottom: 0.47vw;
    margin-left: 5.07vw;
  }
  @media (min-width: 768px) {
    .lesson_howto_step_card .ondemand_lesson_howto_step2_textarea {
      bottom: 3px;
      margin-left: 15.3px;
    }
  }
  .lesson_howto_step_card .ondemand_lesson_howto_step3_textarea {
    bottom: -0.73vw;
    margin-left: 3.7vw;
  }
  @media (min-width: 768px) {
    .lesson_howto_step_card .ondemand_lesson_howto_step3_textarea {
      bottom: -2px;
      margin-left: 14.9px;
    }
  }
  
  /* テキスト */
  .lesson_howto_step_card .lesson_howto_step_title {
    color: #f8b391;
    font-size: 4vw;
    font-weight: 700;
    line-height: normal;
    letter-spacing: 0.24vw;
  }
  @media (min-width: 768px) {
    .lesson_howto_step_card .lesson_howto_step_title {
      font-size: 15px;
      letter-spacing: 0.9px;
    }
  }
  /* ---------カテゴリ別-------- */
  /* selfstyle */
  .lesson_howto_step_card .selfstyle_lesson_howto_step_title {
    color: #ccb2cc;
  }
  /* ondemand */
  .lesson_howto_step_card .ondemand_lesson_howto_step_title {
    color: #b7d881;
  }
  
  .lesson_howto_step_card .step_number {
    font-size: 5.33vw;
    letter-spacing: 0.32vw;
  }
  @media (min-width: 768px) {
    .lesson_howto_step_card .step_number {
      font-size: 20px;
      letter-spacing: 1.2px;
    }
  }
  
  .lesson_howto_step_card .lesson_howto_step_text {
    color: #656565;
    font-size: 3.2vw;
    font-style: normal;
    font-weight: 500;
    line-height: 3.2vw;
  }
  @media (min-width: 768px) {
    .lesson_howto_step_card .lesson_howto_step_text {
      font-size: 15px;
      line-height: 15px;
    }
  }
  
  .lesson_howto_wrapper .lesson_howto_movie {
    padding: 3.2vw 0;
  }
  @media (min-width: 768px) {
    .lesson_howto_wrapper .lesson_howto_movie {
      padding: 12px 0 25px;
    }
  }
  
  .lesson_howto_movie .lesson_howto_movie_content {
    width: 87.44vw;
    height: 46.05vw;
    border-radius: 2.33vw;
  }
  @media (min-width: 768px) {
    .lesson_howto_movie .lesson_howto_movie_content {
      width: 376px;
      height: 198px;
      border-radius: 10px;
    }
  }
  
  /*---------------------------
          リマインドコンテンツ
          ---------------------------*/
  .lesson_recommend_area {
    display: block;
    width: 87.44vw;
    margin: 0 auto;
  }
  @media (min-width: 768px) {
    .lesson_recommend_area {
      width: 376px;
    }
  }
  
  .lesson_recommend_area {
    width: 87.44vw;
    padding-top: 5.81vw;
  }
  @media (min-width: 768px) {
    .lesson_recommend_area {
      width: 376px;
      padding-top: 25px;
    }
  }
  
  .lesson_recommend_content .lesson_recommend_title {
    padding-top: 5.81vw;
    color: #222;
    font-size: 4.19vw;
    font-weight: 700;
    line-height: 4.65vw;
    letter-spacing: 0.08vw;
    border-top: 0.23vw solid #d3d3d3;
  }
  @media (min-width: 768px) {
    .lesson_recommend_content .lesson_recommend_title {
      padding-top: 25px;
      font-size: 18px;
      line-height: 20px;
      letter-spacing: 0.36px;
      border-top: 1px solid #d3d3d3;
    }
  }
  
  .lesson_recommend_content .recommend_banner {
    width: 100%;
    height: auto;
    object-fit: contain;
    /* width: 87.44vw;
    height: 27.91vw; */
    margin-top: 5.81vw;
    border-radius: 2.33vw;
  }
  @media (min-width: 768px) {
    .lesson_recommend_content .recommend_banner {
      /* width: 376px;
      height: 120px; */
      margin-top: 25px;
      border-radius: 10px;
    }
  }
  
  /* ---------スライダー-------- */
  .lesson_recommend_area .lesson_recommend_content_slider {
    position: relative;
    width: 98.5vw;
    right: 6.28vw;
    padding-bottom: 7.67vw;
  }
  @media (min-width: 768px) {
    .lesson_recommend_area .lesson_recommend_content_slider {
      width: 430px;
      right: 27px;
      padding-bottom: 33px;
    }
  }
  
  .lesson_recommend_content_slider .recommend_slider_scroll {
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
    padding: 4.19vw 0 4.65vw 6.51vw;
    display: -ms-flexbox;
    display: flex;
  }
  @media (min-width: 768px) {
    .lesson_recommend_content_slider .recommend_slider_scroll {
      -webkit-overflow-scrolling: touch;
      padding: 18px 0 20px 28px;
      display: -ms-flexbox;
    }
  }
  
  .recommend_slider_scroll::-webkit-scrollbar {
    display: none;
  }
  
  .recommend_slider_scroll .lesson_card_box {
    width: 100%;
    min-width: 32.09vw;
    height: 41.63vw;
  }
  @media (min-width: 768px) {
    .recommend_slider_scroll .lesson_card_box {
      width: 100%;
      min-width: 138px;
      height: 179px;
    }
  }
  
  .recommend_slider_scroll .lesson_card_box:not(:last-child) {
    margin-right: 2.09vw;
  }
  @media (min-width: 768px) {
    .recommend_slider_scroll .lesson_card_box:not(:last-child) {
      margin-right: 9px;
    }
  }
  
  .recommend_slider_scroll .lesson_card_box:last-child {
    padding-right: 1.16vw;
  }
  @media (min-width: 768px) {
    .recommend_slider_scroll .lesson_card_box:last-child {
      padding-right: 5px;
    }
  }
  
  .recommend_slider_scroll img {
    vertical-align: bottom;
  }
  
  /*---------------------------
    メニューカード
  ---------------------------*/
  .recommend_slider_scroll .lesson_card_box {
    width: 32.09vw;
    height: 41.63vw;
  }
  @media (min-width: 768px) {
    .recommend_slider_scroll .lesson_card_box {
      width: 138px;
      height: 179px;
    }
  }
  
  /*---------------------------
    子要素各スタイル
  ---------------------------*/
  .lesson_card_box .lesson_card {
    position: relative;
    width: 32.09vw;
    height: 41.63vw;
    background-color: #ffffff;
    border-radius: 2.33vw;
    box-shadow: 0px 0.93vw 0.93vw 0px rgba(0, 0, 0, 0.15);
  }
  @media (min-width: 768px) {
    .lesson_card_box .lesson_card {
      width: 138px;
      height: 179px;
      border-radius: 10px;
      box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.15);
    }
  }
  
  .lesson_card .lesson_card_img {
    position: absolute;
    width: 32.09vw;
    height: 32.09vw;
    border-radius: 2.33vw 2.33vw 0 0;
    top: 0;
    left: 0;
    object-fit: cover;
  }
  @media (min-width: 768px) {
    .lesson_card .lesson_card_img {
      width: 138px;
      height: 138px;
      border-radius: 10px 10px 0 0;
    }
  }
  
  .lesson_card .lesson_card_link {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    pointer-events: auto;
    content: "";
    background-color: transparent;
  }
  
  .lesson_card .lesson_card_overlap-group {
    position: absolute;
    width: 18.14vw;
    height: 3.95vw;
    top: 28.14vw;
    left: 0;
    z-index: 3;
    background-color: #ffffff;
    border-radius: 0 1.16vw 0 0;
  }
  @media (min-width: 768px) {
    .lesson_card .lesson_card_overlap-group {
      width: 78px;
      height: 17px;
      top: 121px;
      border-radius: 0 5px 0 0;
    }
  }
  
  /* instructorの時の枠 */
  .lesson_card .lesson_card-group_instructor {
    width: 20.7vw;
    height: 3.95vw;
  }
  @media (min-width: 768px) {
    .lesson_card .lesson_card-group_instructor {
      width: 89px;
      height: 17px;
    }
  }
  
  .lesson_card_overlap-group .menu_category {
    position: absolute;
    top: 0.93vw;
    left: 3.02vw;
    font-weight: 700;
    font-size: 2.56vw;
    letter-spacing: 0.13vw;
    line-height: 2.79vw;
  }
  @media (min-width: 768px) {
    .lesson_card_overlap-group .menu_category {
      top: 4px;
      left: 13px;
      font-size: 11px;
      letter-spacing: 0.55px;
      line-height: 12px;
    }
  }
  
  /* カテゴリー別スタイル */
  .lesson_card_overlap-group .instructor-category {
    color: #6aa8de;
  }
  
  .lesson_card_overlap-group .selfstyle-category {
    white-space: nowrap;
    color: #6db19d;
    left: 1.86vw;
  }
  @media (min-width: 768px) {
    .lesson_card_overlap-group .selfstyle-category {
      left: 8px;
    }
  }
  
  .lesson_card_overlap-group .ondemand-category {
    white-space: nowrap;
    color: #d0a0c0;
    font-size: 2.56vw;
    left: 1.86vw;
  }
  @media (min-width: 768px) {
    .lesson_card_overlap-group .ondemand-category {
      font-size: 11px;
      left: 8px;
    }
  }
  
  .lesson_card .lesson_card_content {
    position: absolute;
    width: 27.67vw;
    height: 4.88vw;
    top: 33.26vw;
    left: 1.86vw;
  }
  @media (min-width: 768px) {
    .lesson_card .lesson_card_content {
      width: 119px;
      height: 21px;
      top: 143px;
      left: 8px;
    }
  }
  
  .lesson_card_content .lesson_card_flexcontainer {
    position: absolute;
    width: 27.67vw;
    top: 0;
    left: 0;
  }
  @media (min-width: 768px) {
    .lesson_card_content .lesson_card_flexcontainer {
      width: 119px;
    }
  }
  
  .lesson_card_content .lesson_card_title {
    color: rgba(34, 34, 34, 0.6);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 2.56vw;
    font-weight: 500;
    line-height: 3.26vw;
    letter-spacing: 0.13vw;
  }
  @media (min-width: 768px) {
    .lesson_card_content .lesson_card_title {
      font-size: 11px;
      line-height: 14px;
      letter-spacing: 0.55px;
    }
  }
  
  .lesson_card_content .lesson_card_price {
    margin-top: 0.23vw;
    color: #222;
    font-size: 2.79vw;
    font-style: normal;
    font-weight: 700;
    line-height: 2.79vw;
    letter-spacing: 0.14vw;
  }
  @media (min-width: 768px) {
    .lesson_card_content .lesson_card_price {
      margin-top: 1px;
      font-size: 12px;
      line-height: 12px;
      letter-spacing: 0.6px;
    }
  }
  
  /*---------------------------
    購入ボタン
  ---------------------------*/
  .buy-button_container {
    display: flex;
    width: 100%;
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    bottom: 0;
    background-color: #fff;
    padding: 3.49vw 0;
    z-index: 100;
  }
  @media (min-width: 768px) {
    .buy-button_container {
      padding: 15px 0;

      /* width: 430px; */
      /* bottom: 2px; */
    }
  }
  
  .button_box {
    display: block;
    width: 87.44vw;
    margin: 0 auto;
  }
  @media (min-width: 768px) {
    .button_box {
      width: 376px;
    }
  }

  .button_box.button_purchase{
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .button_box.button_no_lesson .button_style{
    background-color: #D3D3D3;
  }

  .button_style {
    font-family: "Zen Kaku Gothic Antique";
    font-style: normal;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #f17373;
    color: #fff;
    font-size: 5.12vw;
    font-style: normal;
    font-weight: 700;
    letter-spacing: 0.26vw;
    width: 100%;
    height: 13.95vw;
    border-radius: 100vh;
    line-height: 1;
  }
  
  @media (min-width: 768px) {
    .button_style {
      height: 60px;
      font-size: 22px;
      letter-spacing: 1.1px;
    }
  }

  .button_style > span{
    display: flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    transition: .3s;
    color: #fff;
  }

  .button_purchase .button_style > span::before{
    display: inline-block;
    content: '';
    background: url(/oneday/lesson/detail/ico_purchase_cart_white.png) no-repeat;
    background-size: contain;
    width: 9.07vw;
    height: 6.67vw;
    padding-left: 3.19vw;
  }
  @media (min-width: 768px) {
    .button_purchase .button_style > span::before{
      width: 34px;
      height: 25px;
      padding-left: 12px;
    }
  }
  .button_style:hover {
    opacity: 1;
  }
  .button_style:hover span{
    color: #fff;
    opacity: 0.7;
  }

  .button_cart{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 12.96vw;
    height: 12.96vw;
    flex-shrink: 0;
    background-color: #fff;
    margin-right: 4vw;
    border-radius: 2.13vw;
    box-shadow: 0px 0px 8px 1px #e0e0e0;
  }

  @media (min-width: 768px) {
    .button_cart{
      width: 60px;
      height: 60px;
      margin-right: 16px;
      border-radius: 8px;
    }
  }
  .button_cart.button_cart_empty::before{
    display: inline-block;
    content: '';
    background: url(/oneday/lesson/detail/ico_purchase_cart_gray.png) center / contain no-repeat;
    width: 9.67vw;
    height: 6.47vw;
  }

  .button_cart.button_cart_in::before{
    display: inline-block;
    content: '';
    background: url(/oneday/lesson/detail/ico_purchase_cart_in.png) center / contain no-repeat;
    width: 9.67vw;
    height: 6.47vw;
  }

  @media (min-width: 768px) {
    .button_cart.button_cart_in::before,
    .button_cart.button_cart_empty::before{
      width: 40px;
      height: 28px;
    }
  }
  .button_cart.button_cart_in::after{
    content: attr(data-cart-number);
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: "Roboto", sans-serif;
    font-style: normal;
    font-weight: 500;
    color: #F17373;
    font-size: 4.47vw;
    top: 2vw;
    left: 5vw;
    width: 4.74vw;
    height: 4.74vw;
  }

  @media (min-width: 768px) {
    .button_cart.button_cart_in::after{
      font-size: 19px;
      top: 11px;
      left: 25px;
      width: 18px;
      height: 18px;
    }
  }
  /* オンデマンドFAQリンク */
  .ondemand_faq_wrap{
    border-top: 0.23vw solid #d3d3d3;
    cursor: pointer;
  }
  @media (min-width: 768px) {
    .ondemand_faq_wrap{
      border-top: 1px solid #d3d3d3;
    }
  }
  .ondemand_faq_link{
    position: relative;
    display: inline-block;
    width: 100%;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 4.19vw;
    color: #222;
    letter-spacing: 0.08vw;
    padding: 5.81vw 0;
  }
  @media (min-width: 768px) {
    .ondemand_faq_link{
      font-size: 18px;
      letter-spacing: 0.36px;
      padding: 25px 0;
    }
  }
  .ondemand_faq_link::before{
    position: absolute;
    content: '';
    background-color: #fff;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    right: 3.95vw;
    width: 2.33vw;
    height: 2.33vw;
    border-top: 0.7vw solid #909090;
    border-right: 0.7vw solid #909090;
  }
  @media (min-width: 768px) {
    .ondemand_faq_link::before{
      right: 21px;
      width: 10px;
      height: 10px;
      border-top: 3px solid #909090;
      border-right: 3px solid #909090;
    }
  }
  .deco_border{
    display: block;
    border-top: 0.23vw solid #d3d3d3;
  }
  @media (min-width: 768px) {
    .deco_border{
      border-top: 1px solid #d3d3d3;
    }
  }

/* スライド */
.slideshow_wrapper {
  position: relative;
  width: 76.74vw;
  margin: 5.58vw auto;
}
@media (min-width: 768px) {
  .slideshow_wrapper {
    width: 330px;
    height: 330px;
    margin: 24px auto;
  }
}

.swiper-container {
  overflow: hidden;
  border-radius: 2.33vw;
  touch-action: pan-y pinch-zoom;
}
@media (min-width: 768px) {
  .swiper-container {
    border-radius: 10px;
  }
}
.slideshow_wrapper .swiper-wrapper{
  height: 76.74vw;
}
@media (min-width: 768px) {
  .slideshow_wrapper .swiper-wrapper{
    height: 330px;
  }
}
.swiper-slide {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.swiper-slide img {
    width: 100%;
    object-fit: cover;
    height: auto;
    max-height: 100%;
}
.slideshow_wrapper .swiper-button-next,
.slideshow_wrapper .swiper-button-prev {
  width: 9.77vw;
  height: 9.77vw;
  border: 0.47vw solid #fff;
  border-radius: 100vh;
  margin-top: -5.81vw;
}
@media (min-width: 768px) {
  .slideshow_wrapper .swiper-button-next,
  .slideshow_wrapper .swiper-button-prev {
    width: 42px;
    height: 42px;
    border: 2px solid #fff;
    margin-top: -25px;
  }
}
.slideshow_wrapper.slideshow_instructor .swiper-button-next,
.slideshow_wrapper.slideshow_instructor .swiper-button-prev {
  background-color: rgba(106, 168, 222, 0.5);
}
.slideshow_wrapper.slideshow_selfstyle .swiper-button-next,
.slideshow_wrapper.slideshow_selfstyle .swiper-button-prev {
  background-color: rgba(109, 177, 157, 0.6);
}
.slideshow_wrapper.slideshow_ondemand .swiper-button-next,
.slideshow_wrapper.slideshow_ondemand .swiper-button-prev {
  background-color: rgba(208, 160, 192, 0.7);
}
.slideshow_wrapper .swiper-button-next{
  right: -5.12vw;
}
@media (min-width: 768px) {
  .slideshow_wrapper .swiper-button-next{
    right: -22px;
  }
}
.slideshow_wrapper .swiper-button-prev {
  left: -5.12vw;
}
@media (min-width: 768px) {
  .slideshow_wrapper .swiper-button-prev {
    left: -22px;
  }
}
.slideshow_wrapper .swiper-button-next::after,
.slideshow_wrapper .swiper-button-prev::after {
  font-weight: bold;
  font-size: 4.19vw;
  color: white;
}
@media (min-width: 768px) {
  .slideshow_wrapper .swiper-button-next::after,
  .slideshow_wrapper .swiper-button-prev::after {
      font-size: 18px;
  }
}
.swiper-button-disabled {
    opacity: 0.3;
    cursor: not-allowed;
}

.slide-counter {
  position: absolute;
  top: 3.49vw;
  right: 3.95vw;
  background: rgba(0, 0, 0, 0.5);
  display: none;
  align-items: center;
  width: 13.95vw;
  height: 6.05vw;
  justify-content: center;
  color: white;
  font-size: 3.26vw;
  border-radius: 100vh;
  z-index: 10;
}
@media (min-width: 768px) {
  .slide-counter {
    top: 15px;
    right: 17px;
    width: 60px;
    height: 26px;
    font-size: 14px;
  }
}
.slide-counter.is_show{
  display: inline-flex;
}
.current-slide,
.total-slides{
  font-family: Roboto;
  font-style: normal;
  font-weight: 600;
  color: #FFF;
  text-align: center;
  font-size: 2.79vw;
  letter-spacing: 0.06vw;
}
@media (min-width: 768px) {
  .current-slide,
  .total-slides{
    font-size: 12px;
    letter-spacing: 0.24px;
  }
}
.current-slide{
  margin-right: 1.16vw;
}
@media (min-width: 768px) {
  .current-slide{
    margin-right: 5px;
  }
}
.total-slides{
  margin-left: 1.16vw;
}
@media (min-width: 768px) {
  .total-slides{
    margin-left: 5px;
  }
}
.slide_none > img{
  width: 100%;
}
.is_hidden{
  visibility: hidden;
}


