html, body {
  max-width: 100vw;
  overflow-x: hidden;
}

main {
  overflow-x: hidden;
}

main {
  font-weight: 700;
}

.kawaii_crafting {
  max-width: 1440px;
  margin: 0 auto;
  line-height: 1.2;
  padding: 50px 20px 70px;
}

@media (max-width: 1024px) {
  .kawaii_crafting {
    padding: 20px 10px 0 10px;
  }
}

.kawaii_crafting .beginner_to_ex {
  white-space: nowrap;
  font-size: 19px;
  margin: 0 10px;
}

.kawaii_crafting_marketing_text {
    width: 434px;
    font-size: 19px;
    text-align: center;
}

@media (min-width: 1201px) and (max-width: 1400px) {
  .kawaii_crafting .beginner_to_ex {
    font-size: 17px;
  }
}

@media (min-width: 1025px) and (max-width: 1200px) {
  .kawaii_crafting .beginner_to_ex {
    font-size: 16px;
    margin: 0 5px;
  }
    .kawaii_crafting_marketing_text {
        width: 300px;
        font-size: 16px;
    }
}
@media (max-width: 1024px) {
    .kawaii_crafting_marketing_text {
        width: 325px;
        font-size: 16px;
        margin-top: 10px;
    }
}

.kawaii_crafting_pc .kawaii_crafting_info {
  position: absolute;
  top: 165px;
  left: 50%;
  transform: translateX(-50%);
  row-gap: 30px;
}

@media (min-width: 1201px) and (max-width: 1400px) {
  .kawaii_crafting_pc .kawaii_crafting_info {
    top: 150px;
    row-gap: 25px;
  }
}

@media (min-width: 1025px) and (max-width: 1200px) {
  .kawaii_crafting_pc .kawaii_crafting_info {
    top: 140px;
    row-gap: 20px;
  }
}

.kawaii_crafting_pc .kawaii_crafting_info .page-title {
  font-size: 50px;
  margin: 0;
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
  font-weight: 400;
  font-family: "Giulia-Light", sans-serif;
}

@media (min-width: 1201px) and (max-width: 1400px) {
  .kawaii_crafting_pc .kawaii_crafting_info .page-title {
    font-size: 45px;
  }
}

@media (min-width: 1025px) and (max-width: 1200px) {
  .kawaii_crafting_pc .kawaii_crafting_info .page-title {
    font-size: 40px;
  }
}

.kawaii_crafting_pc .kawaii_crafting_info .page-title * {
  font-weight: 400;
  font-family: "Giulia-Light", sans-serif;
}

.kawaii_crafting_pc .kawaii_crafting_info .page-subtitle {
  font-size: 40px;
  margin: 0;
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
  font-weight: 400;
  font-family: "Giulia-Light", sans-serif;
}

@media (min-width: 1201px) and (max-width: 1400px) {
  .kawaii_crafting_pc .kawaii_crafting_info .page-subtitle {
    font-size: 35px;
  }
}

@media (min-width: 1025px) and (max-width: 1200px) {
  .kawaii_crafting_pc .kawaii_crafting_info .page-subtitle {
    font-size: 30px;
  }
}

.kawaii_crafting_pc .kawaii_crafting_info .page-subtitle * {
  font-weight: 400;
  font-family: "Giulia-Light", sans-serif;
}

.kawaii_crafting_pc .kawaii_crafting_info .page-description {
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
  font-size: 21px;
}

@media (min-width: 1201px) and (max-width: 1400px) {
  .kawaii_crafting_pc .kawaii_crafting_info .page-description {
    font-size: 18px;
  }
}

@media (min-width: 1025px) and (max-width: 1200px) {
  .kawaii_crafting_pc .kawaii_crafting_info .page-description {
    font-size: 16px;
  }
}

.kawaii_crafting_pc .kawaii_crafting_info .image_13 {
  width: 28px;
  height: 26px;
}

.kawaii_crafting_pc .membership_regis_btn {
  width: 434px;
  background-color: #ED837C;
  border-radius: 30px;
  font-size: 27px;
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
  padding: 13px 0;
  color: white;
  font-weight: bold;
}

@media (min-width: 1201px) and (max-width: 1400px) {
  .kawaii_crafting_pc .membership_regis_btn {
    width: 370px;
    font-size: 23px;
    padding: 10px 0;
  }
}

@media (min-width: 1025px) and (max-width: 1200px) {
  .kawaii_crafting_pc .membership_regis_btn {
    width: 300px;
    font-size: 20px;
    padding: 8px 0;
  }
}

.kawaii_crafting_sp {
  display: none;
}

.kawaii_crafting_sp .membership_regis_btn {
  width: 278px;
  background-color: #ED837C;
  border-radius: 30px;
  font-size: 20px;
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
  padding: 10px 0;
  color: white;
  font-weight: bold;
}

.kawaii_crafting_sp .image_13 {
  width: 28px;
  height: 26px;
}

.kawaii_crafting_sp .beginner_to_ex {
  white-space: nowrap;
  font-size: 16px;
  margin: 0 10px;
}

.badge_free {
  width: 70px;
  height: 70px;
  border: 4px solid #ffffff;
  border-radius: 50%;
  background-color: #44BACC;
  color: white;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 20px;
  transform: rotate(15deg);
  position: absolute;
  bottom: calc(50% - 4px);
  right: -5%;
}

@media (min-width: 1201px) and (max-width: 1400px) {
  .badge_free {
    width: 60px;
    height: 60px;
  }
}

@media (min-width: 1025px) and (max-width: 1200px) {
  .badge_free {
    width: 55px;
    height: 55px;
    font-size: 18px;
  }
}

@media (max-width: 1024px) {
  .badge_free {
    width: 50px;
    height: 50px;
    font-size: 16px;
  }
}

.home-guide-video {
  padding: 100px 0 120px 0;
  width: 100%;
  margin: 0;
  background: white;
  line-height: 1.2;
  font-weight: 400;
}

.home-guide-video .video-wrapper {
  max-width: min(1024px, calc(100% - 40px));
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.home-guide-video .video-wrapper .separator {
  margin-top: 30px;
  margin-bottom: 30px;
}

.home-guide-video .video-wrapper .separator_en {
  margin-top: 17px !important;
}

.home-guide-video .video-wrapper .title {
  font-size: 48px;
  text-align: center;
  width: 61%;
  letter-spacing: 8px;
  position: relative;
  left: -13px;
}

.home-guide-video .video-wrapper .description {
  font-size: 20px;
  text-align: left;
  margin-bottom: 20px;
}

.home-guide-video .video-wrapper .video-note {
  font-size: 16px;
  text-align: center;
  margin-bottom: 10px;
}

.home-guide-video .video-wrapper .video-element {
  aspect-ratio: 16 / 9;
  max-width: 480px;
  width: 100%;
}

.home-guide-video .video-wrapper .video-content {
    text-align: center;
    width: 100%;
    display: flex;
    flex-direction: row;
    gap: 24px;
    justify-content: center;
    margin-top: 42px;
}
.home-guide-video .video-wrapper .video-content-en {
  margin-top: 20px;
}

@media (max-width: 1024px) {
  .home-guide-video .video-wrapper {
    max-width: calc(100% - 30px);
  }

  .home-guide-video .video-wrapper .separator {
    margin-top: 20px;
    margin-bottom: 20px;
    width: 100px;
  }

  .home-guide-video .video-wrapper .video-content {
    flex-direction: column;
    align-items: center;
  }
}

@media (max-width: 568px) {
  .home-guide-video {
    padding: 50px 0 100px 0;
    width: 100%;
    margin: 0;
    line-height: 1.2;
    font-weight: 400;
  }

  .home-guide-video .video-wrapper {
    max-width: calc(100% - 20px);
  }

  .home-guide-video .video-wrapper .separator_jp {
   margin-top: 30px !important;
  }

  .home-guide-video .video-wrapper .title {
    font-size: 36px;
  }

  .home-guide-video .video-wrapper .description {
    font-size: 16px;
    margin-bottom: 20px;
  }

  .home-guide-video .video-wrapper .video-note {
    font-size: 14px;
    text-align: center;
    margin-bottom: 10px;
  }
  .home-guide-video .video-wrapper .video-content {
    flex-direction: column;
    align-items: center;
    margin-top: 0px;
  }
}


.home_main_lesson {
  width: 100%;
  margin: 0 auto;
  line-height: 1.2;
  background-color: #FFD7D7;
  padding: 100px 10px;
  margin-top: -40px;
}

.home_main_lesson .lesson_page {
  width: 100%;
  max-width: 990px;
  margin: 0 auto;
}

.home_main_lesson .lesson_page .header {
  width: 100%;
  display: flex;
  justify-content: space-between;
  position: relative;
}

.home_main_lesson .lesson_page .header .select_currencies_pc {
  position: absolute;
  left: 0;
  bottom: 0;
  border-radius: 9999px;
  background-color: white;
}

.home_main_lesson .lesson_page .header .select_currencies_pc .select_currencies_icon_down {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: #44BACC;
  font-size: 14px;
  z-index: 1;
}

.home_main_lesson .lesson_page .header .select_currencies_pc select {
    position: relative;
    text-align: right;
    appearance: none;
    background-color: transparent;
    z-index: 2;
  -webkit-appearance: none;
  -moz-appearance: none;
  border: 1px solid #44BACC;
  border-radius: 30px;
  color: #44BACC;
  font-size: 16px;
  padding: 10px 30px 10px 15px;
  -moz-text-align-last: right;
       text-align-last: right;
}

.home_main_lesson .lesson_page .header .select_currencies_sp {
  display: none;
  position: absolute;
  left: 0;
  bottom: 0;
}

.home_main_lesson .lesson_page .header .select_currencies_sp .select_currencies_icon_down {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  color: #44BACC;
  font-size: 14px;
}

.home_main_lesson .lesson_page .header .select_currencies_sp select {
  direction: rtl;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: white;
  border: 1px solid #44BACC;
  border-radius: 30px;
  color: #44BACC;
  font-size: 16px;
  padding: 10px 25px 10px 15px;
  text-align: right;
  -moz-text-align-last: right;
       text-align-last: right;
}

.home_main_lesson .lesson_page .header {
  margin-bottom: 60px;
}

.home_main_lesson .lesson_page .header .title {
  position: relative;
  margin-inline: auto;
  font-size: 48px;
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
}

.home_main_lesson .lesson_page .header .icon {
  position: absolute;
  right: -60px;
  top: -50px;
}

.home_main_lesson .lesson_page .clock_icon {
  width: 28px;
  height: 28px;
}

.home_main_lesson .lesson_page .caution {
  font-weight: 500;
  flex: 1 1 0;
  font-size: 20px;
  line-height: 23px;
}

.home_main_lesson .lesson_page .content {
  display: grid;
  grid-template-columns: repeat(2, minmax(120px, 1fr));
  grid-column-gap: 10px;
  grid-row-gap: 20px;
  justify-items: center;
}

.home_main_lesson .lesson_page .content .lesson_item {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 215px;
  border: none;
  border-radius: 10px;
  background-color: white;
  position: relative;
  font-size: 14px;
  overflow: hidden;
}

.home_main_lesson .lesson_page .content .lesson_item .lesson_image_container {
  width: 100%;
}

.home_main_lesson .lesson_page .content .lesson_item .lesson_image_container .lesson_item_image_link {
  width: 100%;
  aspect-ratio: 1;
}

.home_main_lesson .lesson_page .content .lesson_item .lesson_image_container .lesson_item_image_link .lesson_item_image {
  width: 100%;
  aspect-ratio: 1;
  -o-object-fit: cover;
     object-fit: cover;
}

.home_main_lesson .lesson_page .content .lesson_item .card_body {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
}

.home_main_lesson .lesson_page .content .lesson_item .card_body .avatar_author {
  position: absolute;
  top: 0;
  left: 0;
  transform: translateY(-50%);
}

.home_main_lesson .lesson_page .content .lesson_item .card_body .avatar_author .instructor-avatar {
  width: 60px;
  height: 60px;
  aspect-ratio: 1;
  /* border: 2px solid #dfdfdf; */
  overflow: hidden;
  border-radius: 100%;
}

.home_main_lesson .lesson_page .content .lesson_item .card_body .author_name {
  text-align: left;
  -moz-text-align-last: left;
       text-align-last: left;
  margin-top: 15px;
  margin-left: 60px;
  word-wrap: break-word;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
}

.home_main_lesson .lesson_page .content .lesson_item .card_body .lesson_title {
  margin-top: 5px;
  line-height: 20px;
  height: 40px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.home_main_lesson .lesson_page .content .lesson_item .card_body .lesson_title .lesson_title_text {
  width: 100%;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  word-wrap: break-word;
  text-align: center;
  color: #ED837C;
}

.home_main_lesson .lesson_page .content .lesson_item .lesson_info {
  flex: 1 1 0;
  padding: 0 10px;
}

.home_main_lesson .lesson_page .content .lesson_item .lesson_info .course {
  background: #ED837C;
  padding: 0 10px;
  margin: 0;
  color: white;
  font-size: 14px;
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
  border-radius: 30px;
  width: -moz-fit-content;
  width: fit-content;
}

.home_main_lesson .lesson_page .content .lesson_item .lesson_info .view_more_link {
  padding: 6px 15px;
  background-color: #ED837C;
  border-radius: 9999px;
  color: black;
  font-size: 14px;
  line-height: 18px;
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
}

.home_main_lesson .lesson_page .lesson_page_view_more {
  margin-top: 40px;
  display: flex;
  justify-content: center;
}

.home_main_lesson .lesson_page .lesson_page_view_more .view_more_btn_link {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 8px 32px;
  font-weight: bold;
  font-size: 27px;
  position: relative;
  text-align: center;
  margin-top: 0;
  background: #ED837C;
  border: 2px solid #ED837C;
  border-radius: 9999px;
  color: black;
}

.home_main_lesson .lesson_page .lesson_page_view_more .view_more_btn_link .right-icon {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}

.home_main_lesson .lesson_page .card_info {
  position: relative;
  margin-top: 80px;
  font-size: 14px;
  line-height: 18px;
  color: black;
}

.home_main_lesson .lesson_page .card_info .clock_icon {
  width: 23px;
  height: 23px;
}

.home_main_lesson .lesson_page .card_info .credit_icon {
  width: 28px;
  height: 28px;
}

.home_main_lesson .lesson_page .card_info .card_info_icon {
  position: absolute;
  top: -140px;
  left: -80px;
}

.home_main_lesson .lesson_page .card_info .caution {
  font-weight: 500;
}

.custom-dropdown {
  position: relative;
  display: inline-block;
  width: 200px;
}

.dropdown-btn {
  width: 100%;
  padding: 10px;
  background-color: #f1f1f1;
  border: 1px solid #ccc;
  cursor: pointer;
}

.dropdown-content {
  display: none;
  position: absolute;
  background-color: #f9f9f9;
  min-width: 100%;
  box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.2);
  z-index: 1;
}

.dropdown-content a {
  color: black;
  padding: 12px 16px;
  text-decoration: none;
  display: block;
}

.dropdown-content a:hover {
  background-color: #f1f1f1;
}

.show {
  display: block;
}

.trendy_craft {
  font-weight: bold;
  line-height: 1.2;
  background-color: white;
  padding: 120px 10px;
  margin: -30px auto 0;
}

.trendy_craft .title {
  font-size: 48px;
  margin: 0;
}

.trendy_craft .title * {
    font-weight: 400;
    font-family: "Giulia-Light", sans-serif;
}

.trendy_craft .header {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  -moz-column-gap: 50px;
       column-gap: 50px;
}

.trendy_craft .header .trendy_craft_left_icon {
  width: 60px;
  height: 60px;
}

.trendy_craft .header .trendy_craft_right_icon {
  width: 130px;
  height: 90px;
}

.trendy_craft .header_sp {
  display: none;
}

.trendy_craft .header_sp .trendy_craft_left_icon {
  width: 50px;
  height: 50px;
}

.trendy_craft .header_sp .trendy_craft_right_icon {
  width: 82px;
  height: 74px;
}

.trendy_craft .header_sp .title {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  font-size: 30px;
  transform: translateY(-10px);
}

.trendy_craft .header_sp .title p {
  margin-top: 0;
}

.trendy_craft .caution {
  max-width: 990px;
  margin: 80px auto 10px auto;
}

.trendy_craft .content {
  width: 100%;
  max-width: 990px;
  margin: 0 auto 80px auto;
  display: flex;
  justify-content: center;
  gap: 40px;
  flex-wrap: wrap;
}

.trendy_craft .content .trendy_craft_item {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 470px;
  min-height: 560px;
  padding: 40px 20px;
  border: 1px solid #ED837C;
  border-radius: 10px;
}

.lesson_type {
  margin: 0 auto;
  line-height: 1.2;
  background-color: #C4E2E5;
  padding: 140px 10px;
}

.lesson_type .title {
  font-size: 48px;
  font-weight: 400;
  margin: 0;
  font-family: "Giulia-Light", sans-serif;
}

.lesson_type .title * {
  font-weight: 400;
  font-family: "Giulia-Light", sans-serif;
}

.lesson_type .container {
  width: 100%;
  max-width: 990px;
  padding: 0;
}

.lesson_type .container .header {
  display: flex;
  justify-content: center;
  align-items: baseline;
  -moz-column-gap: 20px;
       column-gap: 20px;
}

.lesson_type .container .header .lesson_type_left_icon {
  width: 160px;
  height: 90px;
}

.lesson_type .container .header .lesson_type_right_icon {
  width: 50px;
  height: 50px;
}

.lesson_type .container .header_sp {
  display: none;
}

.lesson_type .container .header_sp .title {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  white-space: nowrap;
  font-size: 30px;
}

.lesson_type .container .header_sp .title p {
  margin-top: 0;
}

.lesson_type .container .header_sp .lesson_type_left_icon {
  width: 90px;
  height: 45px;
}

.lesson_type .container .header_sp .lesson_type_right_icon {
  width: 50px;
  height: 50px;
}

.lesson_type .introduce {
  margin-top: 35px;
  display: flex;
  flex-direction: column;
  gap: 40px;
  font-size: 18px;
  color: black;
}

.lesson_type .gch_type_lesson {
  display: flex;
  flex-direction: column;
  justify-content: center;
  row-gap: 20px;
  margin: 80px 0;
}

.lesson_type .type {
  display: flex;
  align-items: center;
  gap: 30px;
}

.lesson_type .type .label {
  font-size: 21px;
}

.lesson_type .type .spot_or_course {
  flex: 1 1 0;
  display: flex;
  align-items: center;
  -moz-column-gap: 20px;
       column-gap: 20px;
}

.lesson_type .type .spot_or_course .spot {
  flex: 1 1 0;
  font-size: 21px;
  color: white;
  padding: 6px 0;
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
  line-height: 28px;
  background-color: #44BACC;
}

.lesson_type .type .spot_or_course .course {
  flex: 1 1 0;
  font-size: 21px;
  color: white;
  padding: 6px 0;
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
  line-height: 28px;
  background-color: #46CC98;
}

.lesson_type .level {
  display: flex;
  align-items: flex-start;
  gap: 19px;
}

.lesson_type .level .label {
  font-size: 21px;
  margin-top: 12px;
}

.lesson_type .level .content {
  display: flex;
  flex: 1 1 0;
  -moz-column-gap: 30px;
       column-gap: 30px;
}

@media (max-width: 1024px) {
  .lesson_type .level .content {
    flex-direction: column;
  }
}

.lesson_type .level .content .step-large-1 {
  flex: 3 1 0;
  display: flex;
  gap: 30px;
}

@media (max-width: 1024px) {
  .lesson_type .level .content .step-large-1 {
    margin-right: 30px;
  }
}

.lesson_type .level .content .step-large-1 .step {
  flex: 1 1 0;
  min-width: 0;
}

.lesson_type .level .content .step-large-1 .step .step-label {
  font-size: 21px;
}

@media (max-width: 568px) {
  .lesson_type .level .content .step-large-1 .step .step-label {
    font-size: 12px;
  }
}

.lesson_type .level .content .step-large-1 .step .label_level_1 {
  height: 40px;
  background-color: #e5b3b3;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.lesson_type .level .content .step-large-1 .step .label_level_1::before {
  content: "";
  display: block;
  border: 20px solid transparent;
  border-left-color: #e5b3b3;
  position: absolute;
  right: -40px;
}

.lesson_type .level .content .step-large-1 .step .label_level_2 {
  height: 40px;
  background-color: #ea9d9b;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.lesson_type .level .content .step-large-1 .step .label_level_2::after {
  content: "";
  display: block;
  border-width: 20px 0 20px 20px;
  border-style: solid;
  border-color: #ea9d9b;
  border-left-color: transparent;
  position: absolute;
  left: -20px;
}

.lesson_type .level .content .step-large-1 .step .label_level_2::before {
  content: "";
  display: block;
  border: 20px solid transparent;
  border-left-color: #ea9d9b;
  position: absolute;
  right: -40px;
}

.lesson_type .level .content .step-large-1 .step .label_level_3 {
  height: 40px;
  background-color: #ed837c;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.lesson_type .level .content .step-large-1 .step .label_level_3::after {
  content: "";
  display: block;
  border-width: 20px 0 20px 20px;
  border-style: solid;
  border-color: #ed837c;
  border-left-color: transparent;
  position: absolute;
  left: -20px;
}

.lesson_type .level .content .step-large-1 .step .label_level_3::before {
  content: "";
  display: block;
  border: 20px solid transparent;
  border-left-color: #ed837c;
  position: absolute;
  right: -40px;
}

.lesson_type .level .content .step-large-1 .step .step-text {
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
}

@media (max-width: 568px) {
  .lesson_type .level .content .step-large-1 .step .step-text {
    font-size: 12px;
  }
}

.lesson_type .level .content .step-large-2 {
  flex: 2 1 0;
}

@media (max-width: 1024px) {
  .lesson_type .level .content .step-large-2 {
    margin-left: 20px;
    width: calc(66% - 30px);
  }
}

.lesson_type .level .content .step-large-2 .step-container {
  display: flex;
  width: 100%;
  gap: 30px;
}

.lesson_type .level .content .step-large-2 .step-container .step-label {
  font-size: 21px;
}

@media (max-width: 568px) {
  .lesson_type .level .content .step-large-2 .step-container .step-label {
    font-size: 12px;
  }
}

.lesson_type .level .content .step-large-2 .step-container .label_level_4 {
  flex: 1 1 0;
  height: 40px;
  background-color: #e26966;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.lesson_type .level .content .step-large-2 .step-container .label_level_4::after {
  content: "";
  display: block;
  border-width: 20px 0 20px 20px;
  border-style: solid;
  border-color: #e26966;
  border-left-color: transparent;
  position: absolute;
  left: -20px;
}

.lesson_type .level .content .step-large-2 .step-container .label_level_4::before {
  content: "";
  display: block;
  border: 20px solid transparent;
  border-left-color: #e26966;
  position: absolute;
  right: -40px;
}

.lesson_type .level .content .step-large-2 .step-container .label_level_5 {
  flex: 1 1 0;
  height: 40px;
  background-color: #db5252;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.lesson_type .level .content .step-large-2 .step-container .label_level_5::after {
  content: "";
  display: block;
  border-width: 20px 0 20px 20px;
  border-style: solid;
  border-color: #db5252;
  border-left-color: transparent;
  position: absolute;
  left: -20px;
}

.lesson_type .level .content .step-large-2 .step-text {
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
}

@media (max-width: 568px) {
  .lesson_type .level .content .step-large-2 .step-text {
    font-size: 12px;
  }
}

.lesson_type .level .level_img_sp {
  display: none;
}

.lesson_type .idea {
  display: flex;
  flex-direction: column;
  row-gap: 50px;
  width: 100%;
}

.lesson_type .idea .idea_item {
  width: 100%;
  display: flex;
  align-items: center;
  -moz-column-gap: 30px;
       column-gap: 30px;
}

.lesson_type .idea .idea_item .idea_item_image {
  width: 100%;
  max-width: 164px;
  flex-shrink: 0;
}

.lesson_type .idea .paragraph_1 {
  font-size: 18px;
  font-weight: bold;
  color: black;
}

.lesson_type .idea .paragraph_2 {
  font-size: 14px;
  margin-top: 10px;
  color: black;
}

.feature {
  margin: -24px auto 0;
  line-height: 1.2;
  background-color: #FFD7D7;
  padding: 140px 10px;
}

.feature .title {
  font-size: 48px;
  margin: 0;
}

.feature .container {
  width: 100%;
  max-width: 990px;
  padding: 0;
}

.feature .container .header {
  display: flex;
  justify-content: space-between;
}

.feature .container .header .title {
 /* position: absolute;
 left: 13%; */
}

.feature .content {
  width: 100%;
  margin-top: 50px;
  display: grid;
  -moz-column-gap: 50px;
       column-gap: 50px;
  row-gap: 40px;
  grid-template-columns: 1fr;
}

.feature .content .feature_item {
  border-radius: 20px;
  background-color: white;
  display: flex;
  overflow: hidden;
}

.feature .content .feature_item img {
  align-self: center;
  height: 100%;
  object-fit: cover;
}

.feature .content .feature_item_content {
  padding: 35px 20px;
}

.flow {
  margin: -24px auto 0;
  line-height: 1.2;
  background-color: #C4E2E5;
  padding: 180px 10px;
}

.flow .title {
  font-size: 48px;
  margin: 0;
}

.flow .container {
  width: 100%;
  max-width: 990px;
  padding: 0;
  max-width: 1200px;
}

.flow .header {
  display: flex;
  justify-content: center;
  -moz-column-gap: 10px;
       column-gap: 10px;
}

.flow .header .header_left_icon {
  width: 155px;
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
  position: relative;
  left: -35px;
  top: -14px;
}

.flow .header .header_left_icon_en{
  left: -48px;
  top: -23px !important;
}

.flow .header .header_right_icon {
  width: 73px;
  position: relative;
  top: -25px;
  left: -38px;
}

.flow .header .header_right_icon_en{
  left: -48px;
  top: -33px !important;
}

.flow .container .header .title .p_en{
letter-spacing: 0px !important;
}


.flow .header .title img {
  position: relative;
  top: 5px;
  left: -40px;
}

.flow .header .title .img_jp {
  top: 8px;
}

.flow .content {
  width: 100%;
  display: grid;
  gap: 30px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  /* margin-top: 50px; */
  /* border: 1px solid #000; */
  max-width: 1000px
}

.flow .flow_step {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
}

.flow .flow_step .image_container {
  position: relative;
  width: 100%;
  max-width: 164px;
  aspect-ratio: 1;
}

.flow .flow_step .image_container .image_wrapper {
  width: 100%;
  aspect-ratio: 1;
  border-radius: 9999px;
  overflow: hidden;
  background: white;
  display: flex;
  justify-content: center;
  align-items: center;
}

.flow .flow_step .image_container .image_wrapper img {
  width: 60%;
  aspect-ratio: 1;
}

.flow .flow_step .image_container .icon {
  position: absolute;
  left: 0;
  top: -30px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.flow .flow_step .image_container .icon .title {
  font-size: 21.61px;
  line-height: 25.94px;
  font-family: "Giulia-Light", sans-serif !important;
  font-weight: 400;
}

@media (max-width: 1024px) and (min-width: 425px) {
  .flow .content {
    width: min(430px, 100%);
    margin-inline: auto;
  }

  .flow .content .step-container .step-title {
    left: 0;
    text-align: center;
    width: 100%;
  }

  .flow .content .step-container .step-image-wrapper {
    margin-bottom: 16px;
  }

  .flow .content-step {
    row-gap: 50 !important;
  }
}

@media (max-width: 568px) {
  .flow .flow_step .image_container .icon .title {
    font-size: 19px;
    line-height: 23px;
  }
}

.flow .flow_step .image_container .icon .num {
  font-size: 48px;
  line-height: 1;
  font-family: "Giulia-Light", sans-serif !important;
  font-weight: 400;
}

@media (max-width: 568px) {
  .flow .flow_step .image_container .icon .num {
    font-size: 42px;
  }
}

.flow .flow_step .flow_step_title {
  font-family: "Giulia-Light", sans-serif;
  font-weight: 400;
  position: absolute;
  top: -20px;
  left: 0;
  font-size: 21px;
}

.flow .flow_step .content_label_item {
  font-size: 24px;
  line-height: 29px;
  padding: 20px 0;
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
}

.categories {
  margin: -30px auto;
  line-height: 1.2;
  background-color: #FFD7D7;
  padding: 120px 10px;
}

.categories .title {
  font-size: 48px;
  margin: 0;
}

.categories .header_cp {
  display: flex;
  justify-content: center;
  align-items: center;
  -moz-column-gap: 50px;
       column-gap: 50px;
}

.categories .header_sp {
  display: none;
}

.categories .content {
  display: flex;
  justify-content: center;
  background-image: url("/images/home/asset_62.png");
  background-repeat: no-repeat;
  background-position: center top;
  width: 100%;
  height: 717px;
  padding: 120px;
  margin: -60px auto 0;
}

.categories .content .list_category {
  padding: 0 115px;
  display: grid;
  gap: 37px;
  grid-template-columns: minmax(100px, 1fr) minmax(100px, 1fr);
}

.categories .content .list_category .category_item {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  row-gap: 20px;
}

.categories .content .list_category .category_item .label {
  font-size: 20px;
  line-height: 29px;
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
}

.student_review {
  margin: -30px auto 0;
  line-height: 1.2;
  background-color: #C4E2E5;
  padding: 85px 10px;
}

.student_review .title {
  font-size: 48px;
  margin: 0;
  letter-spacing: 7px;
  position: relative;
  left: 35px;
}

.student_review .title .p_en{
  letter-spacing: 0px !important;
  position: relative;
  left: -8px;
}

.student_review .container {
  width: 100%;
  max-width: 990px;
  padding: 0;
}

.student_review .container .header .student_review_left_image {
  width: 115px;
  height: 157px;
  position: relative;
  left: 75px
}

.student_review .container .header .student_review_right_image {
  width: 164px;
  height: 102px;
}

.student_review .container .header .student_review_right_image_en {
  position: relative;
  top: -11px;
  left: 22px;
}

.student_review .container .content {
  margin-top: 50px;
}

.student_review .container .body_footer {
  font-weight: bold;
}

.slider-container {
    position: relative;
    width: 100%;
    margin: 0 auto;
}

.slider {
    overflow: hidden;
    width: 100%;
}

.slides {
    display: flex;
    transition: transform 0.5s ease-in-out;
    gap: 20px;
}

.prev-btn, .next-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0, 0, 0, 0.5);
    color: white;
    border: none;
    padding: 10px;
    cursor: pointer;
    font-size: 18px;
    border-radius: 50%;
    height: 44px;
    width: 44px;
    opacity: 50%;
    z-index: 50;
    display: none;
}

.prev-btn.can-scroll,
.next-btn.can-scroll {
    display: flex;
    justify-content: center;
    align-items: center;
}

.prev-btn:focus, .next-btn:focus {
    outline: none;
}

.prev-btn {
    left: -22px;
}

.next-btn {
    right: -22px;
}

.student_review .student_review_item {
  width: 100%;
  border-radius: 10px;
  background: white;
  padding: 20px;
  flex: 0 0 calc((100% - 60px)/4);
  font-size: 14px;
}

.student_review .student_review_item .content {
  margin-top: 10px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.student_review .student_review_item .body {
  height: calc(100% - 40px);

    & .body_top {
        min-height: 300px;
    }
}

.student_review .student_review_item .body .lesson_image {
  width: 100%;
  height: 124px;
  -o-object-fit: cover;
     object-fit: cover;
}

.student_review .student_review_item .lesson_name {
  color: #ED837C;
  font-size: 16px;
  font-weight: bold;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  line-height: 2rem;
}

.student_review .student_review_item .student_lesson_review {
  font-size: 14px;
  line-height: 16.8px;
  word-break: break-word;
}

.student_review .student_review_item .see_more {
  font-size: 14px;
  line-height: 16.8px;
  word-break: break-word;
  cursor: pointer;
  color: #808080;
}

.student_review .student_review_item .student_review_start {
  width: 25px;
  height: 25px;
}

.student_review .student_review_item .hide {
  color: #808080;
}

.student_review .student_review_item .view_lesson {
  width: 170px;
  height: 43px;
  font-size: 19px;
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
  margin-top: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #ED837C;
  border-radius: 9999px;
  color: black;
}

@media (max-width: 1050px) {
    .student_review .container .content {
        margin-right: 30px !important;
        margin-left: 30px !important;
    }
    .student_review_item {
        flex: 0 0 calc((100% - 40px) / 3) !important;
    }
}

@media (max-width: 768px) {
    .slides {
        gap: 10px;
    }
    .student_review_item {
        width: calc((100% - 10px) / 2) !important;
    }
    .prev-btn, .next-btn {
        width: 34px;
        height: 34px;
    }
    .prev-btn {
        left: -10px;
    }
    .next-btn {
        right: -10px;
    }
}

@media (max-width: 1120px) {
    .student_review .container .content {
        margin-right: 60px;
        margin-left: 60px;
    }
}

.news {
  margin: -30px auto 0;
  line-height: 1.2;
  background-color: white;
  padding: 180px 10px;
}

.news .title {
  font-size: 48px;
  margin: 0;
  letter-spacing: 4px;
}

.news .title_en {
  letter-spacing: 0px;
}

.news .container {
  width: 100%;
  max-width: 990px;
  padding: 0;
}

.news .content {
  margin: 50px 0;
}

.news .container .content .list_new {
  max-width: 981px;
  margin-inline: auto;
}

.news .container .content .list_new .info {
  padding-block: 20px;
}

.news .content .view_more_btn {
  margin-top: 82px;
}

.news .content .view_more_btn .view_more_link {
  width: 270px;
  border: 2px solid #ED837C;
  border-radius: 9999px;
  background-color: white;
  color: #ED837C;
  font-size: 27px;
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
  padding: 10px 0;
    text-decoration: none;
}

.news .content .view_more_btn .view_more_link i {
 transform: rotate(-90deg);
}

.trendy_craft_item .title {
  font-size: 30px;
  font-weight: 400;
  font-family: "Giulia-Light", sans-serif;
}

.trendy_craft_item .title * {
  font-weight: 400;
  font-family: "Giulia-Light", sans-serif;
}

.trendy_craft_item .title_2 {
  font-size: 22px;
  color: #ED837C;
  white-space: normal;
  width: 100%;
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
}

.trendy_craft_item .paragraph_1 {
  font-size: 14px;
  color: black;
}

.trendy_craft_item .image_view_lesson {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 20px;
}

.trendy_craft_item .image_view_lesson img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 10px;
}

.trendy_craft_item .view_lesson_btn {
  width: 260px;
  height: 34px;
  border: 2px solid #ED837C;
  border-radius: 30px;
  color: #ED837C;
  font-size: 15px;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 20px;
  position: relative;
}

.trendy_craft_item .view_lesson_btn a {
  color: #ED837C;
}

.trendy_craft_item .view_lesson_btn i {
  position: absolute;
  right: 14px;
  top: 8px;
}

.wave {
  --size: 15px;
  --R: calc(var(--size) * 1.28);
  -webkit-mask: radial-gradient(var(--R) at 50% calc(1.8 * var(--size)), #000 99%, rgba(0, 0, 0, 0) 101%) calc(50% - 2 * var(--size)) 0/calc(4 * var(--size)) 100%, radial-gradient(var(--R) at 50% calc(-0.8 * var(--size)), rgba(0, 0, 0, 0) 99%, #000 101%) 50% var(--size)/calc(4 * var(--size)) 100% repeat-x;
  background: #FFD7D7;
}

.trendy_craft_wave {
  --size: 15px;
  --R: calc(var(--size) * 1.28);
  -webkit-mask: radial-gradient(var(--R) at 50% calc(1.8 * var(--size)), #000 99%, rgba(0, 0, 0, 0) 101%) calc(50% - 2 * var(--size)) 0/calc(4 * var(--size)) 100%, radial-gradient(var(--R) at 50% calc(-0.8 * var(--size)), rgba(0, 0, 0, 0) 99%, #000 101%) 50% var(--size)/calc(4 * var(--size)) 100% repeat-x;
  background: white;
}

.lesson_type_wave {
  margin-top: -30px;
  --size: 15px;
  --R: calc(var(--size) * 1.28);
  -webkit-mask: radial-gradient(var(--R) at 50% calc(1.8 * var(--size)), #000 99%, rgba(0, 0, 0, 0) 101%) calc(50% - 2 * var(--size)) 0/calc(4 * var(--size)) 100%, radial-gradient(var(--R) at 50% calc(-0.8 * var(--size)), rgba(0, 0, 0, 0) 99%, #000 101%) 50% var(--size)/calc(4 * var(--size)) 100% repeat-x;
  background: #C4E2E5;
}

.feature_wave {
  --size: 15px;
  --R: calc(var(--size) * 1.28);
  -webkit-mask: radial-gradient(var(--R) at 50% calc(1.8 * var(--size)), #000 99%, rgba(0, 0, 0, 0) 101%) calc(50% - 2 * var(--size)) 0/calc(4 * var(--size)) 100%, radial-gradient(var(--R) at 50% calc(-0.8 * var(--size)), rgba(0, 0, 0, 0) 99%, #000 101%) 50% var(--size)/calc(4 * var(--size)) 100% repeat-x;
  background: #FFD7D7;
}

.feature_header_left_image {
  width: 140px;
  height: 111px;
}

.feature_header_right_image {
  width: 103px;
  height: 100px;
}

.feature_item_content .title {
  font-size: 18px;
  font-weight: bold;
  color: #ED837C;
  margin-bottom: 20px;
  line-height: 22px;
}

.feature_item_content .description {
  font-size: 14px;
  line-height: 24px;
}

.flow_wave {
  --size: 15px;
  --R: calc(var(--size) * 1.28);
  -webkit-mask: radial-gradient(var(--R) at 50% calc(1.8 * var(--size)), #000 99%, rgba(0, 0, 0, 0) 101%) calc(50% - 2 * var(--size)) 0/calc(4 * var(--size)) 100%, radial-gradient(var(--R) at 50% calc(-0.8 * var(--size)), rgba(0, 0, 0, 0) 99%, #000 101%) 50% var(--size)/calc(4 * var(--size)) 100% repeat-x;
  background: #C4E2E5;
}

.categories_wave {
  --size: 15px;
  --R: calc(var(--size) * 1.28);
  -webkit-mask: radial-gradient(var(--R) at 50% calc(1.8 * var(--size)), #000 99%, rgba(0, 0, 0, 0) 101%) calc(50% - 2 * var(--size)) 0/calc(4 * var(--size)) 100%, radial-gradient(var(--R) at 50% calc(-0.8 * var(--size)), rgba(0, 0, 0, 0) 99%, #000 101%) 50% var(--size)/calc(4 * var(--size)) 100% repeat-x;
  background: #FFD7D7;
}

/* change background for home only */
.home .student_review,
.home .student_review {
  background: #C4E2E5 !important
}

.student_review_wave {
  --size: 15px;
  --R: calc(var(--size) * 1.28);
  -webkit-mask: radial-gradient(var(--R) at 50% calc(1.8 * var(--size)), #000 99%, rgba(0, 0, 0, 0) 101%) calc(50% - 2 * var(--size)) 0/calc(4 * var(--size)) 100%, radial-gradient(var(--R) at 50% calc(-0.8 * var(--size)), rgba(0, 0, 0, 0) 99%, #000 101%) 50% var(--size)/calc(4 * var(--size)) 100% repeat-x;
  background: #C4E2E5;
  background: #FFD7D7;
}

.text_two_lines {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.news_wave {
  --size: 15px;
  --R: calc(var(--size) * 1.28);
  -webkit-mask: radial-gradient(var(--R) at 50% calc(1.8 * var(--size)), #000 99%, rgba(0, 0, 0, 0) 101%) calc(50% - 2 * var(--size)) 0/calc(4 * var(--size)) 100%, radial-gradient(var(--R) at 50% calc(-0.8 * var(--size)), rgba(0, 0, 0, 0) 99%, #000 101%) 50% var(--size)/calc(4 * var(--size)) 100% repeat-x;
  /* background: #C4E2E5; */
}

.new_item .info .datetime {
  font-size: 16px;
  line-height: 19.2px;
  font-weight: bold;
  color: #ED837C;
}

.news  .content a{
  text-decoration: none !important;
}

.new_item .info .title {
  font-size: 16px;
  line-height: 19.2px;
}

.new_item .info .title_en {
  letter-spacing: 0px;
}

@media (max-width: 1024px) {
  .kawaii_crafting_pc {
    display: none;
  }

  .kawaii_crafting_sp {
    display: block;
  }

  .kawaii_crafting_sp .top_banner_home {
    margin: 0 -10px;
    display: flex;
    flex-wrap: nowrap;
  }

  .kawaii_crafting_sp .top_banner_home img {
    width: 33.33%;
  }

  .kawaii_crafting_sp .kawaii_crafting_info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    padding: 30px 0 40px 0;
  }

  .kawaii_crafting_sp .kawaii_crafting_info.kawaii_crafting_info_jp {
    padding-top: 40px;
  }

  .kawaii_crafting_sp .kawaii_crafting_info .page-title {
    font-size: 38px;
    margin: 0;
    text-align: center;
    -moz-text-align-last: center;
         text-align-last: center;
    font-weight: 400;
    font-family: "Giulia-Light", sans-serif;
  }

  .kawaii_crafting_sp .kawaii_crafting_info .page-title * {
    font-weight: 400;
    font-family: "Giulia-Light", sans-serif;
  }

  .kawaii_crafting_sp .kawaii_crafting_info .img_page_title_en {
    height: 35px;
  }

  .kawaii_crafting_sp .kawaii_crafting_info .img_page_title_jp {
    height: 39px;
    margin-bottom: 15px;
  }

  .kawaii_crafting_sp .kawaii_crafting_info .page-subtitle {
    font-size: 28px;
    margin: 0;
    text-align: center;
    -moz-text-align-last: center;
         text-align-last: center;
    font-weight: 400;
    font-family: "Giulia-Light", sans-serif;
    color: black;
    margin-bottom: 10px;
  }

  .kawaii_crafting_sp .kawaii_crafting_info .page-subtitle * {
    font-weight: 400;
    font-family: "Giulia-Light", sans-serif;
  }

  .kawaii_crafting_sp .kawaii_crafting_info .img_page_subtitle_jp {
    height: 17px;
    margin-bottom: 30px;
  }

  .kawaii_crafting_sp .kawaii_crafting_info .kawaii_crafting_instruction {
    font-size: 18px;
    line-height: 20px;
    text-align: center;
    font-family: "Giulia-Light", sans-serif;
    color: black;
    margin-bottom: 15px;
    font-weight: 400;
  }

  .kawaii_crafting_sp .kawaii_crafting_info .kawaii_crafting_instruction * {
    font-family: "Giulia-Light", sans-serif;
    font-weight: 400;
  }

  .kawaii_crafting_sp .kawaii_crafting_info .kawaii_crafting_language_container {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 23px;
  }

  .kawaii_crafting_sp .kawaii_crafting_info .kawaii_crafting_language_container .kawaii_crafting_language {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 78px;
    height: 78px;
    font-size: 14px;
    line-height: 18px;
    border: 2px dashed #ED837C;
    border-radius: 9999px;
    color: black;
  }

  .kawaii_crafting_sp .kawaii_crafting_info .kawaii_crafting_language_container .kawaii_crafting_language_jp {
    font-size: 18px;
    line-height: 22px;
    letter-spacing: 3px;
  }

  .kawaii_crafting_sp .kawaii_crafting_info .kawaii_crafting_btn {
    margin-top: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .kawaii_crafting_sp .kawaii_crafting_info .kawaii_crafting_btn.kawaii_crafting_btn_jp {
    margin-top: 45px;
  }

  .kawaii_crafting_sp .kawaii_crafting_info .kawaii_crafting_btn .beginner_to_ex {
    font-size: 15px;
  }

   .kawaii_crafting_sp .kawaii_crafting_info .kawaii_crafting_btn .beginner_to_ex.beginner_to_ex_jp {
     font-size: 12px;
   }

  .kawaii_crafting_sp .membership_regis_btn.membership_regis_btn_jp {
    letter-spacing: 4px;
  }

  .kawaii_crafting_sp .kawaii_crafting_info .kawaii_crafting_btn .badge_free {
    background-color: white;
    color: #ED837C;
    border: 1px solid #ED837C;
    z-index: 2;
    font-weight: 400;
    right: -11%;
    bottom: 50%;
  }

  .kawaii_crafting_sp .kawaii_crafting_info .kawaii_crafting_btn .badge_free.badge_free_jp {
    font-weight: 700;
  }

  .kawaii_crafting_sp .kawaii_crafting_info .kawaii_crafting_decorate_1 {
    position: absolute;
    top: -30px;
    left: -15px;
    width: 55px;
    height: 71px;
  }

  .kawaii_crafting_sp .kawaii_crafting_info .kawaii_crafting_decorate_2 {
    position: absolute;
    top: 175px;
    right: -15px;
    width: 83px;
    height: 97px;
  }

  .kawaii_crafting_sp .kawaii_crafting_info .kawaii_crafting_decorate_2.kawaii_crafting_decorate_2_jp {
    top: 155px;
  }

  .kawaii_crafting_sp .kawaii_crafting_info .kawaii_crafting_decorate_3 {
    position: absolute;
    top: 40%;
    right: 50%;
    width: 320px;
    height: 266px;
    transform: translate(50%, -50%);
  }

  .kawaii_crafting_sp .kawaii_crafting_info .kawaii_crafting_decorate_4 {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 42px;
    height: 48px;
  }

  .kawaii_crafting_sp .bottom_banner_home {
    display: flex;
    flex-wrap: nowrap;
    margin: 0 -10px;
  }

  .kawaii_crafting_sp .bottom_banner_home img {
    width: 33.33%;
  }

  .trendy_craft .trendy_craft_item .container-2 {
    width: 100%;
  }

  .trendy_craft .trendy_craft_item .container-2 .image_view_lesson {
    width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1025px) and (max-width: 1200px) {
  .home_main_lesson .lesson_page .content {
    grid-template-columns: repeat(4, 1fr);
  }

  .feature .content {
    grid-template-columns: 1fr 1fr;
  }

  .flow .content {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .categories .content .list_category {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

@media (min-width: 1201px) and (max-width: 1400px) {
  .home_main_lesson .lesson_page .content {
    grid-template-columns: repeat(4, 1fr);
  }

  .feature .content {
    grid-template-columns: 1fr 1fr;
  }

  .flow .content {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .categories .content .list_category {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

@media (min-width: 1401px) {
    .home_main_lesson .lesson_page .content {
        grid-template-columns: repeat(4, 1fr);
    }

    .feature .content {
        grid-template-columns: 1fr 1fr;
    }

    .flow .content {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .categories .content .list_category {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
}

@media (max-width: 568px) {
  .home_main_lesson {
    width: 100%;
    margin: 0 auto;
    padding: 60px 10px 100px;
    margin-top: -40px;
  }

  .home_main_lesson .lesson_page .header {
    margin-bottom: 27px;
  }

  .home_main_lesson .header .title_wave {
    scale: 0.7;
  }

  .home_main_lesson .lesson_page .header .select_currencies_pc {
    display: none;
  }

  .home_main_lesson .lesson_page .header .select_currencies_sp {
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    border-radius: 9999px;
    background-color: white;
  }

  .home_main_lesson .lesson_page .header .select_currencies_sp select {
    background-color: transparent;
    position: relative;
    text-align: right;
    -moz-text-align-last: right;
         text-align-last: right;
    min-width: 80px;
    font-size: 14px;
    z-index: 2;
  }

  .home_main_lesson .lesson_page .header .select_currencies_sp .select_currencies_icon_down {
    right: 10px;
    z-index: 1;
  }

  .home_main_lesson .lesson_page .header .icon {
    width: 140px;
    position: absolute;
    right: 0;
    top: -30px;
  }

  .home_main_lesson .lesson_page .caution {
    font-size: 18px;
  }

  .home_main_lesson .lesson_page .lesson_item .card_body .avatar_author img {
    border-radius: 50%;
    -o-object-fit: cover;
       object-fit: cover;
  }

  .home_main_lesson .lesson_page .lesson_item .card_body .author_name {
    margin-left: 48px;
  }

  .home_main_lesson .lesson_page .lesson_page_view_more {
    margin-top: 50px;
    display: flex;
    justify-content: center;
  }

  .home_main_lesson .lesson_page .lesson_page_view_more .view_more_btn_link {
    font-size: 19px;
  }

  .home_main_lesson .lesson_page .card_info {
    font-size: 12px;
    line-height: 15px;
    margin-top: 50px;
  }

  .home_main_lesson .lesson_page .card_info .card_info_icon {
    width: 100px;
    top: 100%;
    left: 0;
  }

  .home_main_lesson .header .title p {
    margin: 0;
    font-size: 36px;
  }

  .trendy_craft {
    padding: 40px 10px 60px;
  }

  .trendy_craft .header_sp {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: column;
  }

  .trendy_craft .header {
    display: none;
  }

  .trendy_craft .caution {
    margin: 20px auto 5px auto;
  }

  .trendy_craft .content {
    margin: 0 auto 20px auto;
  }

  .trendy_craft_item .image_view_lesson {
    grid-column-gap: 10px;
  }

  .lesson_type {
    padding: 40px 10px 80px;
  }

  .lesson_type .container .header {
    display: none;
  }

  .lesson_type .container .header_sp {
    display: block;
  }

  .lesson_type .type .spot_or_course {
    -moz-column-gap: 10px !important;
         column-gap: 10px !important;
  }

  .lesson_type .type .spot_or_course .spot {
    width: 140px;
    font-size: 14px;
    padding: 10px 0;
    text-align: center;
    -moz-text-align-last: center;
         text-align-last: center;
    line-height: 18px;
  }

  .lesson_type .type .spot_or_course .course {
    width: 140px;
    font-size: 14px;
    color: white;
    padding: 10px 0;
    text-align: center;
    -moz-text-align-last: center;
         text-align-last: center;
    line-height: 18px;
  }

  .lesson_type .level .level_img_pc {
    display: none;
  }

  .lesson_type .level .level_img_sp {
    display: block;
  }

  .lesson_type .idea .idea_item {
    -moz-column-gap: 20px;
         column-gap: 20px;
  }

  .lesson_type .idea .idea_item .idea_item_image {
    width: 120px;
  }

  .lesson_type .idea .idea_item .idea_item_paragraph {
    width: calc(100% - 120px);
  }

  .lesson_type .idea .paragraph_1 {
    font-size: 16px;
  }

  .lesson_type .idea .paragraph_2 {
    font-size: 12px;
  }

  .gch_type_lesson .type {
    gap: 15px;
  }

  .gch_type_lesson .type .label {
    font-size: 14px;
  }

  .gch_type_lesson .level {
    gap: 7px;
  }

  .gch_type_lesson .level .label {
    font-size: 14px;
  }

  .introduce .paragraph_1 {
    font-size: 16px;
  }

  .introduce .paragraph_2 {
    font-size: 16px;
  }

  .feature {
    padding: 80px 10px;
  }

  .feature .container .header {
    -moz-column-gap: 20px;
         column-gap: 20px;
  }

  .feature .header .title {
    font-size: 30px;
    white-space: nowrap;
  }

  .feature .header .title img {
    width: 100px;
  }

  .feature_header_left_image {
    width: 82px;
    height: 74px;
  }

  .feature_header_right_image {
    width: 80px;
    height: 70px;
  }

  .feature_item_content .title {
    font-size: 14px;
    line-height: 18px;
  }

  .feature_item_content .description {
    font-size: 12px;
    line-height: 20px;
  }

  .flow {
    padding: 60px 10px;
  }

  .flow .header {
    transform: translateX(-20px);
  }

  .flow .header .header_left {
    display: flex;
    align-items: center;
  }

  .flow .header .header_left_icon {
    width: 100px;
  }

  .flow .header .header_right_icon {
    width: 40px;
    transform: translateY(-12px);
  }

  .flow .header .title p {
    font-size: 36px;
  }

  .flow .header .title img {
    width: 100px;
  }

  .flow .content {
    gap: 35px;
    padding: 0 15px;
  }

  .flow .flow_step .flow_step_image {
    position: relative;
  }

  .flow .flow_step .content_label_item {
    font-size: 18px;
    min-height: 100px;
  }

  .categories {
    padding: 40px 10px;
  }

  .categories .header_cp {
    display: none;
  }

  .categories .header_sp {
    display: block;
  }

  .categories .header_sp .title {
    font-size: 30px;
  }

  .categories .header_sp .title img {
    width: 100px !important;
  }

  .categories .content .list_category {
    gap: 20px;
    padding: 0 30px;
  }

  .student_review {
    padding: 80px 10px 80px;
  }

  .student_review .student_review_item .body .body_top {
      min-height: 250px;
  }

  .student_review .container .header .title {
    font-size: 35px;
    white-space: nowrap;
    transform: translateX(0px);
    margin-top: 20px;
    letter-spacing: 0px;
  }

  .student_review .container .header .student_review_left_image {
    width: 60px;
    height: 80px;
    left: 75px;
    /* transform: translate(70px, 30px);   */
  }

  .student_review .container .header .student_review_right_image {
    width: 83px;
    height: 46px;
    object-fit: contain;
    margin-left: 20px;
    margin-top: -50px;
    transform: translate(-80px, -5px);
  }

  .student_review .container .header .student_review_title_wave {
    scale: 61%;
    position: relative;
    left: -25px;
  }

  .student_review .container .content {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .student_review .container .content .student_review_item .body_top .student_review_star {
    width: 20px;
    height: 20px;
  }

  .student_review .student_review_item .body .lesson_image {
    height: auto;
    max-height: 80px;
  }

  .student_review .student_review_item .body_footer a {
    font-size: 16px;
  }

  .student_review .student_review_item .body_footer i {
    font-size: 16px;
  }

  .news {
    padding: 40px 10px;
  }

  .news .title {
    font-size: 24px;
    font-size: 35px;
  }

    .news .title img {
      width: 100px;
    }

  .news .content {
    margin: 40px 0;
  }

  .news .content .view_more_btn .view_more_link {
    width: 182px;
    font-size: 18px;
    padding: 10px 0;
  }
}

@media (max-width: 1024px) {
  .categories .content {
    background-image: url("/images/home/asset_62_sp.png");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 100% 100%;
    width: 100%;
    height: auto;
    padding: 120px 0;
  }
}

.step-container .step-image-wrapper {
    position: relative;
    width: 100%;
    aspect-ratio: 1;
    margin-bottom: 20px;
}

@media (max-width: 567px) {
    .step-container .step-image-wrapper {
        margin-bottom: 40px;
    }
}

.step-container .step-image-wrapper .step-image-container {
    width: 100%;
    aspect-ratio: 1;
    border-radius: 9999px;
    overflow: hidden;
    background: white;
    display: flex;
    justify-content: center;
    align-items: center;

    /* width: 150px; */
}

.step-container .step-image-wrapper .step-image {
    width: 60%;
    aspect-ratio: 1;
    margin-top: 10px;
}

.step-container .step-image-wrapper .step-image-05-jp {
    margin-top: 25px;
    margin-left: 15px;
}

.step-container .step-image-wrapper .step-icon {
    position: absolute;
    top: -19px;
    left: -5px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.step-container .step-image-wrapper .step-icon-jp {
    top: -14px;
    left: -2px;
 }

.step-container .step-image-wrapper .step-icon .step {
    font-size: 21.61px;
    line-height: 25.94px;
    font-family: "Giulia-Light", sans-serif !important;
    font-weight: 400;
}

@media (max-width: 567px) {
    .step-container .step-image-wrapper .step-icon .step {
        font-size: 19px;
        line-height: 23px;
    }
}

.step-container .step-image-wrapper .step-icon .step-num {
    font-size: 48px;
    line-height: 1;
    font-family: "Giulia-Light", sans-serif !important;
    font-weight: 400;
}

@media (max-width: 567px) {
    .step-container .step-image-wrapper .step-icon .step-num {
        font-size: 42px;
    }
}

.step-container .step-title {
    font-size: 24px;
    line-height: 28.8px;
    text-align: center;
    color: black;
    font-size: 25px;

    width: 230px;
    position: relative;
    left: -40px;
}

.step-container .step-title-jp {
  font-size: 21px;
  top: 5px;
}

@media (min-width: 568px) and (max-width: 1024px) {
    .step-container .step-title {
        left: 0;
        width: auto;
    }
}

@media (max-width: 567px) {
    .step-container .step-title {
        font-size: 18px;
        line-height: 21px;
        left: 0px;
    }

    .step-container .step_jp_03 br {
        display: none;
    }
}
.content-step {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding-left: 15px;
    padding-right: 15px;
    margin: 65px auto 40px auto;
    color: black;
    gap: 35px !important;
}

@media (max-width: 480px) {
    .step-container .step-title {
        left: -10px;
    }
  }

@media (max-width: 414px) {
    .step-container .step-title {
        left: -40px;
    }

        .flow .header .header_left_icon_jp {
          left: 0%;
        }
  }

@media (max-width: 375px) {
    .step-container .step-title {
        left: -45px;
        top: -25px;
    }

     .step-container .step-title-en-05 {
        left: -41px;
        top: -31px;
    }

    .categories .content .list_category .category_item .label {
        font-size: 14px;
    }

    .flow .flow_button {
        top: -20px;
    }
}

@media (min-width: 320px) and (max-width: 375px) {
    .flow .flow_button .membership_regis_btn {
        font-size: 17px !important;
    }
}

@media (max-width: 320px) {
    .step-container .step-title {
        left: -65px;
        font-size: 15px !important;
    }

    .flow{
      padding-top: 100px !important;
    }

    .flow .flow_title {
        font-size: 14px !important;
    }

    .flow .flow_button .membership_regis_btn {
      font-size: 14px !important;
      padding: 10px 0 !important;
    }

    .flow .flow_button .badge_free {
      width: 55px !important;
      height: 55px !important;
      font-size: 20px !important;
    }

   .flow .container .header .title p {
      font-size: 25px !important;
      position: absolute !important;
      left: 20% !important;
      letter-spacing: 0px !important;
    }

     .flow .container .header .title .p_en {
      font-size: 25px !important;
      position: absolute !important;
      left: 50% !important;
      letter-spacing: 0px !important;
    }

    .flow .header .header_left_icon {
      width: 80px;
      top: -35px;
      left: -11px;
    }

    .flow .header .header_right_icon {
      width: 35px;
      top: -20px;
      left: 40px;
    }

    .flow .header .header_right_icon_en {
      top: -10px !important;
      left: 35px;
    }

    .flow .header .title .img_jp{
      top: 25px;
      left: 0% !important;
    }

    .flow .header .title .img_en{
      top: 25px;
      left: 0% !important;
    }
  }

/* STYLE HOME NEW */

.banner {
  position: relative;
  background-image: url("/images/home/asset_107.png") !important;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.banner-inner {
  position: relative;
  max-width: 1440px;
  margin-inline: auto;
  padding-bottom: 95px;
  padding-bottom: 190px;
  padding-top: 15px;
}

.banner .container {
  max-width: 1440px;
  width: min(100%, 1440px);
}

.banner .img_sp {
  display: none;
}

.banner .banner_text {
  position: absolute;
  top: 16%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 31px;
  text-align: center;
  display: flex;
  flex-direction: column;
  width: 320px;
}

.banner .banner_text span {
  position: relative;
  top: 10px;
}

.banner .banner_text p {
  padding-bottom: 0px !important;
  line-height: 51px;
}

.banner .banner_text_en {
   width: 280px !important;
}

.banner .banner_text_2 {
  position: absolute;
  top: 33%;
  left: 60%;
  margin-left: 10px;
  transform: translate(-50%, -50%);
  font-size: 25px;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 5px !important;
  width: 110px;
    line-height: 30px;

}

.banner .banner_text_3 {
  margin-top: 22px;
  position: absolute;
  top: 65%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 19px;
  text-align: center;
  display: flex;
  flex-direction: column;

  /* gap: 5px !important; */
}

.banner .button {
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 5px !important;
  position: relative;
  align-items: center;
}

.banner .button .membership_regis_btn {
  width: fit-content;
  padding-block: 8px;
  padding-inline: 26px;
  background-color: #ED837C;
  border-radius: 9999px;
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  -moz-text-align-last: center;
  text-align-last: center;
  color: black;
  border: none;
  display: flex;
  justify-content: center;
  align-items: center;
  outline: none;
  margin: auto;
}

.banner .button .badge_free {
  width: 70px;
  height: 70px;
  border: 4px solid #ffffff;
  border-radius: 50%;
  background-color: #44BACC;
  color: white;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 25px;
  transform: rotate(15deg);
  position: absolute;
  bottom: calc(50% - 4px);
  right: -5%;
}

@media (min-width: 375px) and (max-width: 568px){
  .banner .img_pc {
    display: none;
  }

  .banner .img_sp {
   display: block;
  }

   .banner .banner_text {
     top:28%;
     font-size: 27px;
     width: 300px;
     left: 52%;
   }

   .banner .banner_text p {
      position: relative;
      width: 95%;
   }

   .banner .banner_text_sp_en {
     width: 268px !important;
   }

   .banner .banner_text_2 {
    width: 80px;
    top: 41%;
    left: 80%;
    font-size: 17px;
    line-height: 20px;
    font-weight: bold;
   }

   .banner .banner_text_3 {
     top: 59%;
     font-size: 14px;
     width: 100%;
   }

   .banner .button {
    top: 73%;
    padding-bottom: 45px;
   }

   .banner .button .membership_regis_btn {
    font-size: 20px;
   }

  .banner .button .badge_free {
    width: 50px;
    height: 50px;
    font-size: 14px;
  }
}

@media (min-width: 1024px) and (max-width: 1366px) {
  .banner .banner_text{
    font-size: 28px;
      width: 268px;
  }

  .banner .banner_text_2 {
    font-size: 23px;
  }

  .banner .banner_text_3 {
    top: 67%;
    font-size: 14px;
  }

  .banner .button .badge_free {
    width: 50px;
    height: 50px;
    font-size: 14px;
  }
}

@media (min-width: 1366px) and (max-width: 1440px) {
  .banner .banner_text_2{
    left: 63%;
  }
}


.register_news {
  display: flex;
  margin: auto;
  max-width:980px;
  /* max-width: 1250px; */
  width: 100%;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 30px;
  margin-top: 20px;
  margin-bottom: 30px !important;
}

.register_news .img {
  width: 143px;
}

.register_news .text{
  font-size: 21px;
  overflow-wrap: anywhere;
  white-space: pre-line;
  width: 100%;
}

@media (min-width: 1024px) and (max-width: 1366px) {
  .register_news .text{
    font-size: 15px;
  }
}

@media (min-width: 375px) and (max-width: 568px){
   .register_news {
     flex-direction: column;
     align-items: start;
     gap: 10px;
     margin-top: 10px;
     padding: 0 10px;
     width: 100%;
   }

    .register_news .text{
    font-size: 15px;
  }

  .register_news .img {
     margin-top: -10px;
     width: 100px;
}
}

.lesson {
  background-color: #ffe9e9 !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding-top: 0;
}

.teacher-genre {
  padding-top: 140px;
}

.teacher-genre .header .sub_text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-top: 12px;
  gap: 4px;
  font-size: 21px;
}

.lesson .header {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 25px;
  width: 100%;
   text-align: center;
   padding-bottom: 65px;
}

.lesson .header_en {
  gap: 0px !important;
}


.lesson .header_en .img_en {
    position: absolute;
  left: 71%;
  top: -48%;
  right: 0%;
}

.lesson .header_jp .img_jp {
    position: absolute;
  left: 77%;
  top: -46%;
  right: 0%;
}


.lesson .header .title {
  font-size: 21px;
  letter-spacing: 2px;
}

.lesson .header .title_en {
  margin-top: 26px;
  letter-spacing: 0px !important;
}

.lesson .header .heading_container {
  font-size: 12px;
  width: 100%;
  display: flex;
  justify-content: center;
  margin-top: -45px;
}

.lesson .header .heading {
  font-size: 48px;
  text-align: center;
  letter-spacing: 6px;
}

.lesson .header .heading > span {
  /* inherit all font related of parent */
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  line-height: inherit;
}

.lesson .header .heading_jp_pc {
  width: 62%;
  width: 100%;
  position: relative;
  left: 5px;
  top: 5px;
  line-height: 50px;
}

.lesson .header .heading_en {
  /* width: 500px; */
  letter-spacing: 0px !important;
  line-height: 60px;
}

.lesson .lesson_headline {
  display: none;
  margin-top: 0;
  text-align: center;
  font-size: 26px;
  color: black;
  margin-bottom: 100px;
}

.lesson .body {
  width: 70%;
  width: 100%;
}

.lesson .card_title {
  /* color: #ED837C !important; */
}

.lesson .button {
  background-color: #ED837C !important;
  width: 100%;
  color: #fff;
  padding: 10px 0px !important;
  border-radius: 30px;
  font-weight: bold;
  font-size: 15px;
  border: none;
}

.lesson .card-body .card-text {
  text-align: left !important;
  width: 100%;

}

.lesson .free_trial {
  border: 1px solid #ED837C;
  font-size: 12px !important;
  color: #ED837C;
}

.lesson_footer {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  padding: 10px 0px;
  padding-bottom: 20px !important;
  margin-top: 40px;
  width: 100%;
  position: relative;
}

.lesson_footer .button_footer {
  width: 275px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #ffe9e9;
  color: #ED837C ;
  border: 2px solid #ED837C;
  padding: 13px 0px ;
  border-radius: 30px;
  font-weight: bold;
  font-size: 27px;
  gap: 10px ;
  margin-top: -11px;
}

.home_main_lesson .button_footer {
  color: black;
}

.lesson_footer .img_en {
   position: absolute;
   left: -9%;
   margin-top: -103px;
  }

  .lesson_footer .img_jp {
   position: absolute;
   left: -9%;
   margin-top: -103px;
  }


.lesson .view_more_link {
  padding: 6px 15px;
  background-color: #ED837C;
  border-radius: 9999px;
  color: black;
  font-size: 14px;
  line-height: 18px;
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
}

.lesson .lesson-card  {
  border-radius: 15px !important;
  overflow: hidden;
  padding-left: 0px !important;
  padding-right: 0px !important;
  width: 215px !important;
}

.lesson .lesson-card  .img-grid  {
  aspect-ratio: 1 / 1;
  object-fit: cover;
  display: block;
}

.lesson .lesson-card .card{
  border: none;
  width: 100% !important;
}

.lesson .genre-item {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.genre-item .card .row {
    width: 100%;
    aspect-ratio: 1;
}

.lesson .genre-item > .lesson-card {
  flex: 1 1 calc(25% - 15px);
}

.lesson .genre-item .card_title {
  width: 100% !important;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
  line-height: 1.4;
  max-height: calc(1.4em * 2);
  height: 60px !important;
}

.lesson .genre-item .card-text {
  width: 100% !important;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
  line-height: 1.4;
  max-height: calc(1.4em * 3);
}

   .lesson .lesson-card .info {
      display: flex;
      gap: 10px;
    }

  .lesson .lesson-card .info .instructor-avatar{
    width: 50px;
    height: auto;
    aspect-ratio: 1;
    border-radius: 100%;
    overflow: hidden;
  }

  .gch .gch_sp .title_en_sp {
    /* width: 230px; */
    /* padding-bottom: 30px !important; */
    width: 90%;
  }

  .lesson .header .heading_jp_sp{
    display: none;
  }

@media (max-width: 768px){

  .lesson .genre-item{
    gap: 17px;
  }

  .lesson .genre-item > .lesson-card {
     flex: 0 0 48%;
  max-width: 48%;
  }
}


@media (max-width: 480px){
      .lesson .container .header {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center !important;
      }
  .lesson .genre-item{
    gap: 17px;
  }
}
@media (max-width: 414px){
  .lesson .genre-item{
    gap: 15px;
  }
}

@media (min-width: 375px) and (max-width: 568px){

  .lesson .genre-item {
    gap: 12px;
  }

  .lesson {
    padding-top: 40px;
  }

  .lesson_en {
    padding-top: 40px;
  }

  .lesson .header .heading_en {
    width: 100% !important;
    line-height: 40px;
    margin-top: 45px !important;
    letter-spacing: -1px !important;
  }

  .lesson .header_en .img_en {
    width: 100px;
    left: 74%;
    top: -31%;
  }



  .lesson .body {
    width: 100%;
  }

  .lesson .header_en .img{
    /* position: relative;
    transform: translate(0%, 0%); */
  }

  .lesson .genre-item .card_title {
    -webkit-line-clamp: 1;
    max-height: calc(1.4em * 1);
    font-size: 16px;
    width: 150px !important;
  }

  .lesson .genre-item .card-text {
    -webkit-line-clamp: 2;
    max-height: calc(1.4em * 2);
    font-size: 14px;
    /* width: 150px !important; */
  }

  .lesson .genre-item {
    /* display: flex;
    flex-wrap: wrap;
    gap: 14px; */
  }

  .lesson .genre-item > .lesson-card {
    flex: 0 0 48%;
    max-width: 48%;
  }

  .lesson .header{
    padding-bottom: 30px;
  }

  .lesson .header .heading {
    font-size: 35px;
    width: 100%;
    margin-top: 30px;
    width: 210px;
  }

   .lesson .header .heading_jp_sp {
     display: block !important;
     /* width: 70%; */
     line-height: 40px;
     width: 100% !important;
   }

  .lesson .header .heading_jp_pc {
    display: none !important;
  }


 .lesson .header .img {
    left: 85%;
    width: 100px;
    left: 70%;
    top: -30%;
  }

  .lesson .header .title {
    font-size: 12px;
  }

  .lesson_footer .button_footer {
    width: 185px;
    font-size: 20px;
    height: 40px;
  }

  .lesson_footer .img {
    left: 0;
    width: 68px;
  }

 .lesson .lesson-card .card  .row .col-6 {
    padding-left: 0px !important;
    padding-right: 0px !important;
  }

  .lesson .lesson-card .card .card-body{
    padding-bottom: 0px !important;
  }



     /* .lesson .lesson-card .info .instructor-avatar{
      width: 50px !important;
      height: 50px !important;
     } */

      .lesson .lesson-card .info p{
       font-size: 12px;
       display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  height: 40px;
  text-align: left;
     }

     .lesson_footer .img_en {
      width: 70px;
      left: 0%;
      margin-top: -20px;
     }

     .lesson_footer .img_jp {
      width: 70px;
      left: 0%;
      margin-top: -20px;
     }


}

@media screen and (max-width: 568px) {
  .lesson {
    padding-top: 80px;
  }

  .teacher-genre_en {
    padding-top: 40px;
  }
}

@media (min-width: 1024px) and (max-width: 1366px) {
  .lesson .header .img {
    left:90%
  }

  .lesson_footer .img {
    left: 0;
  }
}



.experience {
  background-color: #fff !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;

  background-color: #fff !important;
  padding-bottom: 400px !important;
}

.experience .box_text {
  display: flex;
  gap: 10px;
  min-width: 900px;
}

.experience .box_text {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.experience .box_text > div {
  flex: 1 1 calc(25% - 10px);
  height: 170px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;

  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  background-color: #fff;

  font-size: 30px;
}

@media screen and (max-width: 768px) {
  .experience .box_text {
    min-width: 100%;
  }
  .experience .box_text > div {
    flex: 1 1 calc(50% - 10px);
     height: 140px
  }
  
  .teacher-genre_en .header .sub_text {
    font-size: 18px;
  }
}

.experience .box_text .div_1 {
  background-image: url("/images/home/square-1.png");
}

.experience .box_text .div_2 {
  background-image: url("/images/home/square-2.png");
}

.experience .box_text .div_3 {
  background-image: url("/images/home/square-3.png");
}

.experience .box_text .div_4 {
  background-image: url("/images/home/square-4.png");
}



.experience .header {
  display: flex;
  flex-direction: column;
  justify-content: center;
   text-align: center;
}

.experience .header .title_wave {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 25px;
  font-size: 21px;
  position: relative;
  top: -10px;

}

.experience .header .container-img {
  display: flex;
  justify-content: space-between;
  gap: 50px;
}

.experience .header .container-img .img_1 {
  width: 72px;
  height: 67px;
  position: relative;
  left: 60px;
  top: 22px;
}

.experience .header .container-img .img_2{
  position: relative;
  left: 0px;
  top: -6px;
}

.experience .header .heading {
  font-size: 48px;
  letter-spacing: 8px !important;
}

.experience .header .heading_jp {
  position: relative;
  left: 37px;
}

.experience .header .heading_en {
  letter-spacing: 0px !important;
  position: relative;
  left: 32px;
  top: 5px;
}

.experience .header .img_1_jp {
  position: relative;
  width: 72px;
  height: 76px;
  left: -2%;
  top: 20px;
}


.experience .header .img_2_jp {
  position: relative;
  left: 30px;
  left: 10%;
}

.experience .header .title_en {
  letter-spacing: 0px !important;
  position: relative;
  left: -6px;
  top: 4px;
}

.experience .header .title_jp {
  position: relative;
  left: -6px;
  top: 4px;
}
.experience .header .title {
  font-size: 21px;
  letter-spacing: 2px;
  width: 550px;
}

.experience .body {
 position: relative;
 top: -10px;
}

.experience .body .img_sp {
  display: none;
}

.experience .body img {
 margin-top: 20px;
}

.experience .body .img_jp {
  margin-top: 25px;
}

.experience .body .text_1 {
 position: absolute;
 top: 45%;
 left: 23%;
 font-size: 33px;
 transform: translate(-50%, -50%);
 rotate: -3deg;
 text-align: center;
 line-height: 40px;
}

.experience .body .text_2 {
 position: absolute;
 top: 59%;
 left: 40%;
 font-size: 33px;
 transform: translate(-50%, -50%);
 rotate: 5deg;
 text-align: center;
  line-height: 40px;
}

.experience .body .text_3 {
 position: absolute;
 top: 44%;
 left: 59%;
 font-size: 33px;
 transform: translate(-50%, -50%);
 rotate: -4deg;
 text-align: center;
 width: 200px;
 padding-left: 5px !important;
  line-height: 40px;
}

.experience .body .text_4 {
 position: absolute;
 top: 63%;
 left: 75%;
 font-size: 33px;
 transform: translate(-50%, -50%);
 rotate: 9deg;
 text-align: center;
 width: 120px;
 line-height: 40px;
 width: 164px;
}

.experience .body .text_1_en{
  left: 12% !important;
  top: 49% !important;
}

.experience .body .text_2_en {
  top: 63%;
  left: 36%;
}

.experience .body .text_3_en {
  left: 62%;
  top: 47%;
}

.experience .body .text_4_en{
  top: 65%;
  left: 86%;
}

.experience .body .text_1_jp{
  top: 48% !important;
  left: 12% !important;
  font-weight: bold !important;
}

.experience .body .text_2_jp {
  top: 61% !important;
  left: 36% !important;
  margin-left: 5px;
    font-weight: bold !important;
}

.experience .body .text_3_jp {
  top: 47% !important;
  left: 63% !important;
    margin-left: -5px;
      font-weight: bold !important;
}

.experience .body .text_4_jp {
  top: 63% !important;
  left: 87% !important;
    margin-left: 1px;
      font-weight: bold !important;
}


.experience .footer {
  margin-top: 24px;
 position: relative;
 left: -4px;
}

.experience .footer .img_jp {
  position: relative;
  left: 6px;
  top: -4px;
}



.experience .footer .text {
 position: absolute;
 top: 43%;
 left: 53%;
 font-size: 33px;
 transform: translate(-50%, -50%);
 text-align: center;
 width: 350px;
  line-height: 40px;
}

.experience .footer .text_en {
  top: 52%;
}

.experience .footer .text_jp {
  top: 41%;
  letter-spacing: 7px;
    font-weight: bold !important;
}

.experience .footer .experienced_img_1 {
  position: absolute;
  top: 65%;
  left: -62%;
}

.experience .footer .experienced_img_2 {
  position: absolute;
  top: 62%;
  left: 100%;
}

.experience .footer .experienced_img_3 {
  position: absolute;
  top: 126%;
  left: 17%;
}

.experience .footer .experienced_img_1_jp {
  position: absolute;
  top: 57%;
  left: -50%;
}

.experience .footer .experienced_img_2_jp {
  position: absolute;
  top: 55%;
  left: 95%;
}

.experience .footer .experienced_img_3_jp {
  position: absolute;
  top: 114%;
  left: 20%;
}

.experience .sp_only {
    display: none;
}

@media (max-width: 960px) {
  .experience .sp_only {
    display: block;
  }
}

@media (max-width: 768px) {
  .experience .header .container-img .img_2 {
    width: 100px;
    height: 75px;
    left: 0%;
  }

  .experience .body .text_1 {
    font-size: 26px;
  }

   .experience .body .text_2 {
    font-size: 26px;
  }

   .experience .body .text_3 {
    font-size: 26px;
  }

   .experience .body .text_4 {
    font-size: 26px;
  }
}

@media (min-width: 320px) and (max-width: 480px)  {

  .experience {
    padding-bottom: 210px !important;
  }

  .experience_jp {
    padding-top: 100px !important;
  }

  .experience .header_jp {
  width: 100% !important;
 }


 .experience .header .container-img-jp {
   width: 100% !important;
   height: 110px;
 }

 .experience .header .container-img-jp .heading_jp{
  position: absolute;
  left: 5px !important;
 }

 .experience .header .img_1_jp {
  position: relative;
  width: 40px;
  height: 38px;
  left: 1%;
  top: 86px;
}

.experience .header .img_2_jp {
  width: 75px;
  height: 60px;
  top: -15%;
  left: 2% !important;
}

  .experience .header .heading_en {
  width: 85% !important;
  margin-left: 0px !important;
  padding-left: 0px !important;
  padding-right: 0px !important;
  left: 0px !important;
  margin-inline:auto !important;
}


  .experience .footer .title_wave{
    gap: 15px;
  }

  .experience .header .title{
    font-size: 15px !important;
  }

  .experience .header .title_jp{
    font-size: 13px !important;
    left: 2px !important;
    top: 2px !important;
  }

  .experience .header .title_en{
    left: 0px !important;
  }

   .experience .header {
     padding: 0px 0px !important;
     font-size: 15px !important;
  }

  .experience .header .container-img {
    position: relative;
  }


.experience .header .container-img .img_1 {
    position: absolute;
    top: 60% !important;
    right: 50%;
    width: 40px;
    height: 40px;
    left: 0% !important;
  }

  .experience .header .container-img .img_2 {
    position: absolute;
    right: 50%;
    width: 70px;
    height: 60px;
    right: 2% !important;
    margin-top: -40px;
    top: 0px !important;
    left: 81% !important;
  }

  .experience .header .title_wave img{
    position: relative;
    width: 105px;
    top: 10px;
  }
  .experience .header .title_wave .img_jp {
    position: relative;
    width: 105px;
    top: 6px;
  }

  .experience .header .heading {
    line-height: 40px;
    font-size: 32px !important;
    padding-left: 40px;
    padding-right: 40px;
    width: 93%;
    margin-left: 15px;
  }

   .experience .header .heading_jp {
    padding-left: 0px !important;
    padding-right: 0px !important;
    width: 100% !important;
    margin-left: 0px !important;
  }

  .experience .body .img_jp {
    margin-top: 17px;
  }

  .experience .body .text_1_jp {
    top: 43% !important;
    font-size: 12px !important;
     line-height: 15px;
     left: 13% !important;
  }

    .experience .body .text_2_jp {
   top: 55% !important;
   left: 36% !important;
  }

  .experience .body .text_3 {
    top: 47% !important;
    font-size: 12px !important;
     width: 55px;
        line-height: 15px;
        left: 61%
  }

     .experience .body .text_3_jp {
   top: 43% !important;
   left: 65% !important;
  }

    .experience .body .text_4_jp {
   top: 57% !important;
   left: 87% !important;
  }


  .experience .body .text_3_en {
    top: 44% !important;
        left: 62% !important
  }

  .experience .body .text_4 {
    top: 60% ;
    font-size: 12px !important;
     width: 40px;
      line-height: 15px;
      left: 84%;
      width: 55px;
  }

    .experience .body .text_4_en {
      top: 60% !important;
      left: 86%;
      rotate: 7deg;
    }

    .experience .footer {
      display: flex;
      justify-content: center;
      margin-top: -7px;
    }

    .experience .footer .img_en {
      position: relative;
      left: -10px;
      width: 68%;
    }

    .experience .footer .img_jp{
      width: 66%;
      top: 9px;
      left: -3px;
    }


  .experience .footer .text {
       font-size: 21px ;
       line-height: 27px;
       left: 51%;
       top: 40%;
       width: 50%;
       margin-top: 26px;
  }

  .experience .footer .text_en {
      font-size: 23px !important;
       line-height: 27px;
       left: 48% !important;
       top: 42% !important;
       width: 55%;
  }

  .experience .footer .text_jp {
      font-size: 17px !important;
       line-height: 23px;
       left: 50% !important;
       top: 39% !important;
       width: 55%;
  }

  .experience .footer .experienced_img_1 {
    width: 110px;
    top: 95%;
    left: 2%;
  }

   .experience .footer .experienced_img_3 {
    width: 110px;
    top: 120%;
    left: 37%;
  }

   .experience .footer .experienced_img_2 {
    width: 110px;
    top: 83%;
    left: 71%;
  }

  .experience .footer .experienced_img_1_jp {
    width: 110px;
    top: 96%;
    left: 3%;
  }

   .experience .footer .experienced_img_3_jp {
    width: 110px;
    top: 123%;
    left: 37%;
  }

   .experience .footer .experienced_img_2_jp {
    width: 110px;
    top: 84%;
    left: 71%;
  }
}

@media (max-width: 375px) {
  .experience .header .heading_en {
    width: 100% !important;
  }
}

@media (max-width: 320px) {
   .experience .body .text_4_jp {
    left: 88% !important;
   }

      .experience .header .container-img .img_2 {
        left: 78% !important;
      }
  .experience .header .container-img-jp .heading_jp {
    font-size: 25px !important;
  }
  .experience .footer .text {
    font-size: 18px !important;
    margin-top: 18px !important;
  }

    .experience .footer .text_jp {
    font-size: 15px !important;
     line-height: 18px;
     left: 50% !important;
     top: 43% !important;
     width: 70%;
  }

  .experience .footer .experienced_img_1 {
    width: 90px;
  }

  .experience .footer .experienced_img_3 {
    width: 90px;
  }

  .experience .footer .experienced_img_2 {
    width: 90px;
  }

   .experience .footer .experienced_img_1_jp {
    width: 90px;

  }

   .experience .footer .experienced_img_3_jp {
    width: 90px;

  }

   .experience .footer .experienced_img_2_jp {
    width: 90px;

  }
}


.learning {
   background-color: #C4E2E5 !important;
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
   padding-top: 100px;
}


.learning .header {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
   text-align: center;
}

  .learning .header .heading_en br {
      display: none;
    }

.learning .header .img_1 {
  position: absolute;
  left: 1% !important;
}

.learning .header .img_1_en {
  position: absolute;
  left: 1% !important;
}

.learning .header .img_2 {
    position: absolute;
  top: -15px;
  right: 10%;
}

.learning .header .img_2_en {
  position: absolute;
  top: -15px;
  right: 10%;
}

.learning .header .heading {
  font-size: 48px;
  letter-spacing: 6px !important;
}

.learning .header .heading_en {
  letter-spacing: 0px !important;
  position: relative;
  top: 5px;
}

.learning .header .heading_jp {
  letter-spacing: 5px !important;
  position: relative;
  top: 1px;
  left: 0px;
}

.learning .header .heading_jp {
  padding-left: 21px;
}

.learning .header .title_wave img{
  position: relative;
  top: -5px;
}

.learning .header .title {
  font-size: 18px;
  margin-top: 18px;
  text-align: left !important;
}

.learning .body {
 display: flex;
 justify-content: center;
 align-items: center;
 margin-top: 27px;
}

.learning .body .box {
  position: relative;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.learning .body .box .img_header {
   position: absolute;
   top: -23px;
   left: 20%;
}

.learning .body .box .img_header_2 {
   position: absolute;
   top: -21px;
   left: 15%;
}

  .learning .body .box .title_jp {
      top: 35% !important;
    }

    .learning .body .box .text_jp {
      top: 38% !important;
    }


.learning .body .box .title {
   position: absolute;
   top: 37%;
   left: 8%;
   font-size: 21px;
}

.learning .body .box .text {
   position: absolute;
   top: 43%;
   left: 8%;
   font-size: 19px;
   padding-right: 20px;
   line-height: 164%;
   font-weight: 500 !important;
}

.learning .footer {
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: left;
   margin: 0 auto;
   padding: 20px 0px;
   padding-bottom: 20px !important;
}

.learning .footer .text {
  font-size: 18px;
}

.learning .footer .text_en {
  margin-top: 45px;
}

.learning .footer .text_jp {
  margin-top: 48px;
}

.learning .footer .title_type {
  font-size: 20px !important;
}

.learning .footer .lesson_type {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 0px 0px;
  position: relative;
  top: -10px;
}

.learning .footer .types {
  display: grid;
  grid-template-columns: 1fr 1fr;
  width: min(626px, 100%);
  gap: 20px;
}

.learning .footer .types .spot,
.learning .footer .types .course {
  display: flex;
  justify-content: center ;
  align-items: center;
  height: 50px;
  text-align: center;
  /* padding: 15px 0; */
  color: #fff;
  font-size: 21px;
  line-height: 108%;
}

.learning .footer .types .spot {
  background-color: #44BACC;
}

.learning .footer .types .course {
  background-color: #46CC98;
}

.learning .footer .lesson_level {
  text-align: center;
        font-size: 32px;
        font-weight: bold;
        padding-bottom: 0px !important;
}

.learning .footer .lesson_level_title {
  margin-top: 40px;
  letter-spacing: 4px;
}

.learning .footer .lesson_level_title_en {
  margin-top: 57px;
}

.lesson-container {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 10px;
        flex-wrap: wrap;
        padding-left: 0px;
        position: relative;
        top: -6px
}

/* .level {
        display: flex;
        align-items: stretch;
        background: #fff;
        border-radius: 5px;
        box-shadow: 0px 2px 4px rgba(0,0,0,0.2);
        overflow: hidden;
        min-width: 186px;
        max-width: 186px;
        height: 50px;

} */
/*
.level-number {
        color: #fff;
        font-weight: bold;
        display: flex;
        align-items: center;
        justify-content: center;
        clip-path: polygon(0 0, 100% 0, 70% 100%, 0% 100%);
        font-size: 50px;
        width: 100px;
}

.level-text {
  padding: 0 7px;
  font-size: 14px;
  font-weight: 500;
  display: flex;
  align-items: center;
  white-space: nowrap;
  text-align: center !important;
  font-weight: bold;
  width: 100%;
} */

/* .level-1 .level-number { background: linear-gradient(90deg, #9acd32, #8fd14f); }
.level-2 .level-number { background: linear-gradient(90deg, #00c9b7, #00b8a9); }
.level-3 .level-number { background: linear-gradient(90deg, #00aaff, #0095dd); }
.level-4 .level-number { background: linear-gradient(90deg, #4285f4, #3367d6); }
.level-5 .level-number { background: linear-gradient(90deg, #a78bfa, #8b6ff0); } */

 /* .learning .footer .types .spot,
  .learning .footer .types .course br {
    display: none;
  } */

  .learning .footer .types .spot br {
    display: none;
  }

  .learning .footer .types .course br {
    display: none;
  }

  @media (min-width: 320px) and (max-width: 480px) {

    .learning .header .heading_en {
      font-size: 32px;
      line-height: 35px;
    }
    .learning .header .heading_en br {
      display: block;
    }

    .learning .header .img_1_en {
      width: 88px;
      left: -8% !important;
      top: 36%;
    }

    .learning .header .img_2_en {
      width: 39px;
      right: -2% !important;
      top: 10%;
    }

    .learning .header .title_wave img {
      width: 110px;
      position: relative;
      top: 4px;
    }

    .learning .header .title {
      font-size: 14px;
      white-space: normal;
      line-height: 25px;
    }

    .learning .body {
      flex-direction: column;
      gap: 20px;
      margin-top: 5px;
    }

    .learning .body .box .img_bg {
      /* height: 270px; */
      width: 100%;
    }

    .learning .body .box .img_header {
      width: 55%;
    }

    .learning .body .box .img_header_2 {
      width: 60%;
      left: 15%;
    }

    .learning .body .box .title {
      font-size: 16px;
      top: 40%;
    }

    .learning .body .box .text {
      font-size: 14px;
      top: 43%;
    }

    .learning .footer .text_en {
      font-size: 14px;
    }

    .learning .footer .lesson_level {
      font-size: 21px;
    }

    .learning .footer .types .spot,
.learning .footer .types .course {
      font-size: 14px;
}

.learning .footer .types .spot br,
 .learning .footer .types .spot,
.learning .footer .types .course br {
  display: flex;
}

.learning .footer .lesson_level_title_en {
  margin-top: 35px;
}

.lesson-container .level {
  max-width: 100%;
  min-width: 100%;
}

.level-text {
  display: flex !important;
  justify-content: center ;
}

.lesson-container .level br {
  display: none;
}

.learning .body .box .title {
}
    .learning .body .box .text {
      line-height: 164% !important;
      top: 45%;
    }

    .learning .body .enjoy_box .text {
    line-height: 164% !important;
    top: 41% !important;
  }
  }


@media (min-width: 1024px) and (max-width: 1366px){
  .learning {
    padding-top: 20px;
    padding-bottom: 25px;
  }

  .learning .header .img_1 {
    left: -120px;
  }

  .learning .header .img_2 {
    right: -20px;
  }

  .learning .body .box_1 {
    width: 330px;
    margin-left: 35px;
    top: 80%;
  }

  .learning .body .box_2 {
        width: 330px;
    left: 70%;
    top:80%;
  }

  .learning .body .box_1 .title {

    font-size: 14px !important;
  }

  .learning .body .box_1 .text {
    width: 90%;
    font-size: 12px;
  }

  .learning .body .box_2 .title {
    font-size: 15px !important;
  }

  .learning .body .box_2 .text {
     width: 90%;
     font-size: 12px;
  }

  .learning .footer .text {
    font-size: 15px;
    padding-left: 0;
  }

  .learning .footer .lesson_type {
    width: 100%;
  }
}

@media (max-width: 320px){
  .learning .body .box .title{
    font-size: 14px;
  }

  .learning .body .enjoy_box .text {
    font-size: 12px !important;
  }

  .learning .body .box .text{
    font-size: 12px !important;
  }
}



.flow {
  /* background-color: #FFE9E9 !important; */
  background-color: #C4E2E5 !important;

}

.flow .flow_text {
  margin-top: 10px;
  font-size: 21px;
  text-align: center;
}

.flow .container .header .title p {
  position: relative;
  left: -43px;
  letter-spacing: 7px;
}

.flow .flow_button {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

.flow .flow_button .membership_regis_btn {
  width: fit-content;
  -moz-text-align-last: center;
       text-align-last: center;
  outline: none;
  margin-top: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 8px 32px;
  font-weight: bold !important;
  font-size: 27px;
  position: relative;
  text-align: center;
  background: #ED837C;
  border: 2px solid #ED837C;
  border-radius: 9999px;
  color: black;
  line-height: inherit;
}

.flow .flow_button .badge_free {
  width: 70px;
  height: 70px;
  border: 4px solid #ffffff;
  border-radius: 50%;
  background-color: #44BACC;
  color: white;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 25px;
  transform: rotate(15deg);
  position: absolute;
  bottom: calc(50% - 15px);
  right: -3%;

}

.flow .flow_title {
  text-align: center;
  font-size: 21px;
  margin-top: 18px;
}

.flow .flow_title_jp {
  margin-top: 26px;
  letter-spacing: 2px;
}

.flow {
  background: #FFD7D7 !important;
}

@media (min-width: 375px) and (max-width: 568px) {
      .flow {
        padding-top: 130px;
      }

          .flow .content{
            margin-top: 60px !important;
          }

    .flow_sp_en {
      padding-top: 60px !important;
    }
  .flow .container .header {
    display: flex !important;
    margin-left: 40px;
  }

  .flow .container .header .title p {
  position: relative;
  left: 22px !important;
}

 .flow .container .header .title_jp p {
  position: absolute;
  top: -15px;
  letter-spacing: -2px !important;
  left: 0px !important;
}

  .flow .header .title img {
    position: relative;
    left: 20px;

  }

   .flow .header .title .img_jp {
     position: absolute;
     left: 33% !important;
     margin-top: 33px !important;
  }

  .flow .header .title .img_en {
    position: absolute;
    left: 33% !important;
    margin-top: 43px !important;
  }

  .flow .flow_title {
    margin-left: 0;
    font-size: 17px;
    font-size: 19px;
  }

  .flow .flow_title_jp {
   margin-top: 50px !important;
   font-size: 17px !important;
  }

  .flow  .flow_title_en {
    margin-top: 7px !important;
  }

  .flow .flow_button .membership_regis_btn {
    font-size: 17px;
    line-height: 20px;
    padding: 8px 32px;
    border-radius: 9999px;
  }

  .flow .flow_button .badge_free {
    width: 50px;
    height: 50px;
    font-size: 15px;
  }

  .flow .header .header_left_icon {
    position: absolute;
    top: 0%;
    left: 10%;
    width: 100px;
}

  .flow .header .header_left_icon_jp {
    position: absolute;
    left: -16%;
    margin-top: -61px;
}

.flow .header .header_left_icon_en {
    position: absolute;
    left: -3%;
    margin-top: 5px;
    width: 107px;
}


.flow .header .header_right_icon {
    left: 20px;
    top: 10px;
}

.flow .header .header_right_icon_jp {
   margin-left: 214px;
   margin-top: -60px;
   width: 50px;
}

.flow .header .header_right_icon_en {
    width: 45px;
    top: -10px !important;
    left: 35px;

}

.flow .header .title p {
  position: relative;
  font-size: 35px !important;
  width: 100%;
}

.step-container .step-image-wrapper .step-icon-jp {
  top: -26px;
  left: 0px;
}

.step-container .step-image-wrapper .step-image {
  margin-top: 0px;
  width: 80px;
}

.step-container .step-image-wrapper .step-icon{
  top: -23px;
  left: 4px;
}

.step-container .step-image-wrapper .step-icon-en-02 {
  top: -26px;
  left: -2px;
}

.step-container .step-image-wrapper .step-icon-en-03 {
  top: -27px;
  left: 0px;
}

.step-container .step-image-wrapper .step-icon-en-04 {
  top: -27px;
  left: 0px;
}

.step-container .step-image-wrapper .step-icon-en-05{
  top: -32px;
  left: 0px;
}

.step-container .step-image-wrapper .step-icon-jp-02 {
      top: -20px !important;
      left: -3px !important;
}
}

@media (max-width: 1366px) and (min-width: 1024px) {
  .flow .flow_button .badge_free {
    width: 100px;
    height: 100px;
    font-size: 25px;
  }
}

@media (max-width: 480px) {
  .flow .header .header_left_icon_jp {
    left: 0px;
  }
}

@media (max-width: 375px) {
  .flow .header .header_left_icon_jp {
    left: -16%;
  }
}

.home-guide-video {
  background-color: #fff !important;
  padding-top: 115px;
}

.home-guide-video .header {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
}

.home-guide-video .header .header_left {
 position: relative;
 left: -18px;
 top: 10px;
}

.home-guide-video .header .header_right {
 position: relative;
 right: 10px;
}

.home-guide-video .video-wrapper .description {
  font-size: 22px;
  text-align: center;
}

.home-guide-video .video-wrapper .description br {
  display: none;
}

.home-guide-video .video-wrapper .footer br {
  display: block;
}

.home-guide-video .video-wrapper .footer {
  margin-top: 20px;
  text-align: left !important;
  letter-spacing: 2px !important;
  font-size: 17px;
  position: relative;
  left: -5px;
  top: 10px;
}

.home-guide-video .video-wrapper .footer_en{
  letter-spacing: 0px !important;
}


.home-guide-video .video-wrapper .des-footer {
    text-align: left;
     font-size: 18px;
}

.home-guide-video .video-button {
  width: 305px;
  text-align: center;
  padding: 10px 0;
  color: #fff;
  margin-top: 40px;
}

.video-button.english {
  background-color: #ED837C;
  font-size: 18px;
}

.video-button.cantonese {
  background-color: #44BACC;
  font-size: 18px;
}

.home-guide-video .video-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 10px 0px;
  padding-bottom: 20px !important
}

.home-guide-video .video-wrapper .footer .span {
    margin-left: 35px;
}


.home-guide-video .video-wrapper .title_en {
   width: 100%;
   letter-spacing: 0px !important;
}

.home-guide-video .video-wrapper .header .title_sp {
  display: none;
}

.home-guide-video .video-wrapper .header .title_jp br {
  display: none;
}

@media (min-width: 375px) and (max-width: 568px){

  .home-guide-video .video-wrapper .footer .span {
    margin-left: 27px;
  }

  .home-guide-video {
    padding-bottom: 0px;
  }

  .home-guide-video .video-wrapper .title{
    /* left: -5px; */
  }

  .home-guide-video .video-wrapper .header {
     flex-wrap: nowrap;
     gap: 0px !important;
  }

  .home-guide-video .video-wrapper .title_en {
   display: none;
  }

  .home-guide-video .video-wrapper .header .title{
    font-size: 35px;
    white-space: normal;
    width: 440px;
    line-height: 40px;
  }

  .home-guide-video .video-wrapper .header  .title_jp{
  width: 100% !important;
  position: absolute;
  /* left: 1% !important; */
  padding-left: 9px;
  }

  .home-guide-video .video-wrapper {
  gap: 5px;
  }

  .home-guide-video .video-wrapper .header .title_jp {
  letter-spacing: 0px !important;
  }

  .home-guide-video .video-wrapper .header .title_jp br{
   display: block;
  }

  .home-guide-video .video-wrapper .header  .title_sp {
    display: block;
    letter-spacing: -1px !important;
  }

  .home-guide-video .video-wrapper .header .header_left {
    position: relative !important;
    top: 46px !important;
    left: 20px !important;
    width: 90px;
    /* transform: scale(0.9); */
    /* object-fit: contain; */
  }

  .home-guide-video .video-wrapper .header .header_right{
    position: relative !important;
    top: -79px !important;
    right: 40px !important;
    width: 70px;
    /* object-fit: contain;
    scale: 0.75; */
  }

  .home-guide-video .video-wrapper .header .header_right_jp{
    right: -98px !important;
    top: -89px !important;
  }

   .home-guide-video .video-wrapper .header .header_left_jp{
    left: -120px !important;
    top: 52px !important;
  }

  .home-guide-video .video-wrapper .footer  {
    font-size: 14px;
    text-align: left !important;
    letter-spacing: 0px !important;
  }

  .home-guide-video .video-wrapper .video_title {
    text-align: center !important;
    font-size: 15px !important;
    /* width: 75%; */
  }

  .home-guide-video .video-button {
    /* margin-top: 15px; */
  }

  .home-guide-video .video-wrapper .footer {
    top: -17px;
    display: flex;
    flex-direction: column;
    gap: 5px;
  }

  .home-guide-video .video-wrapper .footer p {
    margin: 0px;
  }

  .home-guide-video .video-wrapper .footer p img {
    width: 25px;
  }

  .home-guide-video .video-wrapper .separator{
        margin-top: 10px;
        margin-bottom: 10px;
        position: relative;
        top: -8px
  }

  .home-guide-video .video-wrapper .description{
        margin-bottom: 15px;
  }

  .home-guide-video .video-wrapper .description br {
    display: block;
  }

  .home-guide-video .video-button {
        width: 227px;
        padding: 5px 0px;
        margin-top: 22px;
  }

  .home-guide-video .video-wrapper .video-content {
        gap: 10px;
  }

  .home-guide-video .video-wrapper .video-element {
    width: 350px;
    height: 200px;
  }

      .home-guide-video .video-wrapper .separator_jp{
        margin-top: 45px !important;
      }
}

@media (min-width: 320px) and (max-width: 375px) {
    .home-guide-video .video-wrapper .footer {
        font-size: 14px;
    }
}

@media (max-width: 320px) {
  .home-guide-video{
        padding-bottom: 20px;
        padding-top: 100px;
  }

  .home-guide-video .video-wrapper .description br {
    display: block;
  }

  .home-guide-video .video-wrapper .header .title {
    width: 330px;
    white-space: normal;
    left: 0px;
    font-size: 25px;
    letter-spacing: 1px;
  }

  .home-guide-video .video-wrapper .header .header_left {
    width: 60px;
    left: 40px;
    top: 70px;
  }

  .home-guide-video .video-wrapper .header .header_right {
    top: -80px;
    right: 50px;
    width: 50px;
  }

  .home-guide-video .video-wrapper .description {
        font-size: 15px;
  }

  .home-guide-video .video-button {
        width: 225px;
        font-size: 15px;
        margin-top: 20px;
  }

  .home-guide-video .video-wrapper .footer {
    font-size: 12px;
    letter-spacing: 0px !important;
  }

  .home-guide-video .video-wrapper .footer p img {
    width: 20px;
  }
  .home-guide-video .video-wrapper .footer .span {
    margin-left: 20px;
  }
}



.genre-item .card-text {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;line-height: 1.5em;
    height: calc(1.5em * 2);
    min-height: calc(1.5em * 2);
    max-height: calc(1.5em * 2);
}


@media (min-width: 375px) and (max-width: 568px) {
  .news .container .content .list_new .new_item div {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    text-align: left !important;
  }

   .news .container .content .list_new .new_item div .datetime{
    width: 100%;
    text-align: left !important;
   }

   .news .container .content .list_new .new_item div .title{
    width: 100%;
    text-align: left !important;
    letter-spacing: 0px !important;
   }
}

.student_review .title {
  white-space: nowrap;
}

.student_review .student_review_item .view_lesson {
  width: 180px !important;
}

.student_review .student_review_item .body_footer a {
  font-size: 19px !important;
  text-decoration: none !important;
}

 .student_review .container .header  {
    gap: 40px;
  }
@media (min-width: 375px) and (max-width: 568px) {

  .student_review .container .header .title {
    position: absolute;
    left: 0px;
    width: 100%;
    font-size: 30px ;
  }

  .student_review .title .p_en {
    width: 100%;
    left: 0px;
    font-size: 33px;
  }


  .student_review .title .p_jp {
    width: 100%;
    left: 0px;
    font-size: 33px;
    letter-spacing: 1px !important;
  }

  .student_review .container .header .student_review_title_wave {
    left: 0px;
    top: -4px;
  }

  .student_review .container .header .student_review_title_wave_jp {
     width: 107px;
     position: relative;
     left: 0px;
     top: 4px;
  }

  .student_review .container .header .student_review_left_image {
       left: -19%;
       top: -15px;
  }

  .student_review .container .header .student_review_left_image_jp{
      left: -22%;
       top: 30px;
  }

  .student_review .container .header .student_review_right_image {
        left: 46%;
        top: 0px;
  }

   .student_review .container .header .student_review_right_image_jp {
        position: relative;
        left: 45%;
  }

  .student_review .container .header  {
    display: flex !important;
  }

  .student_review .student_review_item .body_footer a {
  font-size: 15px !important;
}

}

@media (max-width: 320px) {
   .student_review .container .header .title {
    position: absolute;
    left: 0px;
    width: 100%;
    font-size: 30px ;
  }

  .student_review .title .p_en {
    width: 100%;
    left: 0px;
    font-size: 28px;
  }

  .student_review .container .header .student_review_title_wave {
    left: 0px;
    top: -4px;
  }

    .student_review .container .header .student_review_title_wave_jp {
     width: 107px;
     position: relative;
     left: 0px;
     top: 4px;
  }

  .student_review .container .header .student_review_left_image {
       left: -19%;
       top: -15px;
  }

  .student_review .container .header .student_review_left_image_jp{
      left: -19%;
       top: 30px;
  }

  .student_review .container .header .student_review_right_image {
        left: 46%;
  }

   .student_review .container .header .student_review_right_image_jp {
        position: relative;
        left: 45%;
  }

}



/* TOP - News fixes */
@media screen and (max-width: 375px) {
  .news .content {
    margin-top: 27px;
  }

  .news .container .content .list_new .new_item div .datetime {
    font-size: 14px;
  }

  .news .container .content .list_new .new_item div .title {
    font-size: 14px;
  }

  .news .container .content .list_new .new_item div {
    gap: 0px;
  }

  .news .content .view_more_btn {
    margin-top: 22px;
  }
}


/* ===========================
 * TOP - Banner fixes
 =========================== */

/* EN */

.banner .learn-jp img {
  transform-origin: top;
  position: relative;
}

.banner .learn-jp {
  margin: auto;
  width: fit-content;
  transform: translateX(-4px);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 40px;
}

.learn-jp__content {
  top: 12px;
  position: absolute;
  font-size: 52px;
  line-height: 118%;
  text-align: center;
  color: #000000;
}

.banner .main-content {
  margin: auto;
  text-align: center;
  width: fit-content;
  position: relative;
  margin-top: -8px;
}

.banner .pc {
  display: block;
}

.banner .sp {
  display: none;
}

.main-content__main-image p {
  margin: 0;
  position: absolute;
  bottom: 0;
  width: 100%;
  text-align: center;
}

.main-content__surrounding {
  position: absolute;
  top: 0;
  left: 0;
}

.main-content__surrounding-1 {
  top: -95px;
  left: -17px;
}

.main-content__surrounding-2 {
  top: auto;
  left: 30px;
  bottom: -22px;
}

.main-content__surrounding-3 {
  top: auto;
  left: auto;
  bottom: 0px;
  right: 80px;
}

.main-content__lesson-scene {
  position: absolute;
  top: -67px;
  right: -29px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.main-content__main-image p {
  font-size: 22px;
  margin: 0;
  position: absolute;
  bottom: 10px;
  width: 100%;
  text-align: center;
  color: black;
}

.main-content__lesson-scene .content {
  position: absolute;
  font-size: 42px;
  width: 129px;
  line-height: 87%;
  top: 92px;
  left: 49px;
  text-align: center;
  color: #000000;
}

.main-content__lesson-scene p {
  font-size: 39px;
  line-height: 98%;
  margin: 0;
  position: absolute;
  top: 44%;
  left: 22%;
  width: fit-content;
  text-align: center;
  color: black;
}

.home_jp .main-content__lesson-scene p {
  font-size: 30px;
  font-weight: bold;
  line-height: 122%;
  top: 47%;
  left: 22%;
}

.main-content .from-text {
  font-size: 20px;
  position: absolute;
  bottom: -5px;
  text-align: center;
  width: 100%;
  letter-spacing: 0.8;
  color: #000000;
}

.banner-surrounding {
  position: absolute;
  text-align: center;
}

.banner-surrounding .sp {
  display: none;
}

.banner-surrounding-1 {
  top: 4.7%;
  left: 11%;
}

.banner-surrounding-2 {
  top: 29.7%;
  left: 2%;
}

.banner-surrounding-3 {
  top: 63%;
  left: 7.3%;
}

.banner-surrounding-4 {
  top: 76%;
  left: 20%;
}

.banner-surrounding-5 {
  top: 3%;
  left: auto;
  right: 13%;
}

.banner-surrounding-6 {
  top: 23.4%;
  right: 2%;
}

.banner-surrounding-7 {
  top: 57.3%;
  right: 2.5%;
}

.banner-surrounding-8 {
  top: 74.8%;
  right: 17.2%;
}

.banner .button_block {
  min-height: 105px;
}

.banner .button_block_inner {
  position: absolute;
}

.banner .button .membership_regis_btn {
  position: relative;
}

.button_under_text {
  text-align: center;
  margin-top: 0;
  margin-bottom: 0;
  margin-inline: auto;
  font-size: 24px;
  line-height: 120%;
  padding-left: 85px;
  padding-block: 14px;
  position: relative;
  width: fit-content;
}

.button_under_text img {
  position: absolute;
  top: 50%;
  transform: translateY(-50%) scaleX(-100%);
  width: 90px;
  left: 0;
}

.button_under_text_2 {
  margin-block: 0;
  margin-inline: auto;
  padding-block: 18px;
  text-align: center;
  font-size: 24px;
  line-height: 120%;
  white-space: nowrap;
  padding-top: 6px;
  padding-bottom: 40px;
}

.banner .button .find_lesson_btn,
.gch .button .find_lesson_btn,
.learning .button .find_lesson_btn {
  width: fit-content;
  padding-block: 8px;
  padding-inline: 26px;
  background-color: #f8b3b9;
  border-radius: 9999px;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  -moz-text-align-last: center;
  text-align-last: center;
  color: black;
  border: none;
  display: flex;
  justify-content: center;
  align-items: center;
  outline: none;
  margin: auto;
}

/* .banner .button .membership_regis_btn::after {
  content: url("/images/home/top-banner-free.png");
  position: absolute;
  top: -26px;
  right: -22px;
} */

@media screen and (max-width: 1399px) {
  .banner-surrounding img {
    scale: 0.8;
  }
}

@media screen and (max-width: 1280px) {
  .banner-surrounding img {
    scale: 0.8;
  }

  .banner .main-content {
    width: min(690px, 100%);
  }
}

@media screen and (max-width: 1024px) {
  .banner-surrounding img {
    display: none;
  }
  .banner-surrounding .sp {
    display: block;
    scale: 1;
  }
  .banner .button {
    top: 73%;
    padding-bottom: 20px;
  }
  .banner .pc {
    display: none;
  }
  .banner .sp {
    display: block;
  }
}

@media screen and (max-width: 1024px) {
  .banner-inner {
    width: min(375px, 100%);
    padding-top: 104px;
    padding-bottom: 141px;
  }

  .banner .learn-jp {
    width: min(284px, 100%);
    left: 6px;
    position: relative;
  }

  .home_jp .banner .learn-jp {
    width: min(277px, 100%);
    left: 5px;
    position: relative;
  }

  .learn-jp__content {
    top: 10px;
    left: 26px;
    line-height: 123%;
    font-size: 35px;
    font-weight: 500;
    letter-spacing: 0;
  }

  .banner .main-content {
    margin: auto;
    text-align: center;
    width: fit-content;
    position: relative;
    margin-top: 6px;
    width: min(100%, 352px);
  }

  .main-content__main-image p {
    font-size: 14px;
    bottom: 4px;
  }

  .main-content__surrounding-1 {
    top: -91px;
    left: -13px;
    scale: 0.7;
  }

  .main-content__surrounding-2 {
    top: auto;
    left: -18px;
    bottom: -31px;
    scale: 0.7;
  }

  .main-content__surrounding-3 {
    top: auto;
    left: auto;
    bottom: -19px;
    right: -16px;
    scale: 0.55;
  }

  .main-content__lesson-scene {
    position: absolute;
    top: -99px;
    right: -94px;
    display: flex;
    align-items: center;
    justify-content: center;
    scale: 0.5;
  }

  .main-content__lesson-scene p {
    font-size: 45px;
    top: 41%;
    left: 21%;
  }

  .home_jp .main-content__lesson-scene {
    top: -98px;
    right: -94px;
  }

  .home_jp .main-content__lesson-scene p {
    font-size: 36px;
    top: 45%;
    left: 19%;
  }

  .main-content .from-text {
    font-size: 13px;
    position: absolute;
    bottom: -11px;
    text-align: center;
    width: 100%;
    letter-spacing: 0.7 !important;
  }

  .home_jp .main-content .from-text {
    bottom: -9px;
  }

  .banner .button .membership_regis_btn {
    width: 180px;
    font-size: 17px;
    letter-spacing: 0 !important;
    padding-inline: 0;
    line-height: 124%;
    margin-top: 0;
  }

  .banner .button_block_inner {
    position: relative;
  }

  .banner .button .find_lesson_btn,
  .gch .button .find_lesson_btn,
  .learning .button .find_lesson_btn {
    width: 150px;
    font-size: 14px;
    margin-top: 0;
    letter-spacing: 0 !important;
    padding-inline: 0;
    line-height: 124%;
    top: auto;
    left: auto;
    position: relative;
    transform: none;
  }

  .button_under_text {
    font-size: 16px;
    position: relative;
    margin-bottom: 0;
    margin-top: 0;
    padding-left: 55px;
  }

  .button_under_text img {
    width: 56px;
  }

  .button_under_text_2 {
    font-size: 15px;
    padding-bottom: 24px;
    padding-top: 4px;
    padding-left: 14px;
  }

  .banner_ja .button_under_text_2 {
    padding-bottom: 24px;
    padding-top: 4px;
    padding-left: 40px;
    font-size: 14px;
  }

  .home_jp .banner .button .membership_regis_btn {
    padding-block: 8px;
  }

  /* .banner .button .membership_regis_btn::after {
    top: -30px;
    right: -29px;
    scale: 0.55;
  } */

  .banner-surrounding-1 {
    top: -8px;
    left: 98px;
  }

  .banner-surrounding-2 {
    top: 46px;
    left: -3px;
  }

  .banner-surrounding-3 {
    top: 79.6%;
    left: -18px;
  }

  .banner-surrounding-4 {
    top: 81%;
    left: 27%;
  }

  .banner-surrounding-5 {
    top: 1%;
    left: auto;
    right: 17%;
  }

  .banner-surrounding-6 {
    top: 11.4%;
    right: -3%;
  }

  .banner-surrounding-7 {
    top: 80.7%;
    right: -4.5%;
  }

  .banner-surrounding-8 {
    top: 83.4%;
    right: 24.2%;
  }
}

@media screen and (max-width: 600px) {
  .banner .learn-jp img {
    /* scale: 0.96; */
    width: 279px;
  }

  .teacher-genre_ja .header .sub_text {
    font-size: 14px;
  }
}

@media screen and (max-width: 374px) {
  .main-content .from-text {
    font-size: 12px;
    bottom: -12px;
  }
}

@media screen and (max-width: 350px) {
  .main-content .from-text {
    font-size: 10px;
    bottom: -11px;
  }
}

@media screen and (max-width: 320px) {
  .banner-surrounding-1 {
    left: 77px;
  }
  .banner-surrounding-3 {
    left: -23px;
}
.banner-surrounding-4 {
  top: 82%;
  left: 21%;
}

.main-content .from-text {
  font-size: 10px;
  bottom: -11px;
}
.main-content__lesson-scene {
  scale: 0.45;
}
.learn-jp__content {
  top: 13px;
  left: 36px;
  font-size: 29px;
}
}



/* JP */

.home_jp .learn-jp__content {
  top: 54px;
  font-size: 42px;
  line-height: 113%;
}

.home_jp .main-content__lesson-scene .content {
  font-size: 33px;
  width: 141px;
  line-height: 115%;
  top: 93px;
  left: 40px;
}

.home_jp .main-content .from-text {
  letter-spacing: 4.5px;
}

/* .home_jp .banner .button .membership_regis_btn::after {
  content: url("/images/home/top-banner-free-jp.png");
} */

@media screen and (max-width: 1024px) {
  .home_jp .learn-jp__content {
    top: 30px;
    font-size: 29px;
    line-height: 132%;
    left: 14px;
    letter-spacing: 0;
  }

  .home_jp .main-content__lesson-scene .content {
    font-size: 37px;
    width: 150px;
    line-height: 101%;
    top: 94px;
    left: 34px;
  }

  .home_jp .main-content .from-text {
    letter-spacing: 2px;
  }
}

@media screen and (max-width: 320px) {
  .home_jp .learn-jp__content {
    top: 30px;
    font-size: 25px;
    left: 40px;
  }
}

@media screen and (max-width: 320px) {
  .home_jp .learn-jp__content {
    top: 30px;
    font-size: 25px;
    left: 40px;
  }
}

/** =====================
 ** Home JP - Lesson
===================== **/

.home_jp .lesson_footer {
  position: relative;
}

.home_jp .lesson_footer .img {
  /* left: -8%;
  top: -100%; */
  margin-top: 0;
}

@media screen and (max-width: 425px) {
  .home_jp .lesson_footer .img {
    top: -23px;
    left: -3px;
    width: 70px;
  }

  .home_jp .lesson_footer {
    margin-top: 27px;
  }

  .home_jp .lesson_footer .button_footer {
    width: 184px;
    font-size: 16px;
    padding: 9px 0px;
  }
}

/** =====================
 ** Home EN - Learning
===================== **/

.learning {
  padding-top: 163px;
}

.learning .header {

}

.learning .header .img_1_en {
  position: absolute;
  left: 10px !important;
  left: -15px !important;
  top: -3px;
}

.learning .header .img_2_en {
  position: absolute;
  top: -15px;
  right: 93px;
  right: 75px;
}

.learning .header .title_wave {
margin-top: -4px;
}

.learning .body .box img {
  object-fit: contain;
}

.learning .body .box .img_bg_sp {
  display: none;
}

.learning .level_image_sp {
  display: none;
}

.learning .section {
    width: 85%;
    margin: 0 auto;
    margin-top: 50px;

}

.learning .section .title {
    font-size: 30px;
    margin: auto;
    width: 100%;
    text-align: center;
    font-weight: bold !important;
}

.learning .section .content-box{
    margin-top: 10px;
   background-color: #fff;
   border-radius: 20px;
   padding-top: 27px;
   padding-bottom: 40px;
   padding-left: 27px;
   padding-right: 27px;


}

.learning .section .content-box p {
    font-size: 19px;
    text-align: left;
    margin-left: 5px;
}

.learning .section .image-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 25px;
  margin: 0 auto;
}

.learning .section .image-grid .img {
  width: 100%;
  height: 250px;
  object-fit: cover;
}

@media (max-width: 600px) {
  .learning .section {
    width: 100%;
  }
  .learning .section .title {
    font-size: 21px;
  }
      .learning .section .content-box {
        padding-top: 10px;
        padding-bottom: 30px;
      }

    .learning .section .content-box p{
        font-size: 14px;
    }

    .learning .section .image-grid {
          grid-template-columns: repeat(2, 1fr);
    }

    .learning .section .image-grid .img {
        height: 150px;
    }
}

@media screen and (max-width: 1024px) {
  .learning {
    padding-top: 163px;
  }

  .learning .header .img_1_en {
    position: absolute;
    left: 10px !important;
    top: -3px;
  }

  .learning .header .img_2_en {
    position: absolute;
    top: -15px;
    right: 93px;
  }
}

@media screen and (max-width: 960px) {
  .learning {
    padding-top: 70px;
  }

  .learning .header .heading {
    font-size: 32px;
  }

  .learning .header .img_1_en {
    left: 90px;
    width: 100px;
  }

  .learning .header .img_2_en {
    width: 50px;
    right: 90px;
  }

  .learning .body .box {
    max-width: 485px;
  }

  .learning .body {
    display: flex;
    flex-direction: column;
    gap: 50px;
  }
}

@media screen and (max-width: 600px) {
  .learning {
    padding-bottom: 50px;
  }

  .learning .header {
    max-width: 355px;
    margin-inline: auto;
  }

  .learning .header .img_1_en {
    position: absolute;
    left: -28px !important;
    top: 84px;
    width: 85px;
  }

  .learning .header .img_2_en {
    width: 38px;
    right: -8px !important;
    top: 23px;
}

  .learning .body {
    display: flex;
    flex-direction: column;
    gap: 37px;
  }

  .learning .header .title_wave {
    transform: translateY(3px);
  }

  .learning .header .title_wave img {
    top: 7px;
  }

  .learning .header .title {
    line-height: 19px;
    margin-top: 29px;
  }

  .learning .body {
    margin-top: 25px;
  }

  .learning .body .box .img_header {
    top: -14px;
  }

  .learning .body .box .img_header_2 {
    top: -18px;
  }

  .learning .body .box .img_bg {
    display: none;
  }

  .learning .body .box .img_bg_sp {
    display: block;
  }

  .learning .footer .text_en {
    margin-top: 17px;
  }

  .learning .footer .lesson_level {
    margin-top: 22px;
    margin-bottom: 13px;
  }

  .lesson-container .level {
    max-width: 375px;
    margin-inline: auto;
  }

  .lesson-container .level .level_image {
    display: none;
  }

  .lesson-container .level .level_image_sp {
    display: block;
  }

  .learning .footer .lesson_level_title_en {
    margin-block: 33px 14px;
}

 .learning .body .enjoy_box .title {
  top: 36%;
}
.learning .body .enjoy_box .text {
  top: 40%;
  line-height: 149%;
}
}

@media screen and (max-width: 600px) {
  .learning .body .enjoy_box .text {
    font-size: 14px;
  }
}



/** =====================
 ** Home JP - Learning
===================== **/

.learning .header {
  width: min(1440px, 100%);
}

.home_jp .learning .footer .text {
  font-size: 18px;
  line-height: 28px;
  letter-spacing: 2.6;
  padding-left: 8px;
  margin-top: 39px;
}

.home_jp .learning .footer .types .course,
.home_jp .learning .footer .types .spot {
  font-size: 21px;
  line-height: 24px;
  letter-spacing: 2;
  padding-left: 14px;
}

.home_jp .learning .header .title_wave {
  margin-top: 0;
  transform: none;
}

.home_jp .learning .body {
  margin-top: 33px;
}

.home_jp .learning .body .box .title_jp {
  top: 35% !important;
}

.home_jp .learning .footer .types .sp_only {
  display: none;
}

.home_jp .learning .body .box .text_jp {
  top: 43% !important;
  line-height: 149%;
}

.home_jp .learning .footer .types {
  display: grid;
  grid-template-columns: 1fr 1fr;
  position: relative;
  width: min(850px, 100%);
  margin: auto;
}

@media screen and (max-width: 960px) {
  .home_jp .learning .footer .types .sp_only {
    display: block;
  }

  .home_jp .learning .header .heading {
    letter-spacing: 2px !important;
  }
}

@media screen and (max-width: 600px) {
  .home_jp .learning {
    padding-top: 78px;
  }

  .home_jp .learning .body {
    margin-top: 27px;
    gap: 37px;
  }

  .home_jp .learning .body .box .title_jp {
    top: 29% !important;
  }

  .home_jp .learning .body .box .text_jp {
    top: 32% !important;
  }

  .home_jp .learning .footer {
    padding-top: 0;
  }

  .home_jp .learning .footer .types {
    position: relative;
    width: 100%;
  }

  .home_jp .learning .footer .types .spot_jp,
  .home_jp .learning .footer .types .course_jp {
    font-size: 12px;
    letter-spacing: 0px;
    line-height: 20px;
    white-space: nowrap;
    padding-left: 0;
  }

  .home_jp .learning .footer .lesson_level {
    margin-top: 41px;
    margin-bottom: 10px;
  }

  .home_jp .learning .footer .lesson_level_title_en {
    margin-top: 36px;
  }

  .home_jp .learning .header .heading {
    width: min(100%, 355px);
    margin-inline: auto;
  }

  .home_jp .learning .header .img_2_en {
    right: -4px !important;
    top: -26px;
  }

  .home_jp .learning .header .img_1_en {
    left: -28px !important;
    top: 53px;
  }

  .home_jp .learning .header .title_wave {
    margin: auto;
    margin-top: 4px;
  }

  .home_jp .lesson-container {
    gap: 12px;
  }

    .home_jp .learning .body .box .title_jp {
    top: 35% !important;
  }

  .home_jp .learning .body .box .text_jp {
    top: 45% !important;
  }
}

@media screen and (max-width: 425px) {
  .home_jp .learning .footer .text {
    font-size: 14px;
    line-height: 19px;
    padding-left: 0;
  }

  .home_jp .learning .footer .types .course,
  .home_jp .learning .footer .types .spot {
    font-size: 12px;
    line-height: 18px;
    letter-spacing: 0px;
  }

  .home_jp .learning .footer .lesson_level {
    letter-spacing: 4;
  }

  .home_jp .learning .footer .types {
    gap: 12px;
  }

  .home_jp .learning .footer .lesson_level_title {
    margin-top: 20px;
  }
}

@media screen and (max-width: 480px) {
   .home_jp .learning .footer .types .course,
  .home_jp .learning .footer .types .spot {
    font-size: 12px;
    letter-spacing: 0px;
    line-height: 20px;
  }
}

@media screen and (max-width: 414px) {
   .home_jp .learning .body .box .title_jp {
    top: 35% !important;
  }

  .home_jp .learning .body .box .text_jp {
    top: 45% !important;
  }
}

@media screen and (max-width: 375px) {
   .home_jp .learning .body .box .title_jp {
    top: 32% !important;
  }

  .home_jp .learning .body .box .text_jp {
    top: 40% !important;
  }
}

@media screen and (max-width: 320px) {
  .learning .footer .types .spot,
  .learning .footer .types .course {
      font-size: 10px !important;
  }

   .home_jp .learning .body .box .title_jp {
    top: 27% !important;
  }

  .home_jp .learning .body .box .text_jp {
    top: 32% !important;
  }
}

/** =====================
 ** Home EN - Register news
===================== **/

.register_news {
  margin-top: 20px;
}

.register_news .text {
  font-size: 21px;
  line-height: 133%;
}

@media screen and (max-width: 425px) {
  .register_news {
    flex-direction: column;
  }

  .register_news .text {
    font-size: 18px;
    line-height: 149%;
  }
}

/** =====================
 ** Home JP - Register news
===================== **/

.home_jp .register_news .text {
  font-size: 21px;
  line-height: 149%;
  padding-top: 4px;
}

@media screen and (max-width: 425px) {
  .home_jp .register_news .text {
    font-size: 14px;
    line-height: 21px;
    padding-top: 0;
    /* padding-left: 12px; */
  }

  .home_jp .register_news {
    gap: 5px;
    padding-top: 8px;
  }
}

/** =====================
 ** Home EN - Lesson
===================== **/

.feature.lesson .container .header {
  display: block;
  padding-bottom: 0;
  margin-bottom: 73px;
}

.feature.lesson .header .heading_container  {
  display: block;
  margin-top: 0;
}

.feature.lesson .header_en .img_en {
  right: 4%;
  top: -41%;
  left: auto;
}

.feature.lesson .genre-items {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.feature.lesson .lesson-card {
  width: auto !important;
  min-height: 545px;
}

.feature.lesson  .card-body {
  padding: .5rem 1rem;
}

.feature.lesson .genre-item .card_title {
  margin-bottom: 2px;
}

.feature.lesson .genre-item .card-text {
  margin-top: 0;
  margin-bottom: 13px;
  margin-top: 10px;
}

.feature.lesson .card-body hr {
  margin-top: 0;
}

.feature.lesson .lesson-card .info .instructor-avatar {
  min-width: 62px;
  aspect-ratio: 1;
  height: auto;
}

.feature.lesson .lesson-card .info p {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    word-break: break-all;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.feature.lesson .lesson-card .info {
  font-size: 13px;
  height: 65px;
}

.feature.lesson .view_more_link_wrapper {
  width: 100%;
  position: absolute;
  bottom: 38px;
  left: 0;
}

.feature.lesson .view_more_link {
  width: min(100%, 150px);
  padding: 10px 15px;
}

.feature.lesson .view_more_link i {
  position: relative;
  right: 0;
}

.feature.lesson .lesson_footer {
  margin-top: 32px;
}

.feature.lesson .lesson_footer .button_footer {
  position: relative;
  display: block;
  text-align: center;
  margin-top: 0;
  background: #ffe9e9;
  border-color: #ED837C;
  border-radius: 9999px;
  color: black;
}

.feature.lesson .lesson_footer .button_footer i {
  position: absolute;
  right: 11%;
  top: 25%;
  font-weight: 600;
  color: black;
}

.feature.lesson .lesson_footer .img_en {
  position: absolute;
  left: -8.55%;
  top: -71%;
  margin-top: auto;
}

@media screen and (max-width: 1024px) {
  .feature.lesson .genre-items {
    gap: 15px;
  }
}

@media screen and (max-width: 768px) {
  .feature.lesson .genre-items {
    grid-template-columns: repeat(2, 1fr);
    height: fit-content;
    gap: 16px;
  }

  .feature.lesson .view_more_link_wrapper {
    position: relative;
    bottom: 0;
    left: 0;
    margin-top: 16px;
  }
}

@media screen and (max-width: 600px) {
  .feature.lesson .container .header {
    margin-bottom: 42px;
    width: min(351px,100%);
    margin-inline: auto;
  }

  .feature.lesson .header_en .img_en {
    width: 100px;
    right: -2.9%;
    top: -37%;
  }

  .feature.lesson .header .heading {
    font-size: 34px;
    line-height: 115%;
    margin-bottom: 10px;
    margin-top: 0;
  }

  .feature.lesson .header .title_wave {
    scale: 0.7;
  }

  .feature.lesson .header .title {
    font-size: 14px;
    margin-top: 17px;
		white-space: normal;
  }

  .feature.lesson .genre-items {
    margin-inline: auto;
    width: min(100%, 351px);
  }

  .feature.lesson .lesson-card {
    min-height: auto;
  }

  .feature.lesson .genre-item .card_title {
    -webkit-line-clamp: 2;
    max-height: calc(1.4em * 2);
    width: auto !important;
  }

  .feature.lesson .genre-item .card-text {
    font-size: 12px;
    line-height: 160%;
  }

  .feature.lesson .genre-item .card-text {
    margin-bottom: 15px;
  }

  .feature.lesson .card-body hr {
    margin-bottom: 15px;
  }

  .feature.lesson .lesson-card .info {
    font-size: 13px;
    padding: 0 !important;
    gap: 6px;
  }

  .feature.lesson .lesson-card .info p {
    height: auto;
    margin: 0;
  }

  .feature.lesson .lesson-card .info .instructor-avatar {
    width: 45px !important;
    height: auto !important;
  }

  .feature.lesson .view_more_link_wrapper {
    margin-top: 43px;
    margin-top: 20px;
  }

  .lesson .lesson_headline {
    margin-top: 0;
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    color: black;
    margin-bottom: 40px;
    margin-inline: auto;
    text-align: center;
    max-width: 350px;
  }

  .feature.lesson .view_more_link {
    width: min(100%, 119px);
    padding: 6px 9px;
    font-size: 14px;
    line-height: 18px;
    border-radius: 9999px;
  }

  .feature.lesson .view_more_link i {
    right: -3px;
  }

  .feature.lesson .lesson-card .card .card-body {
    padding-bottom: 0 !important;
  }

  .feature.lesson .genre-items {
    row-gap: 20px;
  }

  .feature.lesson .lesson_footer .img_en {
    width: 70px;
    left: -49.9%;
    top: -15%;
  }

  .feature.lesson .lesson_footer {
    margin-top: 14px;
    margin-inline: auto;
    width: min(185px, 100%);
  }

  .feature.lesson .lesson_footer .button_footer {
    font-size: 19px;
    height: 42px;
    padding-block: 5px;
  }
}

/** =====================
 ** Home JP - Lesson
===================== **/

/* .home_jp .feature.lesson  {
  padding-top: 60px !important;
} */

.home_jp .teacher-genre.lesson {
  padding-top: 140px !important;
}

.home_jp .feature.lesson .header .heading_jp_pc {
  left: 8px;
  top: 0;
  line-height: 116%;
}

.home_jp .feature.lesson .header_jp .img_jp {
  position: absolute;
  left: 76.55%;
  top: -84%;
  right: 0%;
}

.home_jp .feature.lesson .header .title_wave  {
  margin-top: 12px;
  margin-bottom: 27px;
}

.home_jp .feature.lesson .container .header .title .title_text_1 {
  font-size: 21px;
  letter-spacing: 2px;
}

.home_jp .feature.lesson .container .header .title .title_text_2 {
  font-size: 21px;
  letter-spacing: 2px;
  left: 6px;
  position: relative;
}

.home_jp .feature.lesson .view_more_link {
  width: min(100%, 160px);
  padding: 10px 15px;
  white-space: nowrap;
  letter-spacing: 1px;
}

.home_jp .feature.lesson .view_more_link i {
  right: -3px;
}

.home_jp .lesson_footer .img_jp {
  left: -8.5%;
  margin-top: 0;
  top: -69%;
}

.home_jp .feature.lesson .lesson_footer .button_footer {
  letter-spacing: 2px;
}

.home_jp .feature.lesson .lesson_footer .button_footer i {
  right: 10%;
}

@media screen and (max-width: 960px) {
  /* .home_jp .feature.lesson {
    padding-top: 50px !important;
  } */

  .home_jp .teacher-genre.lesson {
    padding-top: 100px !important;
  }

  .home_jp .feature.lesson .header .heading {
    position: relative;
    font-size: 32.4px;
    line-height: 119%;
    margin-bottom: 10px;
    letter-spacing: 2px;
  }

  .home_jp .feature.lesson .header_jp .img_jp {
    position: absolute;
    left: 74.55%;
    top: -34%;
    right: 0%;
    width: 99px;
  }

  .home_jp .feature.lesson .header .title_wave {
    margin-top: 8px;
    margin-bottom: 0;
  }

  .home_jp .feature.lesson .container .header .title .title_text_1 {
    font-size: 12px;
    letter-spacing: 2px;
  }

  .home_jp .feature.lesson .container .header .title .title_text_2 {
    font-size: 12px;
    letter-spacing: 2px;
    left: 6px;
    position: relative;
  }

  .home_jp .feature.lesson .view_more_link {
    width: min(100%, 150px);
    padding: 5px 0;
    font-size: 12px;
  }

  .home_jp .feature.lesson .view_more_link i {
    right: 0;
  }

  .home_jp .lesson_footer .img_jp {
    width: 70px;
    left: -49.5%;
    margin-top: 0;
    top: -17%;
  }

  .create_in_kawaii_jp.lesson .header .heading > span {
    font-size: 34px;
  }

  .create_in_kawaii_jp.lesson .header .subheading > span {
    font-size: 23px;
  }
}


@media screen and (max-width: 600px) {
  .home_jp .feature.lesson .header_jp .img_jp {
    position: absolute;
    left: 71.55%;
    top: -34%;
    right: 0%;
  }
}

/** =====================
 ** Home EN - Experience
===================== **/

.experience {
  padding-top: 127px;
  padding-bottom: 120px !important;
  /* background-color: #c4e2e5 !important; */
}

.experience .header .title_wave {
  margin-top: 3px;
}

.experience .footer {
  margin-top: 17px;
  position: relative;
  left: -4px;
}

.experience .text-footer {
  margin-top: 350px;
  max-width: 1200px;
   width: 50%;
  font-size: 21px;
}

.experience .btn-footer {
  margin-top: 20px;
}

.experience .btn-footer .teacher_genre_btn {
  width: fit-content;
  padding-block: 8px;
  padding-inline: 26px;
  background-color: #f8b3b9;
  border-radius: 9999px;
  font-size: 28px;
  font-weight: bold;
  text-align: center;
  -moz-text-align-last: center;
  text-align-last: center;
  color: black;
  border: none;
  display: flex;
  justify-content: center;
  align-items: center;
  outline: none;
  margin: auto;
}


.experience .body img {
  margin-top: 24px;
}

.experience .footer .text {
  left: 51%;
  font-size: 34px;
}

.experience .footer .img_en {
  left: -3px;
  position: relative;
}

.experience .body .text_1_en {
  left: 12% !important;
  top: 48% !important;
}

.experience .body .text_2_en {
  top: 62%;
  left: 36.555%;
}

.experience .body .text_4_en {
  top: 63.99%;
  left: 86.5%;
}

.experience .header .container-img img {
  object-fit: contain;
}

@media screen and (max-width: 600px) {

  .experience .btn-footer .teacher_genre_btn{
    font-size: 15px;
  }

  .experience .text-footer {
    margin-top: 180px;
    width: 100%;
    font-size: 15px;
  }

  .experience .header .heading_en {
    width: 100% !important;
    margin-left: 0px !important;
    padding-left: 0px !important;
    padding-right: 0px !important;
    left: 0px !important;
    margin-inline: auto !important;
    line-height: 40px;
    font-size: 32px !important;
  }

  .experience .header .container-img {
    position: relative;
    max-width: 377px;
    margin-inline: auto;
  }

  .home_en .experience .header .container-img {
    max-width: none;
    width: 100%;
  }

  .experience {
    padding-top: 62px !important;
    padding-bottom: 65px !important;
  }

  .experience .header .container-img .img_1 {
    position: absolute;
    top: 60% !important;
    right: 50%;
    width: 40px;
    height: 40px;
    left: 4% !important;
  }

  .experience .header .container-img .img_2 {
    position: absolute;
    width: 74px;
    height: 60px;
    right: -2% !important;
    top: 4px !important;
    left: 78% !important;
    margin-top: -40px;
  }

  .experience .body img {
    margin-top: 15px;
    max-width: 355px;
    width: 100% !important;
    margin-inline: auto;
  }

  .experience .body .text_1,
  .experience .body .text_2,
  .experience .body .text_3,
  .experience .body .text_4 {
    line-height: 15px;
  }

  .experience .body .text_1_en {
    font-size: 11px !important;
    left: 12% !important;
    top: 44% !important;
  }

  .experience .body .text_2_en {
    left: 36% !important;
    top: 57% !important;
    font-size: 11px !important;
    margin-left: 1px !important;
  }

  .experience .body .text_3_en {
    font-size: 11px;
    top: 43% !important;
    left: 61.5% !important;
  }

  .experience .body .text_4_en {
    top: 59% !important;
    left: 86.5%;
    font-size: 11px !important;
    max-width: 57px;
  }

  .experience .footer {
    margin-top: -9px;
    position: relative;
    left: -4px;
  }

  .experience .footer .img_en {
    left: -11px;
    position: relative;
    object-fit: contain;
  }

  .experience .footer .experienced_img_1 {
    width: 110px;
    top: 93%;
    left: 2%;
  }

  .experience .footer .experienced_img_3 {
    width: 110px;
    top: 119%;
    left: 36%;
  }

  .experience .footer .experienced_img_2 {
    width: 110px;
    top: 82%;
    left: 69%;
  }

  .experience .header .title_en {
    letter-spacing: 0px !important;
    position: relative;
    left: -6px;
    top: 1px;
    white-space: normal;
    word-wrap: break-word;
    overflow-wrap: break-word;
      width: 350px;
  }
}

@media screen and (max-width: 375px) {
  .experience .header .container-img .img_2 {
    width: 74px;
    height: 60px;
    right: -2% !important;
    top: 5px !important;
    left: 80% !important;
    top: 100px !important;
  }
  .experience .header .container-img .img_1 {
    left: 1% !important;
    top: 63% !important;
  }
  .experience .body img {
    margin-top: 19px;
    max-width: 355px;
    width: 100% !important;
    margin-inline: auto;
  }
}

/** =====================
 ** Home JP - Experience
===================== **/

.home_jp .experience .header .heading_jp {
  margin-bottom: 26px !important;
}

.home_jp .experience .header .img_2_jp {
  transform: translate(-3px,-8px);
}

.home_jp .experience .footer .text_jp {
  left: 52%;
  font-size: 32px;
  top: 42%;
}

.home_jp .experience .text-footer {
  margin-top: 350px;
  max-width: 1200px;
  font-size: 21px;
  letter-spacing: 2px;
  line-height: 30px;
  width: 50%;
}


.home_jp .experience .body .text_1_jp {
  top: 47% !important;
  left: 11.9% !important;
  font-weight: bold !important;
}

.home_jp .experience .body .text_2_jp {
  top: 59% !important;
  left: 36% !important;
  margin-left: 5px;
  font-weight: bold !important;
}

.home_jp .experience .body .text_3_jp {
  top: 46% !important;
  left: 63% !important;
  margin-left: -5px;
  font-weight: bold !important;
}

.home_jp .experience .body .text_4_jp {
  top: 62% !important;
  left: 86.8% !important;
  margin-left: 1px;
  font-weight: bold !important;
}

.home_jp .experience .header .title {
  font-size: 21px;
  letter-spacing: 2px;
  font-weight: 600 !important;
  width: 500px;
}

@media screen and (max-width: 600px) {
  .home_jp .experience .text-footer {
    width: 100%;
    font-size: 15px;
    margin-top: 200px;
    letter-spacing: 1px;
    line-height: 20px;
  }

  .home_jp .experience .header .container-img-jp {
    max-width: 375px;
    margin-inline: auto;
  }

  .home_jp .experience {
    padding-top: 69px !important;
  }

  .home_jp .experience .header .heading_jp  {
    position: relative;
  }

  .home_jp .experience .header .heading_jp {
    position: relative;
    font-size: 27px;
    letter-spacing: 5px !important;
    left: 0 !important;
    top: 0px !important;
    margin-bottom: 23px !important;
}

  .home_jp .experience .header .container-img {
    display: block;
  }

  .home_jp .experience .header .img_1_jp {
    position: absolute;
    width: 39px;
    top: 72%;
    left: 3%;
    height: auto;
}

.home_jp .experience .header .img_2_jp {
  position: absolute;
  width: 78px;
  top: -57%;
  right: 2%;
  left: auto !important;
  transform: none !important;
}

  .home_jp .experience .header .title_wave  .img_jp {
    width: 105px;
    left: -1px;
    position: relative;
  }

  .home_jp .experience .header .title {
    font-size: 14px;
    letter-spacing: 1px;
    font-weight: 600 !important;
    white-space: normal;
    word-wrap: break-word;
    overflow-wrap: break-word;
    width: 350px;
  }

  .home_jp .experience .header .title_wave {
    gap: 22px;

  }

  .home_jp .experience .body .img_jp {
    margin-top: 19px;
  }

  .home_jp .experience .body .text_1_jp {
    top: 44% !important;
    left: 12.4% !important;
    font-size: 13px;
    line-height: 110%;
  }

  .home_jp .experience .body .text_2_jp {
    font-size: 13px;
    line-height: 110%;
    top: 56% !important;
    left: 35.5% !important;
  }
  .home_jp .experience .body .text_3_jp {
    top: 43% !important;
    left: 63.5% !important;
    font-size: 13px;
    line-height: 110%;
  }
  .home_jp .experience .body .text_4_jp {
    font-size: 13px;
    line-height: 110%;
    top: 58% !important;
    left: 86.5% !important;
  }
  .home_jp .experience .footer .img_jp {
    position: relative;
    left: -6px;
    top: 11px;
    transform-origin: top;
    /* scale: 0.58; */
    width: 230px;
}

.home_jp .experience .footer .text_jp {
  left: 48%  !important;
  font-size: 19px  !important;
  letter-spacing: 3px;
  line-height: 125%;
  width: 100%;
  top: 41% !important;
}

.home_jp .experience .footer .experienced_img_1_jp {
  top: 101%;
  width: 110px;
  left: -24%;
}

.home_jp .experience .footer .experienced_img_3_jp {
  width: 110px;
  top: 128.5%;
  left: 28%;
}

.home_jp .experience .footer .experienced_img_2_jp {
  width: 110px;
  top: 88%;
  left: 81%;
}

  .home_jp .experience .header .container-img-jp {
    height: auto;
  }
}

@media screen and (max-width: 480px) {
  .home_jp .experience .header .img_1_jp {
    top: 72%;
    left: 0%;
    top: auto;
    bottom: -14px;
}
.home_jp .experience .header .img_2_jp {
  top: -45px;
  right: -1%;
  top: 72px;
}
}

@media screen and (max-width: 320px) {
   .home_jp .experience .header .title {
    width: 250px;
   }

   .experience .header .title_en {
      width: 250px;
   }
}


/* gch_secret section */
.gch_secret {
  padding-top: 120px;
  background-color: #c4e2e5 !important;
  /* padding-bottom: 60px; */
}

.home_jp .gch_secret.lesson {
  padding-top: 100px !important;
  padding-bottom: 140px;
}

.gch_secret.lesson .header .heading span {
  position: relative;
}

.gch_secret.lesson .header .heading span::before {
  content: "";
  position: absolute;
  background-image: url("/images/home/secret_cloud.png");
  background-size: contain;
  background-position: center;
  width: 96px;
  height: auto;
  aspect-ratio: 1;
  background-repeat: no-repeat;
  bottom: calc(100% - 34px);
  left: auto;
  right: 89%;
  z-index: 0;
}

.gch_secret.lesson .header .heading span::after {
  content: "";
  position: absolute;
  background-image: url("/images/home/secret_bear.png");
  background-size: contain;
  background-position: center;
  width: 147px;
  height: auto;
  aspect-ratio: 1;
  background-repeat: no-repeat;
  bottom: 50%;
  transform: translateY(50%);
  left: 100%;
  z-index: 0;
}

.gch_secret.lesson .header .heading .span_en::after {
 bottom: 100%;
 left: 150%;
}

.gch_secret_en.lesson .header .heading .span_en::after {
   left: 129%;
}

.gch_secret.lesson .header .heading .span_jp::after {
  left: auto !important;
}

.gch_secret_jp.lesson .header .heading .span_en::after {
	/* left: auto; */
}

.gch_secret.feature.lesson .container .header {
  margin-bottom: 20px;
}

.gch_secret .title {
  font-size: 32px;
  text-align: center;
  margin-bottom: 68px;
}

.secret-grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 5%;
  margin-top: 30px;
	align-items: stretch;
}

.secret-grid-pretext {
  position: absolute;
  width: 100%;
  text-align: center;
  font-size: 24px;
  font-weight: bold;
  color: black;
  bottom: 100%;
  margin-bottom: 8px;
}

.secret-grid-pretext--pc {
  display: block;
}

.secret-grid-pretext--sp {
  display: none;
}

.secret-grid-pretext span {
  font-size: inherit;
  font-weight: inherit;
  position: relative;
}

.secret-grid-pretext span::after {
  content: "";
  position: absolute;
  background-image: url("/images/home/twinkle-star.png");
  background-size: contain;
  background-position: center;
  width: 81px;
  height: auto;
  aspect-ratio: 1;
  background-repeat: no-repeat;
  bottom: 50%;
  transform: translateY(43%);
}

.secret-grid-item {
  display: block;
	position: relative;
  --border-width: 20px;
}

.secret-grid-item::after {
    content: "";
    position: absolute;
    top: 20px;
    left: 20px;
    width: calc(100% - 40px);
    height: calc(100% - 40px);
    background: white;
    pointer-events: none;
    z-index: -1;
}

.secret-grid-item__inner {
	position: relative;
	color: black;
	text-align: center;
	min-height: 100%;
	padding-block: 8px;
}

.secret-grid-item__inner::before {
	content: "";
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	position: absolute;
  border-style: solid;
  border-width: var(--border-width);
  border-image-source: url("/images/home/secret_grid_item_1.png");
  border-image-slice: 34;
  border-image-repeat: stretch;
	z-index: -1;
}

.secret-grid-item--1 .secret-grid-item__inner::before {
  border-image-source: url("/images/home/secret_grid_item_1.png");
}

.secret-grid-item--1::before {
    content: "";
    position: absolute;
    background-image: url("/images/home/secret_cat.png");
    background-size: contain;
    background-position: center;
    height: auto;
    aspect-ratio: 332 / 109;
    left: 50%;
    width: 80%;
    background-repeat: no-repeat;
    /* top: -20px; */
    transform: translateY(-100%) translateX(-50%);
    z-index: 0;
}

.secret-grid-item--2 .secret-grid-item__inner::before {
  border-image-source: url("/images/home/secret_grid_item_2.png");
}

.secret-grid-item--3 .secret-grid-item__inner::before {
  border-image-source: url("/images/home/secret_grid_item_3.png");
}

.secret-grid-item--4 .secret-grid-item__inner::before {
  border-image-source: url("/images/home/secret_grid_item_4.png");
}

.secret-grid-item__title-wrapper {
  min-height: 50.41px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.secret-grid-item__title {
  margin-top: 0;
  margin-bottom: 8px;
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 72px;
}

.secret-grid-item__title * {
  font-weight: bold !important;
  font-size: 24px;
	line-height: 140%;
}

.secret-grid-item__desc {
  margin-block: 0;
  font-size: 14px;
  font-weight: 100;
  color: #4f4f4f;
}

.secret-grid-item img {
  max-width: 72%;
  display: block;
  margin-inline: auto;
  object-fit: contain;
}

.secret-grid-item--4 img {
  /* max-width: 100%; */
    max-width: 72%;
  display: block;
  margin-inline: auto;
  object-fit: contain;
}

.heart-gif {
  position: absolute;
  width: 157px;
  transform: translate(-13px, -13px);
}

.gch_secret_jp .heart-gif {
  position: absolute;
  width: 157px;
  transform: translate(-48px, 33px);
}

@media screen and (max-width: 960px) {
	.secret-grid-item__inner {
    padding-block: 6px 8px;
	}

	.secret-grid-item__title {
    margin-top: 0;
    margin-bottom: 0;
		min-height: 50px;
	}

	.secret-grid-item__title * {
    font-size: 20px;
	}

	.secret-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
    max-width: 375px;
    margin-inline: auto;
  }

	.secret-grid-item__desc {
		font-size: 12px;
	}

  .secret-grid-pretext {
    font-size: 18px;
    margin-bottom: 12px;
  }

  .secret-grid-pretext--pc {
    display: none;
  }

  .secret-grid-pretext--sp {
    display: block;
  }

  .gch_secret_en .secret-grid-pretext {
    margin-left: 10px;
  }

  .gch_secret_jp .secret-grid-pretext {
    padding-left: 10px;
  }

  .secret-grid-pretext span::after {
    width: 68px;
    transform: translateY(50%);
  }
}

@media screen and (max-width: 600px) {
  .gch_secret.lesson .header .heading span::after {
    left: 75%;
    bottom: 191%;
  }

  .gch_secret.lesson .header .heading .span_en::after {
    left: 120%;
    bottom: 150%;
  }

  .gch_secret_en.lesson .header .heading .span_en::after {
    left: 99%;
  }

	.gch_secret_jp.lesson .header .heading .span_en::after {
    left: auto;
    top: -110px;
    bottom: auto;
    right: -6px;
	}

  .gch_secret {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .home_jp .gch_secret.lesson {
    padding-top: 60px !important;
    padding-bottom: 80px;
  }

  .gch_secret.feature.lesson .container .header {
    margin-bottom: 20px;
  }

  .gch_secret.feature.lesson .header .heading {
    font-size: 28px;
  }

  .gch_secret_jp.feature.lesson .header .heading {
    font-size: 32.4px;
    white-space: nowrap;
  }

  .gch_secret_en.feature.lesson .header .heading {
    font-size: 33px;
    white-space: nowrap;
  }

  .gch_secret.lesson .header .heading span::before {
    width: 68px;
    bottom: calc(100% - 18px);
    right: 85%;
    right: 70%;
  }

  .gch_secret_jp.lesson .header .heading span::before {
    right: 83%;
  }

  .gch_secret.lesson .header .heading span::after {
    width: 83px;
  }

  .gch_secret .title {
    font-size: 20px;
  }

  .secret-grid-item__title * {
    font-size: 18px;
  }

  .heart-gif {
    width: 125px;
    transform: translate(-16px, -16px);
  }

  .gch_secret_jp .heart-gif {
    width: 86px;
    transform: translate(-100px, 28px);
  }

  .gch_secret_en.lesson .header .heading span::before {
    right: 79%;
  }

  .gch_secret_en .heart-gif {
    width: 114px;
  }
}

/* Kawaii section */

.home_jp .gch_kawaii.lesson {
  padding-top: 100px !important;
}

.gch_kawaii {
  background: #fff !important;
  padding-top: 120px;
}

.gch_kawaii.feature.lesson .container .header {
  margin-bottom: 20px;
}

.gch_kawaii_viewmore {
  display: none;
  text-align: center;
  padding: 10px 0;
  font-size: 18px;
  font-weight: 600;
  background-color: #f7b3b9;
  color: #333333;
  cursor: pointer;
  width: 200px;
  border-radius: 20px;
  margin: 10px auto;
	margin-top: 32px;
}

.gch_kawaii_arrow {
  font-size: 32px;
  width: fit-content;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
}

.gch_kawaii_arrow i:last-child {
  margin-top: -12px;
}

.kawaii-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 5%;
}

.kawaii-item__title {
  text-align: center;
  font-size: 32px;
  font-size: 26px;
}

.kawaii-item__title img {
  width: 50px;
  height: auto;
  position: relative;
  top: -10px
}

.kawaii-item__desc {
  font-size: 22px;
  font-size: 20px;
}

.kawaii-item--1 .kawaii-item__gallery {
  --grid-gap: 8px;
  display: grid;
  grid-template-columns: calc(45% - var(--grid-gap) / 2) calc(55% - var(--grid-gap) / 2);
  gap: var(--grid-gap);
  align-items: center;
}

.kawaii-item__gallery img {
  border-radius: 16px;
  overflow: hidden;
  object-fit: cover;
}

/* .kawaii-item .square {
  width: 200px;
  height: 200px;
} */

.kawaii-item--1 .kawaii-item__gallery img:first-child {
  aspect-ratio: 1;
}

.kawaii-item--1 .kawaii-item__gallery img:nth-child(2) {
  aspect-ratio: 1.5;
}

.kawaii-item--2 .kawaii-item__gallery {
  --grid-gap: 16px;
  display: grid;
  grid-template-columns: calc(50% - var(--grid-gap) / 2) calc(50% - var(--grid-gap) / 2);
  gap: var(--grid-gap);
  padding-inline: 8px;
  align-items: center;
}

.kawaii-item--2 .kawaii-item__gallery img:first-child {
  aspect-ratio: 1;
}

.kawaii-item--2 .kawaii-item__gallery img:nth-child(2) {
  aspect-ratio: 1.1;
  /* align-self: flex-end; */
}

.kawaii-item--3 .kawaii-item__gallery {
  --grid-gap: 16px;
  display: grid;
  grid-template-columns: calc(50% - var(--grid-gap) / 2) calc(50% - var(--grid-gap) / 2);
  gap: var(--grid-gap);
}

.kawaii-item--3 .kawaii-item__gallery img {
  aspect-ratio: 1;
}

.kawaii-item--4 .kawaii-item__gallery {
  display: grid;
  --full-width: calc(100% - 12px);
  grid-template-columns: calc(var(--full-width) * 0.35) calc(var(--full-width) * 0.30) calc(var(--full-width) * 0.35);
  gap: 6px;
  align-items: center;
}

.kawaii-item--4 .kawaii-item__gallery img:first-child {
  aspect-ratio: 1;
}

.kawaii-item--4 .kawaii-item__gallery img:nth-child(2) {
  aspect-ratio: 0.75;
}

.kawaii-item--4 .kawaii-item__gallery img:nth-child(3) {
  aspect-ratio: 1;
}

@media screen and (max-width: 600px) {
  .gch_kawaii {
    padding-top: 40px;
  }

  .kawaii-grid {
    grid-template-columns: repeat(1, 1fr);
    gap: 40px;
  }

  .kawaii-item--2,
  .kawaii-item--3,
  .kawaii-item--4 {
    display: none;
  }
}

@media screen and (min-width: 601px) {
  .kawaii-item--1 .kawaii-item__gallery {
    grid-template-columns: 226px auto;
  }

  .kawaii-item .square {
    width: 226px;
    height: auto;
    aspect-ratio: 1;
  }
}



/* .kawaii-item .square {
  height: auto;
} */
/* selfmake section */
.gch_selfmake {
  padding-top: 120px;
}

.home_jp .gch_selfmake.lesson {
  padding-top: 100px !important;
}

.gch_selfmake.feature.lesson .container .header {
  margin-bottom: 20px;
}

.gch_selfmake.feature .title {
  font-size: 24px;
  text-align: center;
  margin-bottom: 100px;
}

.selfmake-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: max(15%, 32px);
}

.selfmake-item__inner {
  position: relative;
  max-width: 231px;
  width: fit-content;
  margin-inline: auto;
}

.selfmake-item img:first-child {
  width: 100%;
  height: auto;
  border-radius: 16px;
  object-fit: cover;
  aspect-ratio: 1;
  object-fit: cover;
}

.selfmake-item img:nth-child(2) {
  position: absolute;
  top: -65px;
  left: 50%;
  width: auto;
  max-width: 200px;
  object-fit: contain;
}

@media screen and (max-width: 768px) {
  .gch_selfmake {
    padding-top: 40px;
  }

  .home_jp .gch_selfmake.lesson {
    padding-top: 40px !important;
  }

  .selfmake-grid {
    grid-template-columns: repeat(1, 1fr);
    gap: 80px;
  }

  .selfmake-item img:nth-child(2) {
    max-width: 170px;
  }
}

/* kawaii-creator section */
.home_jp .kawaii_creator.lesson {
  padding-top: 100px !important;
}

.kawaii_creator {
  background: white !important;
  padding-top: 120px;
}

.kawaii-creator-list {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}

.creator-item__arrow {
  width: 70px;
  object-fit: contain;
}

.creator-item {
  width: calc((100% - 140px) / 3);
  position: relative;
  height: auto;
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px 4px;
  text-align: center;
  font-size: 24px;
  font-weight: bold;
  max-width: 240px;
}

.creator-item-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.creator-item__text {
  position: relative;
  z-index: 1;
}

.creator-item--1::before {
  content: "";
  position: absolute;
  background-image: url("/images/home/kawaii_creator_strawberry.png");
  background-size: contain;
  background-position: center;
  width: 100px;
  height: auto;
  aspect-ratio: 1;
  background-repeat: no-repeat;
  top: -31px;
  right: -99px;
  z-index: 1;
}

.creator-item--2::before {
  content: "";
  position: absolute;
  background-image: url("/images/home/kawaii_creator_rabbit.png");
  background-size: contain;
  background-position: center;
  width: 100px;
  height: auto;
  aspect-ratio: 1;
  background-repeat: no-repeat;
  bottom: -10px;
  right: -99px;
  z-index: 1;
}

@media screen and (max-width: 900px) {
  .kawaii_creator {
    padding-top: 40px;
  }

  .home_jp .kawaii_creator.lesson {
    padding-top: 40px !important;
  }

  .kawaii-creator-list {
    flex-direction: column;
    gap: 20px;
    align-items: center;
  }

  .creator-item {
    width: min(100%, 240px);
  }

  .creator-item__arrow {
    rotate: 90deg;
  }

  .creator-item--1::before {
    width: 90px;
    top: auto;
    bottom: -66px;
    left: -20px;
  }

  .creator-item--2::before {
    width: 92px;
    bottom: -73px;
    right: -22px;
  }
}

/* Primary button */
.primary_btn_wrapper {
  margin-top: 40px;
  display: flex;
  justify-content: center;
}

.primary_btn_wrapper .primary_btn_link {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 8px 32px;
  font-weight: bold;
  font-size: 27px;
  position: relative;
  text-align: center;
  margin-top: 0;
  background: #ED837C;
  border: 2px solid #ED837C;
  border-radius: 9999px;
  color: black;
  text-decoration: none;
}

@media screen and (max-width: 600px) {
  .primary_btn_wrapper {
    margin-top: 50px;
    display: flex;
    justify-content: center;
  }

  .primary_btn_wrapper .primary_btn_link {
    font-size: 19px;
  }
}

/* gch_safety section */

.gch_safety {
  background: #FFD7D7 !important;
  padding-top: 120px;
}

.home_jp .gch_safety.lesson {
  /* background-color: #c4e2e5 !important; */
  padding-top: 100px !important;
}

.gch_safety.lesson .header .heading span {
  position: relative;
}

.gch_safety.feature.lesson .container .header {
  margin-bottom: 20px;
}

.gch_safety .safety-title {
  position: relative;
  font-size: 28px;
  text-align: center;
  margin-bottom: 68px;
}

.gch_safety .safety-faq-more {
  margin-bottom: 0;
  position: relative;
  margin-inline: auto;
  width: fit-content;
}

.gch_safety .safety-faq-more a {
  text-underline-offset: 8px;
  color: #44BACC;
}

.gch_safety .safety-faq-more::before {
  content: "";
  background-image: url("/images/yellow-stars.png");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  width: 55px;
  aspect-ratio: 1;
  height: auto;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: auto;
  right: calc(100% + -5px);
}

.gch_safety .safety-faq-more.safety-title span::before {
  display: none;
}

.gch_safety .safety-title span {
  position: relative;
}

.gch_safety .safety-title span::before {
  content: "";
  position: absolute;
  background-image: url("/images/home/secret_cloud.png");
  background-size: contain;
  background-position: center;
  width: 121px;
  height: auto;
  aspect-ratio: 1;
  background-repeat: no-repeat;
  bottom: calc(100% - 82px);
  rotate: -33deg;
  left: auto;
  right: 98%;
  z-index: 0;
}

.home_jp .gch_safety .safety-title span::before {
  right: 81%;
  top: -94px;
}

.safety-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 5%;
  align-items: stretch;
}

.safety-grid-item {
  position: relative;
  --border-width: 20px;
}

.safety-grid-item::after {
  content: "";
  position: absolute;
  top: 20px;
  left: 20px;
  width: calc(100% - 40px);
  height: calc(100% - 40px);
  background: white;
  pointer-events: none;
  z-index: -1;
}

.safety-grid-item__inner {
  position: relative;
  color: black;
  text-align: center;
  min-height: 100%;
  padding: 14px 25px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.safety-grid-item__inner::before {
	content: "";
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	position: absolute;
  border-style: solid;
  border-width: var(--border-width);
  border-image-source: url("/images/home/secret_grid_item_1.png");
  border-image-slice: 34;
  border-image-repeat: stretch;
	z-index: -1;
}

.safety-grid-item--1 .safety-grid-item__inner::before {
  border-image-source: url("/images/home/secret_grid_item_1.png");
}

.safety-grid-item--2 .safety-grid-item__inner::before {
  border-image-source: url("/images/home/secret_grid_item_2.png");
}

.safety-grid-item--3 .safety-grid-item__inner::before {
  border-image-source: url("/images/home/secret_grid_item_3.png");
}

.safety-grid-item--4 .safety-grid-item__inner::before {
  border-image-source: url("/images/home/secret_grid_item_4.png");
}

.safety-grid-item__title-wrapper {
  min-height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.safety-grid-item__title {
  margin-top: 0;
  font-weight: bold;
  font-size: 22px;
  margin-bottom: 8px;
  text-decoration: underline;
}

.safety-grid-item__desc {
  margin-block: 0;
  font-size: 14px;
  font-weight: 100;
  color: black;
  font-weight: 600;
  margin-bottom: 12px;
  white-space: nowrap;
}

.safety-grid-item img {
  display: block;
  margin-inline: auto;
  object-fit: contain;
  border-radius: 16px;
}

.safety-grid-item--4 img {
  max-width: 85px;
  border-radius: 0;
  position: relative;
  top: -10px;
}

@media screen and (max-width: 1024px) {
  .safety-grid-item__title {
    font-size: 18px;
  }

  .gch_safety .safety-faq-more a {
    text-underline-offset: 6px;
  }

 .gch_safety .safety-faq-more::before {
    width: 46px;
    top: 20px;
    left: -40px;
  }

  .gch_safety .safety-faq-more {
    margin-bottom: 0;
    position: relative;
    margin-inline: auto;
    width: min(355px, calc(100% - 67px));
    text-align: left !important;
  }
}

@media screen and (max-width: 600px) {
  .safety-grid-item__inner {
    min-height: 210px;
    padding-block: 8px;
  }

  .home_jp .gch_safety.lesson {
    padding-top: 40px !important;
  }

  .gch_safety.feature.lesson {
    padding-top: 40px;
    padding-bottom: 80px;
  }

  .gch_safety.feature.lesson .container .header {
    margin-bottom: 20px;
  }

  .gch_safety.feature.lesson .header .heading span {
    font-size: 28px;
    font-size: 34px;
  }

  .gch_safety .safety-title {
    font-size: 20px;
    margin-bottom: 8px;
  }

  .safety-grid {
    grid-template-columns: calc(50% - 7px) calc(50% - 7px);
    gap: 14px;
    max-width: 375px;
    margin-inline: auto;
  }

  .safety-grid-item__title {
    font-size: 14px;
  }

  .gch_safety .safety-title span::before {
    width: 83px;
    bottom: calc(100% - 65px);
    bottom: calc(100% - 35px);
  }

  .home_jp .gch_safety .safety-title span::before {
    top: -39px;
  }
}

/* FAQ Section */
.faq {
    background-color: white !important;
}
.faq .container .header {
  display: flex;
  justify-content: center;
}

.faq .container .header img {
  width: 250px;
}

.faq .container .body {
  display: flex;
  flex-direction: column;
  gap: 35px;
  margin-top: 20px;
}

.faq .container .body .item .title {
   display: flex;
   justify-content: space-between;
   cursor: pointer;
   align-items: center;
   font-size: 23px;
   border-bottom: 1px solid rgb(207, 205, 205);
}

.faq_jp .container .body .item {
  letter-spacing: 2px;
}

.faq .container .body .item .des{
  padding-top: 20px;
  display: none;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 30px;
  font-weight: 400;
}
.faq .container .body .item .des .translation_girl {
  width: 120px;
}

.faq .container .body .item .des .btn {
   min-width: 220px;
  height: 40px;
  font-size: 17px;
  letter-spacing: 0 !important;
  padding-inline: 0;
  line-height: 124%;
  border-radius: 20px;
  background-color: #f8b3b9;
  color: #333333;
  border: none;
  font-weight: bold;
}

.faq .container .body .item .des .box {
  display: flex;
  gap: 20px;
  align-items: center;
  justify-content: start;
  position: relative;
  width: 100%;
  height: 70px;
}

.faq .container .body .item .des .find_lesson {
  height: 250px;
  align-items: flex-start; 
}

.faq .container .body .item .des .find_lesson .arrow_find_lesson {
  position: absolute;
  top: 80px;
  left: 0;
}

.faq .container .body .item .des .find_lesson .btn {
  margin-top: 0px;
}

.faq .container .body .item .des .material {
  align-items: flex-start; 
  height: 100px;
}

.faq .container .body .item .des .material .btn {
  margin-top: 0px;
}

.faq .container .body .item .des .material .arrow_material {
  position: absolute;
  top: 75px;
  left: 0;
}

.faq .container .body .item .des .my_page {
  align-items: flex-start; 
  height: 250px;
}

.faq .container .body .item .des .my_page .arrow_my_page {
  position: absolute;
  top: 80px;
  left: 0;
}

.faq .container .body .item .des .my_page .btn {
  margin-top: 0px;
}

.faq .container .body .item .des .images-box {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
}


.faq .container .body .item .des .box .img_title {
  width: 150px;
}

.faq .container .body .item .des .box p {
  position: relative;
  top: 0;
  margin-block: 0;
}

.faq .container .body .item .des .box .box-content {
  display: flex;
}

.faq .container .body .item .des .arrow {
  width: 50px;
  position: absolute;
  bottom: -50%;
  transform: rotate(90deg);
  left: 7%;
}

.faq .container .body .item .des .arrow-2 {
  bottom: -14%;
}

.faq .container .body .item .des .arrow-3 {
    transform: rotate(90deg);
    width: 50px;
    margin-left: 7%;
}

.faq .container .footer {
  display: flex;
  justify-content: center;
  margin-top: 30px;
}

.faq .container .footer a .membership_regis_btn {
  width: 200px;
  height: 40px;
  font-size: 17px;
  margin-top: 30px;
  letter-spacing: 0 !important;
  padding-inline: 0;
  line-height: 124%;
  border-radius: 20px;
  background-color: #ED837C;
  color: #000000;
  border: none;
}

.faq .container .body .item .des_en span {
  font-weight: 300;
}

.faq .container .body .item .des_en .span_title {
  font-weight: bold;
}

.faq .container .body .item .des .imgs {
  margin-top: 20px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
}

.faq .container .body .item.item-where-to-ask .des .imgs {
  display: grid;
  grid-template-columns: 60% 1fr;
  gap: 8px;
}

.faq .container .body .item.item-where-to-ask .des .imgs img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

@media screen and (max-width: 600px) {
  .faq .container .header img {
    width: 150px;
  }

   .faq .container .body .item .des .materials_img_sp  {
    width: 100% !important;
   }

  .faq .container .body .item .title {
    font-size: 18px;
  }

  .faq .container .body .item .des .box {
    flex-direction: column;
    height: auto;
    align-items: flex-start;
    width: 100%;
  }
  .faq .container .body .item .des .btn {
    margin-top: 0px;
    min-width: 230px
  }

  .faq .container .body .item .des .box .box-content {
     flex-direction: column;
  }

  .faq .container .body .item .des .arrow {
    display: none;
  }

  .faq .container .body .item .des .arrow-3 {
    margin-left: 15%;
  }

  .faq .container .body .item_1 .des .item_images_box_2 {
    grid-template-columns: 30% auto;
  }
}

@media screen and (min-width: 601px) {
  .faq .container .body .item .des .btn {
    line-height: 120%;
  }

  .faq .container .body .item_1 .des .item_arrow_2 {
    transform: rotate(90deg) translateX(-19px);
  }

  .faq .container .body .item_1 .des .item_arrow_3 {
    transform: rotate(90deg) translateX(-14px);
  }

  .faq .container .body .item_1 .des .item_arrow_5 {
    transform: rotate(90deg) translateX(-22px);
  }

  .faq .container .body .item_1 .des .item_arrow_6 {
    transform: rotate(90deg) translateX(-11px);
  }

  .faq .container .body .item_1 .des .item_arrow_8 {
    transform: rotate(90deg) translateX(-15px);
  }

  .faq .container .body .item_1 .des .item_images_box_1 {
    grid-template-columns: repeat(2, 160px);
  }

  .faq .container .body .item_1 .des .item_images_box_2 {
    grid-template-columns: 320px auto;
  }
}

/* Master piece */

.masterpiece {
  background: #FFD7D7 !important;
  padding-top: 50px;
	padding-bottom: 0;
  padding-left: 0px !important;
  padding-right: 0px !important;
}

.masterpiece-grid {
	max-width: 375px;
	margin-inline: auto;
}

.masterpiece-grid-sp {
  display: flex;
  /* flex-direction: column; */
  gap: 10px;
  /* display: none; */
  margin-top: 70px;
  justify-content: center;
  margin-left: 8%;
}

.masterpiece-grid-sp .item {
    display: flex;
    align-items: center;
    width: 100%;
    gap: 10px;
    padding-left: 20px;
    padding-right: 20px;
    position: relative;
}


.masterpiece-grid-sp .item .arrow_pc {
  rotate: -90deg;
  height: 50px !important;
  width: 50px;
  margin-left: 18%;
}

.masterpiece-grid-sp .arrow_sp {
  margin-left: 20%;
}

.masterpiece-grid-sp .item .text_pc {
  position: absolute;
  top: -55px;
  width: 55%;
  display: flex;
  justify-content: center;
  font-size: 21px;
  font-weight: bold;
}

.blink_img {
  position: absolute;
  top: -20px;
  left: 125px;
  width: 100px;
  z-index: 5;
}

 .blink_img_jp{
  top: -49px !important;
  left: 143px !important;
}

.masterpiece-grid-sp .item .box-img {
    width: 165px;
    height: 165px;
    aspect-ratio: 1;
    display: flex;
    justify-content: center;
    padding: 10px;
    box-sizing: border-box;
    border: 10px solid transparent;
    border-image: url(../images/home/yellow-border.png) 30 round;
    position: relative;
}

.masterpiece-grid-sp .item .box-img .img-border {
    width: calc(100% + 20px);
    position: absolute;
    height: calc(100% + 20px);
    display: flex;
    justify-content: center;
    align-items: center;
    top: -10px;
    left: -10px;
}

.masterpiece-grid-sp .item .box-img .img-border img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.masterpiece-grid-sp .item p {
    width: 50%;
    margin: 0;
    text-align: center;
    font-size: 20px;
}

.masterpiece-section--1 .item-1 .img-border {
  padding: 16px;
}

.masterpiece-section--1 .item-2 .img-border {
  padding: 6px;
  padding-top: 0;
}

.masterpiece-section--1 .item-3 .img-border img {
  padding: 4px;
  object-position: bottom;
}

.masterpiece-section {
  /* margin-bottom: 80px; */
}

.masterpiece-section--1
.masterpiece-section__title span::before {
    background: url(../images/home/banhkem.png);
    background-size: contain;
    background-repeat: no-repeat;
    content: "";
    display: inline-block;
    width: 40px;
    height: 40px;
}

.masterpiece-section__title {
  text-align: center;
  font-size: 32px;
}

.masterpiece-section__title + div {
  margin-bottom: 24px;
}

.masterpiece-section__title span {
  position: relative;
}
.masterpiece-grid-item__text {
  display: flex;
  align-items: center;
  justify-content: center;
}

.masterpiece-grid-item__text span {
  position: absolute;
  text-align: center;
  font-size: 20px;
}

.masterpiece-grid-item__text img {
  width: 175px;
  height: auto;
}

.masterpiece-grid-item {
  display: grid;
  grid-template-columns: 50% 50%;
  align-items: flex-start;
  justify-content: center;
  margin-inline: auto;
}

.masterpiece-grid-item__img {
	border-radius: 16px;
	object-fit: cover;
	position: relative;
	width: 100%;
	text-align: center;
	max-height: 100px;
}

.masterpiece-grid-item--2
.masterpiece-grid-item__img img {
	height: 100%;
	aspect-ratio: 1.5;
	object-fit: cover;
}

.masterpiece-grid-item--reverse :first-child {
	order: 2;
}

.masterpiece-grid-item--1 + .masterpiece-grid-item__arrow {
  position: relative;
  top: -20px;
  left: -20px;
}

.masterpiece-grid-item--2 + .masterpiece-grid-item__arrow {
  position: relative;
  transform: scaleX(-100%)
}

.masterpiece-grid-item__img img {
    height: 120%;
    object-fit: contain;
}

.masterpiece-grid-item--2 .masterpiece-grid-item__img img {
	border-radius: 16px;
}

.masterpiece-section--1 .masterpiece-section__title span::before {
	width: auto;
	height: 35px;
  height: 60px;
	aspect-ratio: 1;
  position: relative;
  top: 10px;
}

.masterpiece-section__title span {
	font-size: 28px;
}

.masterpiece-grid-item__arrow img {
	width: 100px;
}

.masterpiece-section--1 {
  padding-bottom: 90px;
}

 .masterpiece-section--2 {
  padding-top: 30px;
  padding-bottom: 80px;
  background-color: #c4e2e5  !important;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

.masterpiece-section--2 .masterpiece-grid-sp {
  max-width: 1100px;
  margin: 0 auto;
  margin-top: 70px;
  padding-left: 7%;
}

 .masterpiece-section--2 .item .box-img .img-border {
  padding: 4px;
 }

.masterpiece-section--2 .masterpiece-grid-sp .item .box-img {
height: auto;
aspect-ratio: 1.3;
 }

 .masterpiece-section--2 .masterpiece-grid-sp .item .box-img .img-border {
  padding: 8px;
 }

.masterpiece-section--2 .masterpiece-grid-sp .item .box-img .img-border img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.masterpiece-grid-item--1 + .masterpiece-grid-item__arrow img {
	left: 40px;
}

.masterpiece-grid-item--2 + .masterpiece-grid-item__arrow img {
	position: relative;
	top: 40px;
}

.masterpiece-section--2 .masterpiece-section__title span::before {
	background: url(../images/home/roll-rice.png);
	background-size: contain;
	background-repeat: no-repeat;
	content: "";
	display: inline-block;
	width: 70px;
	height: 60px;
  position: relative;
  top: 10px;
}

.masterpiece-section--2
.masterpiece-grid-item {
	gap: 8px;
}

.masterpiece-section--2
.masterpiece-grid-item__img img {
	height: 100%;
	border-radius: 16px;
}

.masterpiece-section--2
.masterpiece-grid-item--3
.masterpiece-grid-item__img img {
	aspect-ratio: 1;
	object-fit: cover;
}

.masterpiece-section--2
.masterpiece-grid-item--2 + .masterpiece-grid-item__arrow img {
	top: 0;
}

.masterpiece-section--2
.masterpiece-grid-item--1 + .masterpiece-grid-item__arrow {
	top: 0;
}

.masterpiece-section--2
.masterpiece-grid-item__arrow img {
    width: 77px;
    height: 101px;
    object-fit: contain;
}

@media screen and (min-width: 961px) {
	.masterpiece {
		padding-top: 100px;
	}

   /* .masterpiece-section--2 { */
  /* padding-left: 10px;
  padding-right: 10px; */
   /* } */

	.masterpiece-section__title span::before {
		width: auto;
		height: 50px;
		aspect-ratio: 1;
	}

  .masterpiece-grid {
    display: flex;
    max-width: none;
    max-width: 934px;
  }

  .masterpiece-grid-item {
    display: grid;
    grid-template-columns: 1fr;
  }


  .masterpiece-grid-item--1 +
  .masterpiece-grid-item__arrow img {
    rotate: 160deg;
    transform: scaleY(-1) translateY(81px) translateX(-9px);
  }

  .masterpiece-grid-item--2 +
  .masterpiece-grid-item__arrow img {
    rotate: -25deg;
    transform: scaleY(-1) translateY(-32px) translateX(-24px);
    width: 100px;
    height: auto;
  }
}

@media screen and (max-width: 820px){
 
    .masterpiece-grid-sp {
      margin-left: 0% !important;
    }

    .masterpiece-grid-sp .item .arrow_pc {
      margin-left: 7% !important;
    }

    .masterpiece-section--2 .masterpiece-grid-sp .item .arrow_pc {
      margin-left: 0% !important;
      position: relative;
      left: 10%;
    }
}

@media screen and (max-width: 600px) {
  .masterpiece-grid {
    display: none;
  }

  .masterpiece-grid-sp {
    display: flex;
    flex-direction: column;
    margin-left: 0 !important;
    margin-top: 10px;
  }

  .masterpiece-section .pink_wave_sp {
    width: 120px !important;
  }

  .masterpiece-section--1 .masterpiece-section__title span::before{
    height: 35px;
    width: auto;
    top: 0px;
  }

  .masterpiece-section--2 .masterpiece-section__title span::before{
    height: 35px;
    width: 40px;
    top: 0px;
  }

  .masterpiece-section--2 .masterpiece-grid-sp{
    margin-top: 10px;
    padding-left: 0px;
  }

  .masterpiece-grid-sp .item p {
    display: flex;
    justify-content: center;
  }

  .blink_img{
    top: -50px;
    left: 142px;
  }

  .masterpiece-grid-item__text {
    width: 75%;
    height: 100px;
  }

  .masterpiece-grid-item__img img {
    height: 160px;
  }

  .masterpiece-grid-item--2 .masterpiece-grid-item__img img {
    height: 120%;
  }

  .masterpiece-grid-item--2 .masterpiece-grid-item__text {
    margin-left: 20px;
  }

  .masterpiece-section--2 .masterpiece-grid-item__img img {
    height: 130px;
  }

  .masterpiece-grid-item__text span {
   font-size: 16px;
  }

  .masterpiece-grid-item:first-child .masterpiece-grid-item__text,
  .masterpiece-grid-item:last-child .masterpiece-grid-item__text {
    margin-left: auto;
  }
}

.gch_learning_viewmore {
  text-align: center;
  padding: 10px 0;
  font-size: 18px;
  font-weight: 600;
  background-color: #f7b3b9;
  color: #333333;
  cursor: pointer;
  width: 200px;
  border-radius: 20px;
  margin: 10px auto;
	margin-top: 32px;
}

/* gch_payment_text */
.gch_payment_text {
  font-weight: 400;
  margin-top: 32px;
  padding-left: 70px;
}

@media screen and (max-width: 600px) {
  .gch_payment_text {
    padding-inline: 16px;
  }
}

.pickup_bottom_text {
  text-align: center;
  font-size: 22px;
  margin-top: 16px;
  line-height: 130%;
}

.pickup_bottom_text .sp {
  display: none;
}

@media screen and (max-width: 600px) {
  .pickup_bottom_text {
    text-align: center;
    font-size: 18px;
    margin-top: 16px;
  }

  .pickup_bottom_text .sp {
    display: block;
  }
}

/* create me in kawaii */

.create_in_kawaii {
  padding-top: 140px;
  padding-bottom: 70px;
  background: #c4e2e5 !important;
}

.create_in_kawaii.lesson .container .header {
  margin-bottom: 20px;
}

.create_in_kawaii.lesson .header .heading {
  margin-top: 0 !important;
  font-size: 48px;
}

.create_in_kawaii.lesson .header .subheading {
  margin-top: 0 !important;
  font-size: 36px;
}

.create_in_kawaii .title {
  font-size: 32px;
  text-align: center;
  margin-bottom: 32px;
}

.create_in_kawaii_video {
  position: relative;
  width: min(85%, 600px);
  margin-inline: auto;
  margin-block: 32px 48px;
}

.create_in_kawaii_video video {
  width: 100%;
}

.create_in_kawaii_desc {
  font-size: 30px;
  text-align: center;
  margin-bottom: 0;
  color: #333333;
  font-weight: bold;
}

.create_in_kawaii_join_us {
  font-size: 30px;
  text-align: center;
  color: #333333;
  font-weight: normal;
  margin-block: 0 48px;
}

.create_in_kawaii_jp .sp_only {
    display: none;
  }

@media screen and (max-width: 600px) {
  .create_in_kawaii {
    padding-top: 80px;
    padding-bottom: 40px;
  }

  .create_in_kawaii .title {
    font-size: 20px;
    margin-bottom: 24px;
  }

  .create_in_kawaii.lesson .header .heading > span {
    white-space: nowrap;
    font-size: 31px;
  }

  .create_in_kawaii_jp.lesson .header .heading > span {
    font-size: 34px;
  }

  .create_in_kawaii_jp.lesson .header .subheading > span,
  .create_in_kawaii_en.lesson .header .subheading > span {
    font-size: 23px;
  }

  .create_in_kawaii_en.lesson .header .heading {
    margin-bottom: 0;
  }

  .create_in_kawaii_en.lesson .header .subheading {
    margin-bottom: 15px;
  }

  .create_in_kawaii_video {
    width: 100%;
    margin-bottom: 32px;
  }

  .create_in_kawaii_desc {
    font-size: 20px;
  }

  .create_in_kawaii_jp .create_in_kawaii_desc {
    font-size: 23px;
  }

  .create_in_kawaii_jp .sp_only {
    display: block;
  }

  .create_in_kawaii_join_us {
    font-size: 20px;
    margin-bottom: 32px;
  }

  .create_in_kawaii_jp .create_in_kawaii_join_us {
    font-size: 23px;
  }
}

/* Disable glightbox navigation buttons */
.glightbox-container .gbtn.gnext,
.glightbox-container .gbtn.gprev {
    display: none !important;
}

.gslide video {
  background: pink !important;
}

/* common components */
.membership_btn {
  width: fit-content;
  -moz-text-align-last: center;
      text-align-last: center;
  outline: none;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 8px 32px;
  font-weight: bold !important;
  font-size: 27px;
  position: relative;
  text-align: center;
  background: #ED837C;
  border: 2px solid #ED837C;
  border-radius: 9999px;
  color: black;
  line-height: inherit;
}

@media (min-width: 375px) and (max-width: 568px) {
	.membership_btn {
		font-size: 17px;
		line-height: 20px;
		padding: 8px 32px;
		border-radius: 9999px;
	}
}

@media (min-width: 320px) and (max-width: 375px) {
  .membership_btn {
    font-size: 17px !important;
  }
}

@media (max-width: 320px) {
  .membership_btn {
    font-size: 14px !important;
    padding: 10px 0 !important;
  }
}

/* Banner showmore button */

.text-container {
  position: relative;
}

#register_news_text {
  line-height: 1.5;
  overflow: hidden;
  transition: max-height 0.3s ease;
}

#register_news_text.collapsed {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  text-overflow: clip;
}

.register_news_show-more-btn {
  cursor: pointer;
  font-size: 28px;
  text-align: center;
  z-index: 1;
  position: relative;
}

.register_news_show-more-btn.expanded {
  transform: rotate(180deg);
}

/* instructor-avatar */
.instructor-avatar {
  position: relative;
  border-radius: 50%;
  background-image: url("/images/rainbow-frame.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  /* Add centering properties */
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

.instructor-avatar img {
  width: 87%;
  height: auto;
  aspect-ratio: 1;
  border-radius: 100%;
  object-fit: cover;
  overflow: hidden;
  transform: translateZ(0);
}

/* new gch */

.gch-content-group {
  position: relative;
}

.gch-content-group p {
  margin-block: 0;
}

.gch_pc {
  position: relative;
  display: block;
}

.gch_sp {
  position: relative;
  display: none;
}

.gch-content-group p {
  margin-block: 0;
  line-height: 140%;
  font-weight: 400;
  font-size: 18px;
}

.gch-content-group .gch-content__title {
  color: #d9455b;
  font-size: 20px;
  font-weight: bold;
}

.gch-content-group .gch-content__desc {
  font-size: 18px;
}

.gch-content-group .gch-content__star-text {
  font-size: 16px;
  position: relative;
  padding-left: 21px;
  font-weight: 600;
}

.gch-content-group .gch-content__star-text::before {
  content: '';
  background-image: url("/images/star-text.png");
  background-size: contain;
  background-repeat: no-repeat;
  display: inline-block;
  width: auto;
  height: 19px;
  aspect-ratio: 1;
  margin-right: 4px;
  position: absolute;
  transform: translateY(-50%);
  top: 50%;
  left: 0;
}

.gch-content {
  position: absolute;
  color: black;
  width: 576px;
  height: 145px;
  display: flex;
  justify-content: center;
  flex-direction: column;
  padding-left: 27px;
  padding-right: 20px;
}

.gch-content--1 {
  width: 636px;
    top: 185px;
    left: 182px;
    right: auto;
    margin-left: auto;
    padding-left: 40px;
}

.gch-content--1 .gch-content__title br {
  display: none;
}

.gch-content--2 {
    top: 397px;
    left: 112px;
    width: 636px;
    height: 165px;
    right: auto;
    margin-left: auto;
}

.gch-content--3 {
  width: 636px;
    top: 645px;
    left: 182px;
    right: auto;
    margin-left: auto;
    padding-left: 40px;
}

.gch-content--4 {
    top: 868px;
    left: 112px;
    width: 636px;
    height: 165px;
    right: auto;
    margin-left: auto;
}

.gch-content--5 {
  width: 636px;
    top: 1104px;
    left: 182px;
    right: auto;
    margin-left: auto;
    padding-left: 40px;
}


@media screen and (max-width: 1014px) {
  .gch_pc {
    display: none;
  }

  .gch_sp {
    display: block;
  }

  .gch-content-group {
    max-width: 354px;
    margin: auto;
  }

  .gch-content-group p {
    margin-block: 0;
    line-height: 138%;
    font-weight: 400;
    font-size: 13px;
  }

  .gch-content {
    color: black;
    width: 250px;
    height: 141px;
    display: flex;
    justify-content: center;
    flex-direction: column;
    padding-left: 27px;
    padding-right: 20px;
  }

  .gch-content-group .gch-content__title {
    color: #d9455b;
    font-size: 15px;
    font-weight: bold;
  }

  .gch-content-group .gch-content__desc {
    font-size: 13px;
  }

  .gch-content-group .gch-content__star-text {
    font-size: 12px;
    position: relative;
    padding-left: 14px;
  }

  .gch-content-group .gch-content__star-text::before {
    content: '';
    background-image: url("/images/star-text.png");
    background-size: contain;
    background-repeat: no-repeat;
    display: inline-block;
    width: auto;
    height: 12px;
    aspect-ratio: 1;
    margin-right: 2px;
    position: absolute;
    transform: translateY(-50%);
    top: 50%;
    left: 0;
  }

.gch-content--1 {
    position: absolute;
    top: 127px;
    left: 104px;
    right: auto;
    margin-left: auto;
}

.gch-content--1 .gch-content__title br {
  display: block;
}

.gch_jp .gch-content--1 {
    position: absolute;
    top: 127px;
    left: 104px;
    right: auto;
    margin-left: auto;
    padding-right: 36px;
    padding-left: 22px;
}

.gch-content--2 {
    position: absolute;
    top: 280px;
    left: auto;
    margin-left: auto;
    padding-left: 35px;
}

.gch-content--3 {
    position: absolute;
    top: 442px;
    left: auto;
    right: 0;
    margin-left: auto;
}

.gch-content--4 {
    position: absolute;
    top: 603px;
    left: auto;
    /* right: 0; */
    margin-left: auto;
    padding-left: 35px;
}

  .gch-content--5 {
    position: absolute;
    top: 764px;
    left: auto;
    right: 0;
    margin-left: auto;
  }

}

.gch-content--5 .gch-content__star-text {
  padding-left: 0;
  font-weight: normal;
}

.gch-content--5 .gch-content__star-text::before {
  display: none;
}

/* fixed contact */
.fixed_contact_btn {
  position: fixed;
  bottom: 12px;
  right: 12px;
  z-index: 10;
  cursor: pointer;
}

.fixed_contact_btn img {
  width: 60px;
  height: auto;
  aspect-ratio: 1;
  object-fit: contain;
}

.fixed_contact_close {
  position: absolute;
  top: -8px;
  right: 0;
  border: none;
  border-radius: 50%;
  width: 24px;
  height: 24px;
  cursor: pointer;
  color: white;
  font-size: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
  background-color: rgb(237, 131, 124);
}

@media screen and (min-width: 960px) {
  .fixed_contact_btn img {
    width: 70px;
  }
}

/* learning */

.learning,
.home_jp .learning {
  padding-top: 0;
}

.learning_heading {
  white-space: nowrap;
  font-size: 31px;
  line-height: 115%;
  text-align: center;
}

.learning_heading span {
  position: relative;
}

.learning_heading span::before {
  content: '';
  background-image: url("/images/icons/asset_41.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  display: inline-block;
  width: auto;
  height: 68px;
  aspect-ratio: 1;
  position: absolute;
  transform: translateY(-72%);
  top: 50%;
  left: -83px;
}

.learning_heading span::after {
  content: '';
  background-image: url("/images/icons/asset_42.png");
  background-size: contain;
  background-repeat: no-repeat;
  display: inline-block;
  width: auto;
  height: 34px;
  aspect-ratio: 1;
  position: absolute;
  transform: translateY(-96%);
  top: 50%;
  left: auto;
  right: -43px;
}

@media screen and (max-width: 959px) {
  .learning_jp .learning_heading span {
    font-size: 30px;
  }

  .learning_jp .learning_heading span::before {
    height: 63px;
    left: -61px;
  }

  .learning_jp .learning_heading span::after {
    height: 35px;
    right: -40px;
  }
}

@media screen and (min-width: 960px) {
  .learning_heading span {
    font-size: 48px;
    line-height: 128%;
  }

  .learning_heading span::before {
    width: 126px;
    height: 63px;
    left: -127px;
  }

  .learning_heading span::after {
    height: 57px;
    right: -68px;
  }

  .learning_en .learning_heading span::before {
    left: -154px;
  }
}