@charset "UTF-8";
/*
Theme Name: shimarisu Theme
Author: あなたの名前
Description: オリジナルのカスタムテーマです。
Version: 1.0
*/
.-headerPC {
  display: block;
}

.-headerSP {
  display: none;
}

.site-description {
  display: none;
}

.site-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background-color: transparent;
  z-index: 1000;
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 88px;
  padding-inline: 40px;
  transition: transform 0.3s ease-in-out;
}
.site-header .navigation-wrapper {
  display: flex;
  gap: 24px;
}
.site-header .main-navigation {
  display: flex;
  flex-direction: row;
  list-style: none;
  gap: 32px;
  margin: 0;
  padding: 0;
  align-items: center;
  color: #756155;
}
.site-header .main-navigation li a {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: 0.09em;
  color: #756155;
}
.site-header .site-branding {
  align-self: center;
}
.site-header .sub-navigation {
  display: flex;
  gap: 16px;
  align-self: center;
}
.site-header .lessonReservation {
  border-radius: 40px;
  padding: 16px 24px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
  transition: background-color 0.3s, color 0.3s;
  border: 1px solid #C59993;
  background: #C59993;
  color: #fff;
}
.site-header .lessonReservation:hover {
  opacity: 1;
  color: #C59993;
  background: #fff;
}
.site-header .membersLogin {
  border-radius: 40px;
  padding: 16px 24px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
  transition: background-color 0.3s, color 0.3s;
  border: 1px solid #C59993;
  color: #C59993;
  background: #fff;
}
.site-header .membersLogin:hover {
  opacity: 1;
  background: #C59993;
  color: #fff;
}
.site-header .sp-navigation-wrapper {
  display: none;
  gap: 24px;
}
.site-header .sp-navigation-wrapper .header-logo {
  margin-inline: auto;
  padding-block: 25px;
}
.site-header .pc-navigation-wrapper {
  display: flex;
  gap: 24px;
}
.site-header .site-branding {
  height: 100%;
}
.site-header .site-title {
  display: flex;
  text-align: center;
  height: 100%;
}
.site-header .site-title-inner {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%; /* 親要素の高さに合わせる */
}
.site-header .header-logo {
  display: block;
  height: fit-content;
  max-width: 165px;
}
.site-header .header-logo img {
  width: 100%;
}

/* --- Hamburger Menu Styles --- */
.hamburger-button {
  display: none;
  position: relative;
  z-index: 1001;
  width: 40px;
  height: 40px;
  border: none;
  background: transparent;
  cursor: pointer;
  align-self: center;
}
.hamburger-button__line {
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  width: 24px;
  height: 2px;
  background-color: #756155;
  transform: translate(-50%, -50%);
  transition: transform 0.3s, background-color 0.3s;
}
.hamburger-button__line::before, .hamburger-button__line::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #756155;
  transition: transform 0.3s;
}
.hamburger-button__line::before {
  transform: translateY(-8px);
}
.hamburger-button__line::after {
  transform: translateY(8px);
}
.hamburger-button.is-active .hamburger-button__line {
  background-color: transparent;
}
.hamburger-button.is-active .hamburger-button__line::before {
  transform: translateY(0) rotate(45deg);
}
.hamburger-button.is-active .hamburger-button__line::after {
  transform: translateY(0) rotate(-45deg);
}

.no-scroll {
  overflow: hidden;
}

.site-header.is-hidden {
  transform: translateY(-190%);
}

/* --- Media Query for SP --- */
@media (max-width: 1280px) {
  .-headerPC {
    display: none;
  }
  .-headerSP {
    display: block;
  }
  .site-header > .navigation-wrapper {
    display: none;
  }
  .site-header.is-hidden {
    transform: translateY(-100%);
  }
  .site-header {
    padding-inline: 20px;
  }
  .site-header .header-dummy-space {
    width: 40px;
    height: 40px;
  }
  .site-header .site-branding {
    order: 2;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    align-items: center;
  }
  .site-header .hamburger-button {
    order: 3;
  }
  .site-header .header-logo-image {
    max-width: 165px;
    margin-inline: auto;
  }
  .site-header .header-logo-image img {
    width: 100%;
  }
  .site-header .sp-navigation-wrapper {
    background: #FFF;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: start;
    align-items: center;
    gap: 24px;
    transform: translateX(100%);
    visibility: hidden;
    transition: transform 0.4s ease-in-out, visibility 0.4s ease-in-out;
    z-index: 50;
    padding: 20px 0;
    overflow-y: auto;
  }
  .site-header .sp-navigation-wrapper.is-active {
    transform: translateX(0);
    visibility: visible;
  }
  .site-header .sp-navigation-wrapper .main-navigation,
  .site-header .sp-navigation-wrapper .sub-navigation {
    margin-top: 24px;
    flex-direction: column;
    text-align: center;
    width: calc(100% - 112px);
    margin-inline: auto;
    gap: 20px;
  }
  .site-header .sp-navigation-wrapper .main-navigation {
    max-width: 280px;
    gap: 32px;
    text-align: left;
    justify-content: start;
    align-items: start;
  }
  .site-header .sp-navigation-wrapper .main-navigation li a {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: 0.09em;
  }
  .site-header .sp-navigation-wrapper li a {
    display: block;
    max-width: 280px;
    margin-inline: auto;
    width: 100%;
    text-align: center;
  }
  .site-header .pc-navigation-wrapper {
    display: none;
  }
  .site-header .hamburger-button {
    display: block;
  }
}
.site-footer {
  background: #fff;
  padding-block: 60px 78px;
  color: #756155;
  width: calc(100% - 32px);
  margin-inline: auto;
}
.site-footer .footer-logo-image {
  margin-inline: auto;
  max-width: 156px;
}
.site-footer .footer-logo-image img {
  width: 100%;
}
.site-footer .site-info {
  margin-inline: auto;
}
.site-footer .footer-navigation-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 49px;
}
.site-footer .footer-main-navigation {
  display: flex;
  flex-wrap: wrap;
  gap: 24px 16px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.3;
}
.site-footer .footer-main-navigation li {
  width: calc(50% - 8px);
}
.site-footer .footer-logo-line {
  margin-top: 32px;
  max-width: 40px;
}
.site-footer .footer-sub-navigation {
  display: flex;
  gap: 16px;
  margin-top: 40px;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.3;
}
.site-footer .footer-copyright {
  margin-top: 20px;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.3;
  color: #756155;
  opacity: 0.8;
}

@media (min-width: 960px) {
  .site-footer {
    background: #fff;
    padding-block: 74px;
  }
  .site-footer .footer-logo-image {
    max-width: 168px;
    margin-left: 0;
  }
  .site-footer .site-info {
    display: flex;
    justify-content: space-between;
    max-width: 1140px;
    margin-inline: auto;
    align-items: center;
  }
  .site-footer .footer-navigation-wrapper {
    display: flex;
    flex-direction: column;
    align-items: end;
  }
  .site-footer .footer-main-navigation {
    display: flex;
    gap: 48px;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.3;
  }
  .site-footer .footer-main-navigation li {
    width: fit-content;
  }
  .site-footer .footer-logo-line {
    margin-top: 32px;
  }
  .site-footer .footer-sub-navigation {
    display: flex;
    gap: 24px;
    margin-top: 40px;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.3;
  }
  .site-footer .footer-copyright {
    margin-top: 0;
    padding-left: 24px;
    border-left: 1px solid #C8B6A8;
  }
}
.section-inner {
  width: calc(100% - 32px);
  margin-inline: auto;
}

img {
  width: 100%;
}

.site-top-logo {
  position: absolute;
  top: 30px;
  left: 40px;
  max-width: 137px;
  height: auto;
  z-index: 9999;
}
.site-top-logo a {
  display: block;
}

.wave_img_wrap {
  position: relative;
}

.top-title-img {
  max-width: 261px;
  aspect-ratio: 261/177;
  margin-left: 16px;
}

.top-girl-img {
  position: relative;
  width: 100%;
  background: linear-gradient(to bottom, #fff 75%, #CFBE9B 25%);
  margin-top: 24px;
}

.top-musical-note-img {
  width: 23.8461538462vw;
  position: absolute;
  right: 20px;
  top: 0;
  transform: translate(0, -63px);
}

.top-section {
  background: #CFBE9B;
  position: relative;
  padding-block: 80px;
}
.top-section .top-section-inner {
  max-width: calc(100% - 32px);
  margin-inline: auto;
}
.top-section .top-second {
  background: #fff;
  max-width: 320px;
  width: calc(100% - 70px);
  margin-inline: auto;
}
.top-section h1 {
  font-size: 32px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: #66554A;
}
.top-section h2 {
  font-size: 24px;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0;
  color: #FFFFFF;
  text-align: left;
}
.top-section .top-text-img {
  max-width: 240px;
}
.top-section .top-lesson-img {
  aspect-ratio: 390/425;
  width: 100%;
  margin-top: 40px;
}
.top-section .top-lesson-img img {
  display: block;
  width: 100%;
}
.top-section .top-text {
  font-size: 16px;
  font-weight: 400;
  line-height: 2.2;
  margin-top: 24px;
  color: #fff;
}
.top-section .top-text:first-of-type {
  margin-top: 46px;
}
.top-section .about-button {
  margin-top: 24px;
}
.top-section .recommendation-title-img {
  max-width: 216px;
  margin-inline: auto;
  aspect-ratio: 216/48;
}
.top-section .recommendation-item {
  position: relative;
}
.top-section .recommendation-item:first-of-type {
  margin-top: 20px;
}
.top-section .recommendation-item {
  margin-top: 50px;
}
.top-section .recommendation-item-number {
  max-width: 32px;
  margin-inline: auto;
}
.top-section .number-one {
  max-width: 17px;
}
.top-section .number-two {
  max-width: 24px;
}
.top-section .number-three {
  max-width: 25px;
}
.top-section .recommendation-item-img {
  width: 100%;
  margin-top: 24px;
  aspect-ratio: 320/280;
}
.top-section .recommendation-item-title {
  margin-inline: auto;
  margin-top: 24px;
  width: 84.375%;
}
.top-section .recommendation-item-title span {
  color: #66554A;
}
.top-section .number-three-title {
  width: 90.625%;
}
.top-section .recommendation-item-text {
  color: #66554A;
  opacity: 0.8;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.7;
  margin-top: 24px;
}
.top-section .recommendation-vector {
  width: fit-content;
  margin-inline: auto;
}

.top-section-second {
  background: #fff;
  padding-block: 67px 90px;
}

.top-bottom-img {
  position: relative;
  width: 100%;
  background: linear-gradient(to bottom, #fff 50%, #D6B9B0 50%);
  aspect-ratio: 390/220;
}
.top-bottom-img img {
  width: 100%;
}

.course-section {
  padding-block: 60px 76px;
  background: #D6B9B0;
  color: #fff;
}
.course-section .course-section-inner {
  max-width: 560px;
}
.course-section .course-title-img {
  max-width: 252px;
  margin-inline: auto;
  aspect-ratio: 252/65;
}
.course-section h2 {
  color: #fff;
}
.course-section .course-list {
  margin-top: 32px;
}
.course-section .course-item {
  margin-top: 12px;
  padding: 24px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.15);
}
.course-section .course-item:first-of-type {
  margin-top: 0;
}
.course-section .course-item-title {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0;
}
.course-section .course-item-title span {
  font-size: 14px;
}
.course-section .course-item-text {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.7;
  margin-top: 12px;
}
.course-section .course-button {
  margin-top: 32px;
}

.join-section .join-section-inner {
  width: calc(100% - 32px);
  margin-inline: auto;
  padding-block: 80px;
  max-width: 560px;
}
.join-section .join-title-img {
  max-width: 224px;
  margin-inline: auto;
  aspect-ratio: 224/62;
}
.join-section .join-flow-list {
  margin-top: 48px;
}
.join-section .join-flow-item {
  display: flex;
  align-items: center;
  position: relative;
  gap: 16px;
}
.join-section .join-flow-item:not(:first-child) {
  margin-top: 54px;
}
.join-section .join-flow-item:not(:first-child)::before {
  content: "";
  position: absolute;
  top: -40px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 13px 13px 0 13px;
  border-color: #CFBE9B transparent transparent transparent;
}
.join-section .join-flow-img {
  max-width: 72px;
  flex-shrink: 0;
}
.join-section .join-flow-number {
  width: 23.3333333333%;
}
.join-section .join-flow-title {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.7;
  color: #66554A;
  margin-top: 11px;
}
.join-section .join-flow-text {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.7;
  color: #66554A;
  margin-top: 8px;
  opacity: 0.8;
}
.join-section .join-apply {
  margin-top: 48px;
  background: #C59993;
  border-radius: 24px;
}
.join-section .join-apply-inner {
  border-radius: 16px;
  padding: 34px 20px 30px;
  max-width: 560px;
}
.join-section .join-apply-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  color: #fff;
}
.join-section .join-apply-text {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.7;
  margin-top: 16px;
  color: #fff;
}
.join-section .join-apply-button {
  display: block;
  background: #fff;
  border: 1px solid #fff;
  color: #C59993;
  border-radius: 16px;
  padding: 30px 20px;
  width: 100%;
  margin-top: 12px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
}
.join-section .join-apply-button::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 24px;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  background-image: url(images/Arrow-Right.svg);
  background-size: contain;
  background-repeat: no-repeat;
}
.join-section .join-apply-line {
  position: relative;
  display: flex;
  align-items: center;
  background: #C59993;
  border: 1px solid #fff;
  color: #fff;
  border-radius: 16px;
  padding: 12px 16px 10px 12px;
  width: 100%;
  margin-top: 12px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
}
.join-section .join-apply-line img {
  margin-right: 12px;
  max-width: 40px;
}
.join-section .join-apply-line::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 24px;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  background-image: url(images/Arrow-Right-reverse.svg);
  background-size: contain;
  background-repeat: no-repeat;
}
.join-section .join-apply-subText {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  margin-top: 8px;
  color: #fff;
  letter-spacing: 0;
}

.news-section {
  background: #ECE5D5;
}
.news-section .news-section-inner {
  padding-block: 80px;
  max-width: 560px;
}
.news-section .calendar-title-img {
  max-width: 252px;
  margin-inline: auto;
  aspect-ratio: 252/65;
}
.news-section .news-calendar {
  margin-top: 40px;
  width: 100%;
  aspect-ratio: 358/473;
  border-radius: 16px;
  overflow: hidden;
}
.news-section .news-calendar iframe {
  width: 100%;
  height: 100%;
}

.info-section {
  background: #ECE5D5;
}
.info-section .info-section-inner {
  padding-block: 0 80px;
  max-width: 560px;
}
.info-section .info-title-img {
  max-width: 224px;
  margin-inline: auto;
  aspect-ratio: 224/65;
}
.info-section .news-list {
  margin-top: 32px;
  border-top: 1px solid rgba(102, 85, 26, 0.3019607843);
  border-bottom: 1px solid rgba(102, 85, 26, 0.3019607843);
}
.info-section .news-item:not(:last-child) {
  border-bottom: 1px solid rgba(102, 85, 26, 0.3);
}
.info-section .news-item-link {
  display: block;
  margin-top: 24px;
  padding-bottom: 24px;
}
.info-section .news-item-content {
  display: block;
  align-items: center;
  gap: 16px;
  position: relative;
}
.info-section .news-item-content::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(-29px, -50%) rotate(45deg); /* 中央揃えと45度回転 */
  width: 8px; /* 記号の「太さ」 */
  height: 8px; /* 記号の「太さ」 */
  border-right: 2px solid #66554A; /* 右側の線 */
  border-top: 2px solid #66554A; /* 上側の線 */
}
.info-section .news-item-meta {
  flex-shrink: 0;
}
.info-section .news-item-date {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  color: #756155;
}
.info-section .news-item-title {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  color: #756155;
  position: relative;
  margin-top: 8px;
  padding-right: 50px;
}
.info-section .category-members {
  position: relative;
}
.info-section .category-members .news-item-date {
  height: 100%;
  display: flex;
  align-items: center;
}
.info-section .category-members .news-item-date::after {
  content: "|  MEMBERS限定";
  display: flex;
  margin-left: 8px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.5;
  color: #756155;
  justify-content: center;
  align-items: center;
}
.info-section .news-more-button {
  max-width: 180px;
  margin-top: 32px;
}

.faq-section .faq-section-inner {
  padding-block: 80px 57px;
  max-width: 560px;
}
.faq-section .faq-title-img {
  max-width: 224px;
  margin-inline: auto;
  aspect-ratio: 224/65;
}
.faq-section .faq-list {
  margin-top: 32px;
  border-top: 1px solid #C9C3BE;
  border-bottom: 1px solid #C9C3BE;
}
.faq-section .ewd-ufaq-post-margin {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
}
.faq-section .ewd-ufaq-faq-post {
  flex-direction: column;
}
.faq-section .ewd-ufaq-faq-post p {
  word-break: break-all;
}
.faq-section .ewd-ufaq-faq-div {
  margin: 0;
  padding-block: 25px;
}
.faq-section .ewd-ufaq-faq-div:not(:last-child) {
  border-bottom: 1px solid #C9C3BE;
}
.faq-section .ewd-ufaq-faq-body {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.7;
  color: #66554A;
  padding: 25px 0 0 38px;
  position: relative;
}
.faq-section .ewd-ufaq-faq-body::before {
  content: "";
  position: absolute;
  width: 22px;
  height: 26px;
  background-image: url(images/A..png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  left: 8px;
  transform: translateY(2px);
}
.faq-section .ewd-ufaq-post-margin-symbol {
  width: fit-content !important;
  margin-left: 0 !important;
  align-self: center;
  flex-shrink: 0;
}
.faq-section .ewd-ufaq-post-margin-symbol span {
  font-size: 20px !important;
  color: #66554A;
}
.faq-section .ewd-ufaq-faq-title-text {
  width: fit-content !important;
}
.faq-section .ewd-ufaq-clear {
  display: none !important;
}
.faq-section .ewd-ufaq-faq-title-text h4 {
  font-family: "Noto Sans CJK JP", "Noto Sans JP", sans-serif;
  margin: 0 !important;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  color: #66554A;
  position: relative;
  padding-left: 38px;
}
.faq-section .ewd-ufaq-faq-title-text h4::before {
  content: "";
  position: absolute;
  width: 22px;
  height: 26px;
  background-image: url(images/Q..png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  left: 8px;
  transform: translateY(2px);
}
.faq-section .faq-more-button {
  margin-top: 32px;
  max-width: 280px;
}

.chipmunk_img01 {
  max-width: 120px;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -26px);
  z-index: 2;
}

.imag_leaf01 {
  max-width: 156px;
  position: absolute;
  top: 0;
  left: 0%;
  transform: translate(16px, -46px);
  z-index: 2;
}

.img_acorn {
  max-width: 128px;
  position: absolute;
  top: 0;
  right: 0%;
  transform: translate(-16px, -35px);
  z-index: 2;
}

.chipmunk_img02 {
  max-width: 113px;
  position: absolute;
  bottom: 0;
  left: 0%;
  transform: translate(16px, 0px);
  z-index: 2;
}

.note_img01 {
  max-width: 53px;
  position: absolute;
  top: 0;
  left: 0%;
  transform: translate(-13px, -7px);
  z-index: 2;
}

.note_img02 {
  max-width: 53px;
  position: absolute;
  bottom: 0;
  right: 0%;
  transform: translate(4px, 36px);
  z-index: 2;
}

@media (min-width: 960px) {
  .top-title-img {
    max-width: 362px;
    aspect-ratio: 261/177;
    margin-left: 0px;
  }
  .top-girl-img {
    width: 100%;
    background: linear-gradient(to bottom, #fff 75%, #CFBE9B 25%);
    margin-top: 24px;
  }
  .top-img-bg {
    position: relative;
  }
  .top_wave_img_pc {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 1;
  }
  .top-section {
    padding-block: 141px 130px;
  }
  .top-section .top-section-inner {
    display: flex;
    gap: 36px;
    max-width: 936px;
  }
  .top-section .top-second {
    display: block;
  }
  .top-section .top-text-wrap {
    width: calc(50% - 36px);
    margin-top: 16px;
    letter-spacing: 0.04em;
  }
  .top-section .top-lesson-img {
    margin-top: 39px;
    width: 50%;
  }
  .top-section .top-text-img {
    max-width: 360px;
  }
  .top-section .top-text {
    font-size: 18px;
    margin-top: 24px;
    letter-spacing: 0.04em;
  }
  .top-section .top-text:first-of-type {
    margin-top: 55px;
  }
  .top-section .shimarisu-button-white {
    margin-left: 0;
  }
  .top-section-second {
    background: #fff;
    padding-block: 96px 120px;
  }
  .top-section-second .recommendation-title-img {
    max-width: 252px;
    aspect-ratio: 252/27;
  }
  .top-section-second .recommendation-item {
    position: relative;
    max-width: 820px;
    display: flex;
    align-items: center;
    gap: 56px;
    text-align: left;
    margin-top: 16px;
  }
  .top-section-second .recommendation-item:nth-child(2) {
    flex-direction: row-reverse;
  }
  .top-section-second .recommendation-item-number {
    margin-left: 0;
    max-width: 36px;
  }
  .top-section-second .recommendation-item-wrap {
    max-width: 420px;
    width: 51.2195121951%;
  }
  .top-section-second .recommendation-item-img {
    max-width: 344px;
    width: 41.9512195122%;
  }
  .top-section-second .recommendation-list {
    width: 820px;
    margin-inline: auto;
    margin-top: 45px;
  }
  .top-section-second .recommendation-item:first-of-type {
    margin-top: 0;
  }
  .top-section-second .recommendation-item-number {
    margin-top: 0px;
  }
  .top-section-second .number-one {
    max-width: 20px;
  }
  .top-section-second .number-two {
    max-width: 28px;
  }
  .top-section-second .number-three {
    max-width: 30px;
  }
  .top-section-second .recommendation-item-title {
    margin-left: 0;
    margin-top: 36px;
    max-width: 80%;
  }
  .top-section-second .recommendation-item-text {
    margin-top: 20px;
  }
  .top-section-second .recommendation-item-img {
    margin-top: 0;
  }
  .top-bottom-img {
    aspect-ratio: 1512/515;
  }
  .course-section {
    padding-block: 96px 120px;
  }
  .course-section .course-section-inner {
    max-width: 1140px;
  }
  .course-section .course-list {
    margin-top: 40px;
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
  }
  .course-section .course-item {
    margin-top: 0;
    width: calc(50% - 8px);
    padding: 32px;
  }
  .course-section .course-item-title {
    font-size: 20px;
  }
  .course-section .course-item-title span {
    font-size: 16px;
  }
  .course-section .course-button {
    margin-top: 40px;
  }
  .join-section .join-section-inner {
    padding-block: 120px;
    max-width: 820px;
  }
  .join-section .join-title-img {
    max-width: 256px;
  }
  .join-section .join-flow-list {
    margin-top: 48px;
  }
  .join-section .join-flow-item {
    gap: 24px;
  }
  .join-section .join-flow-number {
    max-width: 66px;
  }
  .join-section .join-apply {
    margin-top: 64px;
  }
  .join-section .join-apply-inner {
    max-width: 100%;
    display: flex;
    gap: 32px;
    padding: 32px 32px 35px 40px;
  }
  .join-section .join-apply-content {
    width: 53.6096256684%;
  }
  .join-section .join-apply-button-wrap {
    width: 42.1122994652%;
  }
  .join-section .join-apply-title {
    text-align: left;
    font-size: 24px;
    margin-top: 8px;
  }
  .join-section .join-apply-text {
    margin-top: 24px;
  }
  .join-section .join-apply-button {
    margin-top: 0;
    font-size: 20px;
    padding: 34px 27px 33px;
  }
  .join-section .join-apply-line_pc {
    margin-top: 18px;
    display: flex;
    justify-content: space-between;
  }
  .join-section .join-apply-line-text {
    margin-top: 5px;
  }
  .join-section .line_qr {
    max-width: 97px;
    aspect-ratio: 1/1;
  }
  .join-section .join-apply-line-text {
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
    position: relative;
    padding: 8px 16px 8px 8px; /* テキストのパディング。右側に矢印スペースを確保 */
    display: inline-block;
    color: white; /* テキストの色 */
    background-image: url(images/Rectangle.png);
    background-size: contain;
    background-repeat: no-repeat;
  }
  .join-section .join-apply-subText {
    margin-top: 10px;
  }
  .news-section .news-section-inner {
    padding-block: 120px;
    max-width: 1140px;
  }
  .news-section .calendar-title-img {
    max-width: 288px;
  }
  .news-section .news-calendar {
    margin-top: 40px;
    max-width: 820px;
    margin-inline: auto;
    aspect-ratio: 820/564;
  }
  .info-section .info-section-inner {
    display: flex;
    gap: 140px;
    max-width: 1140px;
    padding-block: 0 120px;
  }
  .info-section .info-title-wrap {
    flex-grow: 1;
  }
  .info-section .info-title-img {
    max-width: 128px;
    aspect-ratio: 128/75;
    margin-left: 0;
  }
  .info-section .news-list {
    margin-top: 0;
    width: 71.9298245614%;
    height: fit-content;
  }
  .info-section .news-item {
    padding-left: 16px;
  }
  .info-section .news-item-link {
    margin-top: 32px;
    padding-bottom: 32px;
  }
  .faq-section .faq-section-inner {
    padding-block: 120px 0;
    max-width: 1384px;
  }
  .faq-section .faq-list {
    max-width: 820px;
    margin-inline: auto;
    margin-top: 57px;
  }
  .faq-section .faq-more-button {
    margin-top: 48px;
  }
  .faq-section .ewd-ufaq-faq-div {
    padding-block: 32px;
  }
  .faq-section .ewd-ufaq-faq-title-text h4 {
    font-size: 18px;
    padding-left: 42px;
  }
  .faq-section .ewd-ufaq-faq-body {
    font-size: 18px;
    padding: 25px 0 0 42px;
  }
  .chipmunk_img01 {
    max-width: 164px;
  }
  .imag_leaf01 {
    max-width: 236px;
    transform: translate(75px, -62px);
  }
  .img_acorn {
    max-width: 150px;
    transform: translate(-85px, -43px);
  }
  .chipmunk_img02 {
    max-width: 178px;
    transform: translate(105px, 16px);
  }
  .note_img01 {
    max-width: 70px;
    transform: translate(-75px, -32px);
  }
  .note_img02 {
    max-width: 59px;
    transform: translate(52px, 5px);
  }
  .top-title-img {
    position: absolute;
    top: 47px;
    left: 0;
    z-index: 3;
    width: 38.7995712755%;
    transform: translateX(-28.453038674%);
  }
  .top-girl-img-wrap {
    position: relative;
    max-width: 933px;
    width: calc(100% - 200px);
    height: fit-content;
    margin-inline: auto;
  }
  .top-girl-img {
    position: relative;
    max-width: 933px;
    margin-inline: auto;
    background: transparent;
    z-index: 2;
  }
  .top_img_girl_bg_pc {
    position: absolute;
    top: 0;
    left: 0;
    width: 78.7781350482%;
    transform: translate(-12.925170068%, -4.0616246499%);
  }
  .top_musical-note_pc {
    position: absolute;
    top: 0;
    right: 0;
    width: 34.6195069668%;
    transform: translate(35.6037151703%, 62.3529411765%);
  }
  .top-musical-note-img {
    width: 23.8461538462vw;
    position: absolute;
    right: 20px;
    top: 0;
    transform: translate(0, -63px);
  }
}
.faqs-page-main {
  padding-top: 24px;
}
.faqs-page-main .faqs-page-title-img {
  max-width: 224px;
  aspect-ratio: 224/68;
  margin-inline: auto;
}
.faqs-page-main .faq-list {
  margin-top: 32px;
  border-top: 1px solid #C9C3BE;
  border-bottom: 1px solid #C9C3BE;
}
.faqs-page-main .ewd-ufaq-post-margin {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
}
.faqs-page-main .ewd-ufaq-faq-post {
  flex-direction: column;
}
.faqs-page-main .ewd-ufaq-faq-post p {
  word-break: break-all;
}
.faqs-page-main .ewd-ufaq-faq-div {
  margin: 0;
  padding-block: 25px;
}
.faqs-page-main .ewd-ufaq-faq-div:not(:last-child) {
  border-bottom: 1px solid #C9C3BE;
}
.faqs-page-main .ewd-ufaq-faq-body {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.7;
  color: #66554A;
  padding: 25px 0 0 38px;
  position: relative;
}
.faqs-page-main .ewd-ufaq-faq-body::before {
  content: "";
  position: absolute;
  width: 22px;
  height: 26px;
  background-image: url(images/A..png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  left: 8px;
  transform: translateY(2px);
}
.faqs-page-main .ewd-ufaq-post-margin-symbol {
  width: fit-content !important;
  margin-left: 0 !important;
  align-self: center;
  flex-shrink: 0;
}
.faqs-page-main .ewd-ufaq-post-margin-symbol span {
  font-size: 20px !important;
  color: #66554A;
}
.faqs-page-main .ewd-ufaq-clear {
  display: none !important;
}
.faqs-page-main .ewd-ufaq-faq-title-text {
  width: fit-content !important;
}
.faqs-page-main .ewd-ufaq-faq-title-text h4 {
  font-family: "Noto Sans CJK JP", "Noto Sans JP", sans-serif;
  margin: 0 !important;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  color: #66554A;
  position: relative;
  padding-left: 38px;
}
.faqs-page-main .ewd-ufaq-faq-title-text h4::before {
  content: "";
  position: absolute;
  width: 22px;
  height: 26px;
  background-image: url(images/Q..png);
  background-size: contain;
  background-repeat: no-repeat;
  left: 8px;
  transform: translateY(2px);
}
.faqs-page-main .faq-more-button {
  margin-top: 32px;
  max-width: 280px;
}

@media (min-width: 960px) {
  .faqs-page-main {
    padding-top: 0px;
  }
  .faqs-page-main .faq-list {
    max-width: 820px;
    margin-inline: auto;
    margin-top: 57px;
  }
  .faqs-page-main .faq-more-button {
    margin-top: 48px;
  }
  .faqs-page-main .members-login {
    margin-top: 120px;
    max-width: 1384px;
    padding-top: 0px;
    padding-inline: 20px;
    display: flex;
    align-items: center;
    gap: 40px;
  }
  .faqs-page-main .faqs-page-title-img {
    max-width: 280px;
  }
  .faqs-page-main .ewd-ufaq-faq-body {
    font-size: 18px;
    padding: 25px 0 0 42px;
  }
  .faqs-page-main .ewd-ufaq-faq-title-text h4 {
    font-size: 18px;
    padding-left: 42px;
  }
  .faqs-page-main .ewd-ufaq-faq-div {
    padding-block: 32px;
  }
}
.about-page-main {
  padding-top: 24px;
}
.about-page-main .about_piano {
  background: linear-gradient(to bottom, #CFBE9B 50%, #fff 50%);
}
.about-page-main .about-top-inner {
  padding-bottom: 24px;
}
.about-page-main .about-page-title-img {
  max-width: 224px;
  margin-inline: auto;
  aspect-ratio: 224/68;
}
.about-page-main .about-intro-wrap {
  background: #CFBE9B;
}
.about-page-main .about-intro-inner {
  padding-block: 40px;
  max-width: 560px;
  margin-inline: auto;
}
.about-page-main .about-intro-inner:first-of-type {
  padding-block: 48px 0;
}
.about-page-main .about-intro-title-img01 {
  max-width: 196px;
  width: 54.748603352%;
  aspect-ratio: 196/135;
}
.about-page-main .about-intro-text {
  margin-top: 24px;
  font-size: 16px;
  font-weight: 400;
  line-height: 2.2;
  letter-spacing: 0;
  color: #fff;
}
.about-page-main .about-intro-text:first-of-type {
  margin-top: 32px;
}
.about-page-main .about-intro-img01 {
  max-width: 270px;
  margin-top: 40px;
  width: 75.4189944134%;
  aspect-ratio: 464/648;
  margin-left: auto;
}
.about-page-main .about-intro-title-img02 {
  max-width: 252px;
  width: 70.3910614525%;
  aspect-ratio: 252/135;
}
.about-page-main .about-intro-img02 {
  max-width: 255px;
  width: 71.2290502793%;
  aspect-ratio: 255/301;
  margin-top: 40px;
}
.about-page-main .about-intro-img03 {
  max-width: 177px;
  width: 49.4413407821%;
  aspect-ratio: 177/127;
  margin-top: 17px;
  margin-left: 120px;
}
.about-page-main .about-teacher-inner {
  padding-block: 64px;
}
.about-page-main .about-teacher-title-img {
  max-width: 224px;
  width: 62.5698324022%;
  margin-inline: auto;
  aspect-ratio: 224/62;
}
.about-page-main .about-teacher-img {
  margin-top: 56px;
  max-width: 122px;
  width: 34.0782122905%;
  aspect-ratio: 139/76;
  margin-inline: auto;
}
.about-page-main .about-teacher-list {
  max-width: 560px;
  margin-inline: auto;
  margin-top: 48px;
}
.about-page-main .about-teacher-item {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0;
  color: #66554a;
  margin-top: 6px;
  padding-left: 15px;
  position: relative;
}
.about-page-main .about-teacher-item:first-of-type {
  margin-top: 0;
}
.about-page-main .about-teacher-item::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 10px;
  width: 7px;
  height: 7px;
  background: #CCB283;
  border-radius: 99px;
}
.about-page-main .about-classroom-wrap {
  padding-block: 80px;
  background: #ECE5D5;
}
.about-page-main .about-classroom-title-img {
  max-width: 224px;
  width: 62.5698324022%;
  margin-inline: auto;
  aspect-ratio: 224/62;
}
.about-page-main .about-classroom-img {
  width: 100%;
  aspect-ratio: 390/300;
  margin-top: 40px;
}
.about-page-main .about-classroom-list {
  margin-top: 40px;
  max-width: 560px;
  margin-inline: auto;
}
.about-page-main .about-classroom-item {
  padding-block: 32px;
  border-bottom: 1px solid rgba(102, 85, 74, 0.3019607843);
}
.about-page-main .about-classroom-item:first-of-type {
  border-top: 1px solid rgba(102, 85, 74, 0.3019607843);
}
.about-page-main .about-classroom-item p {
  padding-inline: 32px 8px;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0;
  color: #66554A;
  position: relative;
}
.about-page-main .about-classroom-item p::before {
  content: "";
  display: block;
  position: absolute;
  left: 8px;
  top: 12px;
  width: 7px;
  height: 7px;
  background: #CCB283;
  border-radius: 99px;
}
.about-page-main .about-classroom-concept {
  margin-top: 56px;
  padding-block: 32px 40px;
  background: #C59993;
  border-radius: 16px;
  position: relative;
  max-width: 560px;
  margin-inline: auto;
}
.about-page-main .about-classroom-concept-title {
  max-width: 216px;
  width: 60.3351955307%;
  margin-inline: auto;
}
.about-page-main .about-classroom-concept-text {
  margin-top: 32px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0;
  text-align: center;
  color: #fff;
}
.about-page-main .about-classroom-concept-decoration01 {
  width: 41px;
  position: absolute;
  left: 16px;
  top: -8px;
}
.about-page-main .about-classroom-concept-acorn {
  width: 87px;
  position: absolute;
  top: -35px;
  right: 9px;
}
.about-page-main .about-classroom-concept-decoration02 {
  transform: rotate(180deg);
  position: absolute;
  width: 41px;
  bottom: -8px;
  right: 16px;
}
.about-page-main .about-access-wrap {
  padding-block: 80px 0px;
}
.about-page-main .about-access-inner {
  max-width: 560px;
  margin-inline: auto;
}
.about-page-main .about-access-title-img {
  max-width: 224px;
  width: 62.5698324022%;
  margin-inline: auto;
  aspect-ratio: 224/62;
}
.about-page-main .about-access-text {
  margin-top: 38px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0;
  color: #66554A;
}
.about-page-main .about-access-list {
  margin-top: 32px;
}
.about-page-main .about-access-item {
  margin-top: 16px;
}
.about-page-main .about-access-item:first-of-type {
  margin-top: 0;
}
.about-page-main .about-access-item-title {
  display: flex;
  max-width: 118px;
}
.about-page-main .about-access-item-title::after {
  content: "";
  display: inline-block;
  width: 17px;
  height: 3px;
  background-image: url(images/dot.png);
  background-size: contain;
  margin-inline: 9px;
  align-self: center;
}
.about-page-main .about-access-item-text {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0;
  color: #66554A;
  margin-top: 6px;
}
.about-page-main .members-login {
  margin-top: 80px;
}

@media (min-width: 960px) {
  .about-page-main {
    padding-top: 25px;
  }
  .about-page-main .about-top-inner {
    padding-bottom: 55px;
  }
  .about-page-main .about-page-title-img {
    max-width: 240px;
    aspect-ratio: 240/85;
  }
  .about-page-main .about-intro-inner {
    padding-block: 175px 132px;
    display: flex;
    flex-direction: row-reverse;
    gap: 16px;
    max-width: 1140px;
  }
  .about-page-main .about-intro-inner:first-of-type {
    padding-top: 96px;
    flex-direction: row;
  }
  .about-page-main .about-intro-text-wrap {
    max-width: 560px;
    width: 54.9019607843%;
  }
  .about-page-main .about-intro-title-img01 {
    max-width: 468px;
    aspect-ratio: 468/130;
    width: 83.5714285714%;
  }
  .about-page-main .about-intro-img01 {
    margin-top: 178px;
    max-width: 464px;
    width: 82.2695035461%;
    margin-left: 0;
  }
  .about-page-main .about-intro-title-img02 {
    max-width: 448px;
    aspect-ratio: 468/116;
    width: 80%;
  }
  .about-page-main .about-intro-text {
    font-size: 18px;
    margin-top: 40px;
  }
  .about-page-main .about-intro-text:first-of-type {
    margin-top: 48px;
  }
  .about-page-main .about-intro-img-wrap {
    width: 49.4736842105%;
    padding-right: 24px;
  }
  .about-page-main .about-intro-img02 {
    max-width: 352px;
    width: 65.1851851852%;
    margin-top: 0;
    margin-inline: auto 56px;
  }
  .about-page-main .about-intro-img03 {
    max-width: 244px;
    width: 45.1851851852%;
    margin-top: 24px;
    margin-left: auto;
  }
  .about-page-main .about-teacher-inner {
    padding-block: 90px 120px;
  }
  .about-page-main .about-teacher-title-img {
    max-width: 256px;
  }
  .about-page-main .about-teacher-img {
    max-width: 139px;
    margin-top: 80px;
  }
  .about-page-main .about-teacher-list {
    max-width: 820px;
    margin-top: 80px;
  }
  .about-page-main .about-classroom-title-img {
    max-width: 226px;
    margin-left: 0;
  }
  .about-page-main .about-access-inner {
    max-width: 100%;
  }
  .about-page-main .about-classroom-wrap {
    padding-block: 120px;
  }
  .about-page-main .about-classroom-inner {
    max-width: 1140px;
  }
  .about-page-main .about-classroom-inner-content {
    display: flex;
    gap: 64px;
    margin-top: 40px;
  }
  .about-page-main .about-classroom-img {
    width: 46.1403508772%;
    margin-top: 0;
  }
  .about-page-main .about-classroom-list {
    width: 49.1228070175%;
    max-width: 560px;
    margin-top: 0;
  }
  .about-page-main .about-classroom-item {
    padding-block: 48px;
  }
  .about-page-main .about-classroom-concept {
    margin-top: 45px;
    max-width: 820px;
    padding-block: 44px 48px;
  }
  .about-page-main .about-classroom-concept-text {
    margin-top: 32px;
    line-height: 2;
  }
  .about-page-main .about-access-wrap {
    padding-block: 120px 0;
  }
  .about-page-main .about-access-title-img {
    max-width: 128px;
    aspect-ratio: 128/75;
  }
  .about-page-main .about-access-text {
    text-align: center;
    font-size: 18px;
    margin-top: 47px;
  }
  .about-page-main .about-access-list {
    margin-top: 57px;
    max-width: 580px;
    margin-inline: auto;
  }
  .about-page-main .about-access-item {
    display: flex;
    justify-content: start;
    align-items: center;
  }
  .about-page-main .about-access-item-title::after {
    content: "";
    display: inline-block;
    background-image: url(images/dot.png);
    background-size: contain;
    margin-inline: 12px;
  }
  .about-page-main .about-access-item-text {
    margin-top: 0;
    font-size: 16px;
  }
}
.courses-page-main .courses-page-inner {
  padding-block: 24px 80px;
}
.courses-page-main .courses-page-title-img {
  max-width: 224px;
  margin-inline: auto;
  aspect-ratio: 224/68;
}
.courses-page-main .courses-page-subTitle {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.7;
  color: #66554A;
  text-align: center;
  margin-top: 48px;
}
.courses-page-main .courses-list {
  margin-top: 48px;
}
.courses-page-main .courses-item {
  margin-top: 64px;
}
.courses-page-main .courses-item:first-of-type {
  margin-top: 0;
}
.courses-page-main .courses-item-title01 {
  max-width: 308px;
  aspect-ratio: 308/36;
}
.courses-page-main .courses-item-title02 {
  max-width: 184px;
  aspect-ratio: 184/36;
}
.courses-page-main .courses-item-title03 {
  max-width: 296px;
  aspect-ratio: 296/36;
}
.courses-page-main .courses-item-title04 {
  max-width: 156px;
  aspect-ratio: 156/36;
}
.courses-page-main .courses-item-subTitle {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.7;
  color: #66554A;
  margin-top: 20px;
}
.courses-page-main .courses-item-text {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.7;
  color: #66554A;
  margin-top: 12px;
}
.courses-page-main .courses-item-price-wrap-title {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.7;
  color: #66554A;
  margin-top: 32px;
  padding-left: 16px;
  position: relative;
}
.courses-page-main .courses-item-price-wrap-title:first-of-type {
  margin-top: 24px;
}
.courses-page-main .courses-item-price-wrap-title::before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  border-radius: 99px;
  background: #CCB283;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.courses-page-main .courses-item-price-wrap-text {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.7;
  color: #66554A;
  margin-top: 4px;
}
.courses-page-main .courses-item-price-wrap {
  background: #ECE5D5;
  border-radius: 16px;
  padding: 20px 16px;
  margin-top: 24px;
}
.courses-page-main .courses-item04 .courses-item-price-wrap {
  margin-top: 16px;
}
.courses-page-main .Admission-fee {
  display: flex;
  gap: 12px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(102, 85, 74, 0.3);
}
.courses-page-main .fee-title {
  background: #A48F6B;
  border-radius: 40px;
  max-width: 84px;
  height: 27px;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.7;
  width: 100%;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 8px;
}
.courses-page-main .fee-price {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.7;
  color: #66554A;
}
.courses-page-main .fee-caution {
  font-size: 12px;
  font-weight: 400;
  line-height: 1.7;
  color: #66554A;
  opacity: 0.8;
  margin-top: 4px;
}
.courses-page-main .lesson-fee {
  margin-top: 16px;
}
.courses-page-main .courses-more-button {
  margin-top: 40px;
  max-width: 280px;
}
.courses-page-main .courses-page-terms-inner {
  background: #ECE5D5;
}
.courses-page-main .courses-page-terms {
  width: calc(100% - 32px);
  margin-inline: auto;
  padding-block: 80px;
}
.courses-page-main .courses-page-terms-title-img {
  width: 168px;
  margin-inline: auto;
  aspect-ratio: 168/36;
}
.courses-page-main .courses-terms-list {
  margin-top: 40px;
}
.courses-page-main .courses-terms-item {
  margin-top: 24px;
}
.courses-page-main .courses-terms-item:first-of-type {
  margin-top: 0;
}
.courses-page-main .terms-item-title {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.7;
  color: #66554A;
}
.courses-page-main .terms-item-title span {
  margin-left: 4px;
}
.courses-page-main .courses-terms-sublist {
  margin-top: 8px;
}
.courses-page-main .courses-terms-subitem {
  margin-top: 4px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.7;
  color: #66554A;
  padding-left: 15px;
  position: relative;
}
.courses-page-main .courses-terms-subitem::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 10px;
  width: 7px;
  height: 7px;
  background: #CCB283;
  border-radius: 99px;
}
.courses-page-main .courses-terms-subitem:first-of-type {
  margin-top: 0;
}
.courses-page-main .fee-caution_sub {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.7;
  color: #66554A;
  margin-top: 4px;
}
.courses-page-main .members-login {
  width: calc(100% - 36px);
}

@media (min-width: 960px) {
  .courses-page-main .courses-page-inner {
    padding-bottom: 120px;
  }
  .courses-page-main .courses-page-title-img {
    max-width: 240px;
    aspect-ratio: 240/85;
  }
  .courses-page-main .courses-page-subTitle {
    margin-top: 64px;
    font-size: 18px;
  }
  .courses-page-main .courses-list {
    max-width: 820px;
    margin-inline: auto;
    margin-top: 64px;
  }
  .courses-page-main .courses-item {
    margin-top: 80px;
  }
  .courses-page-main .courses-item:first-of-type {
    margin-top: 0;
  }
  .courses-page-main .courses-item-subTitle {
    margin-top: 24px;
  }
  .courses-page-main .courses-item-price-wrap {
    padding: 24px 24px;
  }
  .courses-page-main .Admission-fee {
    gap: 24px;
    padding-bottom: 20px;
  }
  .courses-page-main .fee-title {
    height: 31px;
    max-width: 94px;
    font-size: 14px;
  }
  .courses-page-main .fee-price {
    font-size: 18px;
  }
  .courses-page-main .lesson-fee {
    display: flex;
    gap: 24px;
    margin-top: 20px;
  }
  .courses-page-main .courses-page-terms {
    padding-block: 120px;
  }
  .courses-page-main .courses-terms-list {
    margin-top: 40px;
    max-width: 820px;
    margin-inline: auto;
  }
  .courses-page-main .courses-item-price-wrap-title {
    font-size: 20px;
    margin-top: 0;
  }
  .courses-page-main .courses-item-price-wrap-title:first-of-type {
    margin-top: 0;
  }
  .courses-page-main .courses-item-price-wrap-text {
    font-size: 18px;
    margin-top: 0;
  }
  .courses-page-main .courses-item-price-content {
    display: flex;
    gap: 20px;
    align-items: center;
    margin-top: 32px;
  }
  .courses-page-main .fee-caution_sub {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.7;
    color: #66554A;
    margin-top: 4px;
  }
}
.news-page-main .news-page-inner {
  padding-top: 24px;
}
.news-page-main .news-page-title-img {
  max-width: 224px;
  margin-inline: auto;
}
.news-page-main .news-list {
  margin-top: 48px;
}
.news-page-main .news-list article {
  border-bottom: 1px solid rgba(102, 85, 26, 0.3019607843);
}
.news-page-main .news-list article:first-child {
  border-top: 1px solid rgba(102, 85, 26, 0.3019607843);
}
.news-page-main .news-list-item {
  padding-block: 24px;
  position: relative;
}
.news-page-main .news-list-item::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(-29px, -50%) rotate(45deg); /* 中央揃えと45度回転 */
  width: 8px; /* 記号の「太さ」 */
  height: 8px; /* 記号の「太さ」 */
  border-right: 2px solid #66554A; /* 右側の線 */
  border-top: 2px solid #66554A; /* 上側の線 */
}
.news-page-main .news-list-date {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  color: #66554A;
  width: fit-content;
}
.news-page-main .news-list-title {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  color: #66554A;
  margin-top: 8px;
  position: relative;
  padding-right: 48px;
}
.news-page-main .news-list-title::after {
  content: "";
}
.news-page-main .pagination {
  margin-top: 22px;
  margin-inline: auto;
  width: fit-content;
  display: flex;
  gap: 8px;
}
.news-page-main .page-numbers {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  border-radius: 80px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  color: #66554A;
}
.news-page-main .current {
  background: #C59993;
  color: #fff;
}
.news-page-main .next {
  /* サイズは画像（7x14）を参考に調整 */
  display: inline-block;
  position: relative;
  width: 32px; /* 縦型なので幅と高さを反転 */
  height: 32px;
  /* 左右反転し、さらに時計回りに90度回転して縦型にする */
  transform: rotateY(180deg) rotate(0deg);
}
.news-page-main .next::before,
.news-page-main .next::after {
  content: "";
  position: absolute;
  /* 線の太さと色 (以前のシェブロンのものを流用) */
  height: 2px; /* 線の太さ */
  background-color: #66554A; /* 濃い茶色 */
  border-radius: 1.25px;
  /* 線の長さ */
  width: 10px;
  /* 線の交差点（尖っている部分）の位置 */
  top: 50%;
  left: 50%;
  /* 回転の基準点を線の左端（尖っている部分）に設定 */
  transform-origin: 0% 50%;
}
.news-page-main {
  /* 上側の線 (元は下側の線) */
}
.news-page-main .next::before {
  transform: translateY(-50%) rotate(-45deg);
}
.news-page-main {
  /* 下側の線 (元は上側の線) */
}
.news-page-main .next::after {
  transform: translateY(-50%) rotate(45deg);
}
.news-page-main .prev {
  /* サイズは画像（7x14）を参考に調整 */
  display: inline-block;
  position: relative;
  width: 32px; /* 縦型なので幅と高さを反転 */
  height: 32px;
  /* 左右反転し、さらに時計回りに90度回転して縦型にする */
  transform: rotateY(0deg) rotate(0deg);
}
.news-page-main .prev::before,
.news-page-main .prev::after {
  content: "";
  position: absolute;
  /* 線の太さと色 (以前のシェブロンのものを流用) */
  height: 2px; /* 線の太さ */
  background-color: #66554A; /* 濃い茶色 */
  border-radius: 1.25px;
  /* 線の長さ */
  width: 10px;
  /* 線の交差点（尖っている部分）の位置 */
  top: 50%;
  left: 50%;
  /* 回転の基準点を線の左端（尖っている部分）に設定 */
  transform-origin: 0% 50%;
}
.news-page-main {
  /* 上側の線 (元は下側の線) */
}
.news-page-main .prev::before {
  transform: translateY(-50%) rotate(-45deg);
}
.news-page-main {
  /* 下側の線 (元は上側の線) */
}
.news-page-main .prev::after {
  transform: translateY(-50%) rotate(45deg);
}
.news-page-main .news-more-button {
  margin-top: 40px;
  max-width: 280px;
}
.news-page-main .category-members {
  position: relative;
}
.news-page-main .category-members .news-list-date {
  height: 100%;
  display: flex;
  align-items: center;
}
.news-page-main .category-members .news-list-date::after {
  content: "|  MEMBERS限定";
  display: flex;
  margin-left: 8px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.5;
  color: #756155;
  justify-content: center;
  align-items: center;
}

@media (min-width: 960px) {
  .news-page-main .news-page-title-img {
    max-width: 160px;
  }
  .news-page-main .news-list {
    margin-top: 64px;
    max-width: 820px;
    margin-inline: auto;
  }
  .news-page-main .news-list-item {
    padding-block: 32px;
    padding-left: 16px;
  }
  .news-page-main .pagination {
    margin-top: 38px;
    gap: 16px;
  }
  .news-page-main .page-numbers {
    width: 48px;
    height: 48px;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    color: #66554A;
  }
  .news-page-main .current {
    background: #C59993;
    color: #fff;
  }
  .news-page-main .next {
    width: 48px; /* 縦型なので幅と高さを反転 */
    height: 48px;
    /* 左右反転し、さらに時計回りに90度回転して縦型にする */
    transform: rotateY(180deg) rotate(0deg);
  }
  .news-page-main {
    /* 上側の線 (元は下側の線) */
  }
  .news-page-main .next::before {
    transform: translateY(-50%) rotate(-45deg);
  }
  .news-page-main {
    /* 下側の線 (元は上側の線) */
  }
  .news-page-main .next::after {
    transform: translateY(-50%) rotate(45deg);
  }
  .news-page-main .prev {
    /* サイズは画像（7x14）を参考に調整 */
    width: 48px; /* 縦型なので幅と高さを反転 */
    height: 48px;
    /* 左右反転し、さらに時計回りに90度回転して縦型にする */
    transform: rotateY(0deg) rotate(0deg);
  }
  .news-page-main {
    /* 上側の線 (元は下側の線) */
  }
  .news-page-main .prev::before {
    transform: translateY(-50%) rotate(-45deg);
  }
  .news-page-main {
    /* 下側の線 (元は上側の線) */
  }
  .news-page-main .prev::after {
    transform: translateY(-50%) rotate(45deg);
  }
  .news-page-main .news-more-button {
    margin-top: 50px;
    max-width: 280px;
    margin-inline: auto;
  }
  .news-page-main .category-members {
    position: relative;
  }
  .news-page-main .category-members .news-list-date {
    height: 100%;
    display: flex;
    align-items: center;
  }
  .news-page-main .category-members .news-list-date::after {
    content: "|   MEMBERS限定";
    display: flex;
    margin-left: 8px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.5;
    color: #756155;
    justify-content: center;
    align-items: center;
  }
}
.policy-page-main .policy-page-inner {
  padding-block: 24px 80px;
}
.policy-page-main .policy-page-title-img {
  max-width: 320px;
  margin-inline: auto;
  aspect-ratio: 320/68;
}
.policy-page-main .policy-more-button {
  max-width: 280px;
  margin-top: 48px;
}
.policy-page-main .policy-page-content {
  margin-top: 48px;
}
.policy-page-main .policy-page-content-title {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.7;
  color: #66554A;
}
.policy-page-main .policy-content-item {
  color: #66554A;
  margin-top: 32px;
}
.policy-page-main .policy-content-item-title {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.7;
}
.policy-page-main .policy-content-item-title span {
  margin-right: 4px;
  display: inline-block;
}
.policy-page-main .policy-content-item-text {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.7;
  margin-top: 8px;
}
.policy-page-main .policy-content-sublist {
  margin-top: 8px;
  padding-left: 8px;
}
.policy-page-main .policy-content-sublist-item {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.7;
  padding-left: 20px;
  position: relative;
}
.policy-page-main .policy-content-sublist-item::before {
  content: "・";
  position: absolute;
  left: 6px;
  top: 2px;
}

@media (min-width: 960px) {
  .policy-page-main .policy-page-title-img {
    max-width: 400px;
    margin-inline: auto;
    aspect-ratio: 400/85;
  }
  .policy-page-main .policy-more-button {
    max-width: 280px;
    margin-top: 64px;
  }
  .policy-page-main .policy-page-content {
    margin-top: 64px;
    max-width: 820px;
    margin-inline: auto;
  }
  .policy-page-main .policy-page-content-title {
    font-size: 16px;
  }
  .policy-page-main .policy-content-item {
    margin-top: 32px;
  }
  .policy-page-main .policy-content-item-title {
    font-size: 18px;
  }
  .policy-page-main .policy-content-item-text {
    font-size: 16px;
  }
  .policy-page-main .policy-content-sublist {
    padding-left: 16px;
  }
  .policy-page-main .policy-content-sublist-item {
    font-size: 16px;
    padding-left: 24px;
  }
  .policy-page-main .policy-content-sublist-item::before {
    left: 8px;
  }
}
.terms-page-main .terms-page-inner {
  padding-block: 24px 80px;
}
.terms-page-main .terms-page-title-img {
  max-width: 154px;
  margin-inline: auto;
  aspect-ratio: 154/68;
}
.terms-page-main .terms-more-button {
  max-width: 280px;
  margin-top: 48px;
}
.terms-page-main .terms-page-content {
  margin-top: 48px;
}
.terms-page-main .terms-page-content-title {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.7;
  color: #66554A;
}
.terms-page-main .terms-content-item {
  color: #66554A;
  margin-top: 32px;
}
.terms-page-main .terms-content-item-title {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.7;
}
.terms-page-main .terms-content-item-text {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.7;
  margin-top: 8px;
}
.terms-page-main .terms-content-sublist {
  margin-top: 8px;
  padding-left: 8px;
}
.terms-page-main .terms-content-sublist-item {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.7;
  padding-left: 20px;
  position: relative;
}
.terms-page-main .terms-content-sublist-item::before {
  content: "・";
  position: absolute;
  left: 6px;
  top: 2px;
}

@media (min-width: 960px) {
  .terms-page-main .terms-page-title-img {
    max-width: 176px;
    margin-inline: auto;
    aspect-ratio: 176/85;
  }
  .terms-page-main .terms-more-button {
    max-width: 280px;
    margin-top: 64px;
  }
  .terms-page-main .terms-page-content {
    margin-top: 64px;
    max-width: 820px;
    margin-inline: auto;
  }
  .terms-page-main .terms-page-content-title {
    font-size: 16px;
  }
  .terms-page-main .terms-content-item {
    margin-top: 32px;
  }
  .terms-page-main .terms-content-item-title {
    font-size: 18px;
  }
  .terms-page-main .terms-content-item-text {
    font-size: 16px;
  }
  .terms-page-main .terms-content-sublist {
    padding-left: 16px;
  }
  .terms-page-main .terms-content-sublist-item {
    font-size: 16px;
    padding-left: 24px;
  }
  .terms-page-main .terms-content-sublist-item::before {
    left: 8px;
  }
}
.login-page-main .login-form-wrapper {
  width: calc(100% - 32px);
  margin-inline: auto;
}
.login-page-main .login-form-wrapper img {
  display: block;
  max-width: 224px;
  aspect-ratio: 224/68;
  margin-inline: auto;
}
.login-page-main .login-page-message {
  margin-block: 32px 24px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  color: #66554A;
}
.login-page-main .login-username label, .login-page-main .login-password label {
  font-size: 12px;
  font-weight: 400;
  line-height: 1.5;
  color: #66554A;
}
.login-page-main .login-username input, .login-page-main .login-password input {
  background: #fff;
  border: 1px solid rgba(102, 85, 74, 0.3019607843);
  padding: 12px;
  border-radius: 8px;
  margin-top: 8px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.8;
}
.login-page-main .login-lost-password {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  text-decoration: underline;
  color: #66554A;
  text-align: center;
}
.login-page-main .login-submit {
  margin-top: 40px;
  border-radius: 40px;
  text-align: center;
  max-width: 280px;
  background: #C59993;
  color: #fff;
  border: 1px solid #C59993;
  margin-inline: auto;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
  transition: all 0.3s ease-in-out;
}
.login-page-main .login-submit input {
  width: 100%;
  height: 100%;
  padding-block: 16px;
}
.login-page-main .pms-error-message {
  color: #D9534F;
  background-color: #F2DEDE;
  border: 1px solid #D9534F;
  padding: 15px;
  margin-bottom: 20px;
  border-radius: 8px;
  text-align: center;
}
.login-page-main .pms-login-error {
  color: #E1321A;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  padding: 0;
  background: transparent;
  border: none;
  text-align: left;
}

@media (min-width: 960px) {
  .login-page-main .login-form-wrapper {
    max-width: 358px;
  }
  .login-page-main .login-submit:hover {
    background: #fff;
    color: #C59993;
  }
}
.post-site-main .post-page-inner {
  padding-top: 16px;
  margin-bottom: 32px;
}
.post-site-main h1 {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
  color: #66554a;
  margin-bottom: 16px;
}
.post-site-main h2 {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.5;
  color: #66554a;
  text-align: left;
  margin-bottom: 16px;
}
.post-site-main p {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.7;
  color: #66554a;
  margin-bottom: 16px;
}
.post-site-main ul {
  color: #66554a;
  margin-bottom: 16px;
}
.post-site-main ul li {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.7;
  margin-bottom: 4px;
  padding-left: 16px;
  position: relative;
}
.post-site-main ul li:last-of-type {
  margin-bottom: 0;
}
.post-site-main ul li::before {
  content: "";
  display: block;
  position: absolute;
  width: 7px;
  height: 7px;
  border-radius: 99px;
  background-color: #CCB283;
  top: 10px;
  left: 0;
}
.post-site-main ul ul li {
  margin-top: 4px;
  padding-left: 0;
}
.post-site-main ul ul li::before {
  content: none;
}
.post-site-main ul div {
  margin-bottom: 4px;
}
.post-site-main figure {
  margin-block: 32px;
}
.post-site-main .entry-meta {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  color: #66554a;
}
.post-site-main .post-more-button {
  max-width: 280px;
  margin-block: 32px 72px;
}

@media (min-width: 960px) {
  .post-site-main .post-page-inner {
    max-width: 820px;
    padding-top: 24px;
  }
  .post-site-main h1 {
    font-size: 28px;
  }
  .post-site-main h2 {
    font-size: 24px;
  }
  .post-site-main .post-more-button {
    margin-block: 32px 96px;
  }
}
.reset-password-page-main .entry-content {
  padding-block: 40px 80px;
}
.reset-password-page-main .reset-password-form-wrapper {
  width: calc(100% - 32px);
  margin-inline: auto;
  max-width: 358px;
}
.reset-password-page-main .reset-password-image {
  max-width: 216px;
  margin-inline: auto;
  aspect-ratio: 216/31;
}
.reset-password-page-main .reset-password-form-content {
  margin-top: 32px;
}
.reset-password-page-main .reset-password-form-content p {
  text-align: center;
  color: #66554a;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
}
.reset-password-page-main .reset-password-form-content ul {
  margin-top: 24px;
}
.reset-password-page-main .reset-password-form-content ul input {
  margin-top: 8px;
  border-radius: 8px;
  border: 1px solid rgba(102, 85, 74, 0.3019607843);
  padding: 12px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.8;
  background: #fff;
  width: 100%;
  color: #000;
  text-align: left;
}
.reset-password-page-main .reset-password-form-content label {
  font-size: 12px;
  font-weight: 400;
  line-height: 1.5;
  color: #66554a;
}
.reset-password-page-main .reset-password-form-content input {
  display: block;
  border-radius: 40px;
  border: 1px solid #C59993;
  background: #C59993;
  color: #fff;
  width: 280px;
  margin-inline: auto !important;
  padding-block: 16px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
  margin-top: 40px;
}
.reset-password-page-main .pms_success-messages-wrapper p {
  padding: 0;
  border: none;
  background: #fff;
}
.reset-password-page-main .to-top-btn {
  display: block;
  border-radius: 40px;
  border: 1px solid #C59993;
  background: #C59993;
  color: #fff;
  width: 280px;
  margin-inline: auto !important;
  padding-block: 16px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
  margin-top: 64px;
}

@media (min-width: 960px) {
  .reset-password-page-main .to-top-btn:hover {
    background: #fff;
    color: #C59993;
    opacity: 1;
  }
  .reset-password-page-main .entry-content {
    padding-block: 32px 80px;
  }
  .reset-password-page-main .reset-password-image {
    max-width: 288px;
    aspect-ratio: 288/42;
  }
  .reset-password-page-main .reset-password-form-content {
    margin-top: 43px;
  }
  .reset-password-page-main .reset-password-form-content ul {
    margin-top: 20px;
  }
  .reset-password-page-main .reset-password-form-content ul input {
    margin-top: 8px;
    border-radius: 8px;
    border: 1px solid rgba(102, 85, 74, 0.3019607843);
    padding: 12px;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.8;
    background: #fff;
    width: 100%;
    color: #000;
  }
  .reset-password-page-main .reset-password-form-content label {
    font-size: 12px;
    font-weight: 400;
    line-height: 1.5;
    color: #66554a;
  }
  .reset-password-page-main .reset-password-form-content input {
    display: block;
    border-radius: 40px;
    border: 1px solid #C59993;
    background: #C59993;
    color: #fff;
    width: 280px;
    margin-inline: auto !important;
    padding-block: 16px;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;
    text-align: center;
    margin-top: 40px;
  }
  .reset-password-page-main .pms_success-messages-wrapper p {
    padding: 0;
    border: none;
    background: #fff;
  }
  .reset-password-page-main .to-top-btn {
    display: block;
    border-radius: 40px;
    border: 1px solid #C59993;
    background: #C59993;
    color: #fff;
    width: 280px;
    margin-inline: auto !important;
    padding-block: 16px;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;
    text-align: center;
    margin-top: 64px;
  }
}
.lesson-page-main .lesson-page-inner {
  padding-block: 24px 48px;
  max-width: 560px;
}
.lesson-page-main .lesson-page-title-img {
  max-width: 192px;
  aspect-ratio: 192/68;
  margin-inline: auto;
}
.lesson-page-main .lesson-page-text-content {
  margin-top: 48px;
}
.lesson-page-main .lesson-page-text {
  margin-top: 24px;
  font-size: 16px;
  font-weight: 400;
  line-height: 2.2;
  color: #66554A;
}
.lesson-page-main .lesson-page-top-img {
  width: calc(100% - 32px);
  margin-top: 40px;
  margin-inline: auto;
}
.lesson-page-main .lessonFlow-page-wrap {
  padding-block: 80px;
  background: #ECE5D5;
}
.lesson-page-main .lessonFlow-page-inner {
  max-width: 560px;
}
.lesson-page-main .lessonFlow-title-img {
  width: 252px;
  aspect-ratio: 252/36;
  margin-inline: auto;
}
.lesson-page-main .lessonFlow-list {
  margin-top: 32px;
}
.lesson-page-main .lessonFlow-item {
  margin-top: 10px;
  position: relative;
  padding-left: 68px;
  padding-top: 21px;
  min-height: 218px;
}
.lesson-page-main .lessonFlow-item:first-of-type {
  margin-top: 0;
}
.lesson-page-main .lessonFlow-item:not(:last-of-type)::before {
  content: "";
  background-image: url(images/lesson-vector.png);
  background-size: contain;
  background-repeat: no-repeat;
  height: 140px;
  width: 3px;
  position: absolute;
  left: 26px;
  top: 78px;
}
.lesson-page-main .lessonFlow-item-step {
  position: absolute;
  top: 10px;
  left: 0;
  max-width: 52px;
  aspect-ratio: 1/1;
}
.lesson-page-main .lessonFlow-item-img {
  position: absolute;
  top: 0;
  right: 0;
  max-width: 72px;
  aspect-ratio: 1/1;
}
.lesson-page-main .lessonFlow-item-title {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.7;
  color: #66554A;
}
.lesson-page-main .lessonFlow-item-text {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.7;
  color: #66554A;
  margin-top: 26px;
  opacity: 0.8;
}
.lesson-page-main .about-trial-lesson {
  background: #fff;
  border-radius: 16px;
  padding: 24px 20px;
}
.lesson-page-main .about-trial-lesson hr {
  margin-top: 21px;
  background-color: #66554A;
  opacity: 0.3;
}
.lesson-page-main .trial-lesson-content {
  margin-top: 8px;
  display: flex;
  gap: 12px;
}
.lesson-page-main .time-content {
  margin-top: 20px;
}
.lesson-page-main .trial-lesson-tag {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  background: #A48F6B;
  color: #fff;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.7;
  border-radius: 40px;
}
.lesson-page-main .trial-lesson-text {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.7;
  color: #66554A;
}
.lesson-page-main .about-trial-lesson-title {
  max-width: 147px;
  aspect-ratio: 147/26;
  margin-inline: auto;
}
.lesson-page-main .lessonMessage-page-inner {
  padding-block: 80px 0px;
  max-width: 560px;
}
.lesson-page-main .lessonMessage-subTitle-img {
  width: 288px;
  aspect-ratio: 288/23;
  margin-inline: auto;
}
.lesson-page-main .lessonMessage-title-img {
  margin-top: 24px;
  max-width: 280px;
  aspect-ratio: 358/84;
  margin-inline: auto;
}
.lesson-page-main .lessonMessage-text-content {
  margin-top: 40px;
}
.lesson-page-main .lessonMessage-text {
  margin-top: 24px;
  font-size: 16px;
  font-weight: 400;
  line-height: 2;
  color: #66554A;
}
.lesson-page-main .join-apply {
  margin-block: 48px 85px;
  background: #C59993;
  border-radius: 24px;
}
.lesson-page-main .join-apply-inner {
  border-radius: 16px;
  padding: 34px 20px 30px;
  max-width: 560px;
}
.lesson-page-main .join-apply-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  color: #fff;
}
.lesson-page-main .join-apply-text {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.7;
  margin-top: 16px;
  color: #fff;
  text-align: center;
}
.lesson-page-main .join-apply-button {
  display: block;
  background: #fff;
  border: 1px solid #fff;
  color: #C59993;
  border-radius: 16px;
  padding: 30px 20px;
  width: 100%;
  margin-top: 32px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
}
.lesson-page-main .join-apply-button::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 24px;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  background-image: url(images/Arrow-Right.svg);
  background-size: contain;
  background-repeat: no-repeat;
}
.lesson-page-main .join-apply-line {
  position: relative;
  display: flex;
  align-items: center;
  background: #C59993;
  border: 1px solid #fff;
  color: #fff;
  border-radius: 16px;
  padding: 12px 16px 10px 12px;
  width: 100%;
  margin-top: 12px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
}
.lesson-page-main .join-apply-line img {
  margin-right: 12px;
  max-width: 40px;
}
.lesson-page-main .join-apply-line::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 24px;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  background-image: url(images/Arrow-Right-reverse.svg);
  background-size: contain;
  background-repeat: no-repeat;
}
.lesson-page-main .join-apply-subText {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  margin-top: 8px;
  color: #fff;
  letter-spacing: 0;
}

@media (min-width: 960px) {
  .lesson-page-main .lesson-page-inner {
    padding-bottom: 98px;
    max-width: 1012px;
  }
  .lesson-page-main .lesson-page-title-img {
    max-width: 240px;
    aspect-ratio: 240/85;
  }
  .lesson-page-main .lesson-page-content {
    display: flex;
    max-width: 948px;
    margin-inline: auto;
    gap: 48px;
    margin-top: 64px;
    align-items: center;
  }
  .lesson-page-main .lesson-page-text-content {
    width: calc(50% - 24px);
    margin-top: 0;
  }
  .lesson-page-main .lesson-page-text {
    margin-top: 40px;
    font-size: 18px;
  }
  .lesson-page-main .lesson-page-text:first-of-type {
    margin-top: 0;
  }
  .lesson-page-main .lessonFlow-list {
    display: flex;
    margin-top: 35px;
    gap: 48px;
  }
  .lesson-page-main .lessonFlow-item {
    margin-top: 0;
    padding: 0;
    width: calc(33.33% - 32px);
    display: flex;
    flex-direction: column;
    justify-content: start;
    align-items: center;
  }
  .lesson-page-main .lessonFlow-item:not(:last-of-type)::before {
    content: "";
    background-image: url(images/lesson-vector_pc.png);
    background-size: contain;
    background-repeat: no-repeat;
    height: 3px;
    width: 88.5245901639%;
    position: absolute;
    left: 50%;
    top: 38px;
    transform: translateX(37px);
  }
  .lesson-page-main .lessonFlow-item-step {
    position: relative;
    max-width: 60px;
  }
  .lesson-page-main .lessonFlow-item-img {
    position: relative;
    margin-top: 24px;
  }
  .lesson-page-main .lessonFlow-item-title {
    margin-top: 8px;
  }
  .lesson-page-main .lessonFlow-item-text {
    margin-top: 16px;
  }
  .lesson-page-main .about-trial-lesson {
    display: flex;
    align-items: center;
    padding: 24px 64px;
    margin-top: 56px;
  }
  .lesson-page-main .about-trial-lesson span {
    display: block;
    width: 1px;
    height: 42.5px;
    background: #66554A;
    margin-inline: 56px;
    opacity: 30%;
  }
  .lesson-page-main .about-trial-lesson-title {
    max-width: 141px;
    aspect-ratio: 147/20;
    margin-inline: 0;
  }
  .lesson-page-main .trial-lesson-content {
    margin-top: 0;
    gap: 24px;
  }
  .lesson-page-main .time-content {
    margin-right: 80px;
  }
  .lesson-page-main .trial-lesson-tag {
    font-size: 14px;
    width: 80px;
  }
  .lesson-page-main .lesson-page-top-img {
    width: calc(50% - 24px);
    margin-top: 0;
  }
  .lesson-page-main .lessonFlow-page-wrap {
    padding-block: 124px 120px;
  }
  .lesson-page-main .lessonFlow-page-inner {
    max-width: 1012px;
  }
  .lesson-page-main .lessonMessage-page-inner {
    padding-block: 100px 0;
    max-width: 820px;
  }
  .lesson-page-main .lessonMessage-subTitle-img {
    width: 310px;
  }
  .lesson-page-main .lessonMessage-title-img {
    max-width: 540px;
    aspect-ratio: 540/40;
  }
  .lesson-page-main .lessonMessage-text-content {
    text-align: center;
  }
  .lesson-page-main .lessonMessage-text {
    font-size: 18px;
  }
  .lesson-page-main .join-apply {
    margin-top: 80px;
    max-width: 820px;
    margin-inline: auto;
  }
  .lesson-page-main .join-apply-inner {
    max-width: 100%;
    display: flex;
    justify-content: space-between;
    padding: 32px 32px 35px 48px;
    align-items: center;
  }
  .lesson-page-main .join-apply-content {
    width: fit-content;
  }
  .lesson-page-main .join-apply-button-wrap {
    width: 42.5675675676%;
  }
  .lesson-page-main .join-apply-title {
    text-align: center;
    font-size: 24px;
    margin-top: 8px;
  }
  .lesson-page-main .join-apply-text {
    margin-top: 16px;
  }
  .lesson-page-main .join-apply-button {
    margin-top: 0;
    font-size: 20px;
    padding: 34px 27px 33px;
  }
  .lesson-page-main .join-apply-line_pc {
    margin-top: 18px;
    display: flex;
    justify-content: space-between;
  }
  .lesson-page-main .join-apply-line-text {
    margin-top: 5px;
  }
  .lesson-page-main .line_qr {
    max-width: 97px;
    aspect-ratio: 1/1;
  }
  .lesson-page-main .join-apply-line-text {
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
    position: relative;
    padding: 8px 16px 8px 8px; /* テキストのパディング。右側に矢印スペースを確保 */
    display: inline-block;
    color: white; /* テキストの色 */
    background-image: url(images/Rectangle.png);
    background-size: contain;
    background-repeat: no-repeat;
  }
  .lesson-page-main .join-apply-subText {
    margin-top: 10px;
  }
}
body {
  font-family: "Noto Sans CJK JP", "Noto Sans JP", sans-serif;
  padding-top: 88px;
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
body a {
  transition: all 0.3s ease-in-out;
}
body a:hover {
  opacity: 0.7;
}

.-pc {
  display: none;
}

@media (min-width: 960px) {
  .-sp {
    display: none;
  }
  .-pc {
    display: block;
  }
}
.shimarisu-button {
  display: block;
  border: 1px solid #DA8C76;
  color: #DA8C76;
  border-radius: 40px;
  max-width: 280px;
  width: 100%;
  margin-inline: auto;
  text-align: center;
  padding-block: 16px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
}
.shimarisu-button:hover {
  background: #DA8C76;
  color: #fff;
}

.shimarisu-button-white {
  display: block;
  border: 1px solid #fff;
  color: #fff;
  border-radius: 40px;
  max-width: 280px;
  width: 100%;
  margin-inline: auto;
  text-align: center;
  padding-block: 16px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
}
.shimarisu-button-white:hover {
  opacity: 1;
  background: #fff;
}

.shimarisu-button-pink {
  display: block;
  border: 1px solid #C59993;
  color: #C59993;
  border-radius: 40px;
  max-width: 280px;
  width: 100%;
  margin-inline: auto;
  text-align: center;
  padding-block: 16px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
}
.shimarisu-button-pink:hover {
  opacity: 1;
  background: #fff;
}

.bg-beige:hover {
  color: #CFBE9B;
}

.bg-pink:hover {
  color: #D6B9B0;
}

.shimarisu-button-reverse {
  display: block;
  border: 1px solid #DA8C76;
  color: #FFF;
  background: #DA8C76;
  border-radius: 40px;
  max-width: 280px;
  width: 100%;
  margin-inline: auto;
  text-align: center;
  padding-block: 16px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
}
.shimarisu-button-reverse:hover {
  background: #fff;
  color: #DA8C76;
}

h1 {
  font-size: 32px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: #66554A;
}

h2 {
  font-size: 28px;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: 0;
  color: #66554A;
  text-align: center;
}

.en_title {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.08em;
  font-family: "Optima";
  margin-bottom: 8px;
}

.other-button {
  display: block;
  margin-inline: auto;
  padding-block: 16px;
  border: 1px solid #C59993;
  border-radius: 40px;
  color: #C59993;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
}
.other-button:hover {
  background: #C59993;
  color: #fff;
}

.members-login {
  margin-top: 64px;
  padding-top: 32px;
  border-radius: 24px;
  overflow: hidden;
  background: #D6B9B0;
  text-align: center;
  max-width: 358px;
  margin-inline: auto;
}

.members-login-title {
  width: 55.8659217877%;
  aspect-ratio: 200/29;
  margin-inline: auto;
  margin-top: 4px;
}

.members-login-subTitle {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.7;
  color: #FFF;
  margin-top: 20px;
}

.members-login-text {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.7;
  color: #FFF;
  margin-top: 16px;
}

.members-login-img {
  margin-top: 32px;
}

.members-login-button {
  margin-top: 16px;
  max-width: 176px;
  color: #fff;
  border: 1px solid #fff;
}

.ewd-ufaq-faq-div .ewd-ufaq-faq-body {
  display: block !important; /* プラグインのdisplay:noneを上書き */
  max-height: 0;
  overflow: hidden;
  opacity: 1;
  padding-top: 0;
  padding-bottom: 0;
  transition: max-height 0.4s ease-out, padding 0.4s ease-out;
}

.ewd-ufaq-faq-div.ewd-ufaq-post-active .ewd-ufaq-faq-body {
  display: block !important;
  max-height: fit-content; /* 内容に応じて十分な高さを指定 */
  transition: max-height 0.4s ease-in-out, padding 0.4s ease-out;
  padding: 25px 0 0 38px;
}

/* 開いているときのスタイル（プラグインのJSが .ewd-ufaq-hidden を外したときに適用される） */
.ewd-ufaq-faq-post {
  flex-direction: column;
}
.ewd-ufaq-faq-post a {
  text-decoration: underline;
}

@media (min-width: 960px) {
  body {
    padding-top: 150px;
  }
  .membersLogin {
    border: 1px solid #C59993;
    border-radius: 40px;
    padding: 16px 24px;
    color: #C59993;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;
    background: #fff;
  }
  .membersLogin:hover {
    opacity: 1;
    background: #C59993;
    color: #fff;
  }
  .members-login {
    margin-top: 120px;
    max-width: 1384px;
    padding-top: 0px;
    padding-inline: 20px;
    display: flex;
    align-items: center;
    gap: 40px;
  }
  .members-login-wrap {
    width: 27.7456647399%;
    flex-grow: 1;
    max-width: 384px;
    margin-inline: auto;
  }
  .members-login-title {
    width: 62.5%;
    margin-left: 0;
    margin-top: 12px;
  }
  .members-login-subTitle {
    text-align: left;
    font-size: 18px;
    margin-top: 24px;
  }
  .members-login-text {
    font-size: 16px;
    margin-top: 24px;
    text-align: left;
  }
  .members-login-img {
    margin-top: 0;
    width: 53.5714285714%;
  }
  .about-button {
    margin-top: 40px;
  }
  .ewd-ufaq-faq-div .ewd-ufaq-faq-body {
    display: block !important; /* プラグインのdisplay:noneを上書き */
    max-height: 0;
    overflow: hidden;
    opacity: 1;
    padding-top: 0;
    padding-bottom: 0;
    transition: max-height 0.4s ease-out, padding 0.4s ease-out;
  }
  .ewd-ufaq-faq-div.ewd-ufaq-post-active .ewd-ufaq-faq-body {
    display: block !important;
    max-height: fit-content; /* 内容に応じて十分な高さを指定 */
    transition: max-height 0.4s ease-in-out, padding 0.4s ease-out;
    padding: 25px 0 0 42px;
  }
  .members-login-button {
    margin-top: 32px;
    margin-left: 0;
  }
}
.fixed-button-wrap {
  position: fixed;
  bottom: 40px;
  left: 50%;
  transform: translate(-50%, 0);
  background-color: #C59993;
  color: white;
  padding: 18px 26px 19px 66px;
  border: 2px solid #C59993;
  border-radius: 40px;
  width: 320px;
  z-index: 49;
  margin-left: 8px;
}
.fixed-button-wrap .fixed-button {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
}
.fixed-button-wrap .fixed-button-img {
  position: absolute;
  bottom: -20px;
  left: -46px;
  max-width: 129px;
  width: 100%;
  aspect-ratio: 1/1;
}
.fixed-button-wrap.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
}

@media (min-width: 960px) {
  .fixed-button-wrap {
    bottom: 40px;
    right: 40px;
    left: auto;
    transform: translate(0%, 0);
    padding: 79px 24px 0;
    border-radius: 99px;
    width: 188px;
    height: 188px;
    aspect-ratio: 1/1;
    margin-left: 0px;
    text-align: center;
    transition: all 0.3s ease-in-out;
  }
  .fixed-button-wrap:hover {
    opacity: 1;
    background: #fff;
    color: #C59993;
  }
  .fixed-button-wrap:hover .animated-img {
    animation: jump 0.5s ease-in-out 1;
  }
  .fixed-button-wrap .fixed-button-img {
    top: -66px;
    max-width: 161px;
    bottom: auto;
    left: 11px;
  }
  .fixed-button-wrap .animated-img {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
}
@keyframes jump {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-15px);
  }
  100% {
    transform: translateY(0);
  }
}
.breadcrumb {
  width: calc(100% - 32px);
  margin-inline: auto;
  margin-top: 24px;
  color: #66554A;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.3;
  white-space: nowrap;
  overflow-x: auto;
  padding-bottom: 8px;
}
.breadcrumb a {
  text-decoration: underline;
}
.breadcrumb span {
  margin-left: 8px;
}
.breadcrumb .separator {
  display: inline-block;
  position: relative;
  width: 8px;
  height: 12px;
  /* 💡 追加: 図形全体をY軸中心に180度回転させ、左右を反転させる */
  transform: rotateY(180deg);
}
.breadcrumb .separator::after, .breadcrumb .separator::before {
  content: "";
  position: absolute;
  /* 線の太さと色 */
  height: 1px;
  background-color: #6B5E51;
  border-radius: 2px;
  /* 線の長さ */
  width: 7px;
  /* 線の交差点（尖っている部分）の位置 */
  top: 50%;
  left: 0;
  /* 回転の基準点を線の左端（尖っている部分）に設定 */
  transform-origin: 0% 50%;
}
.breadcrumb .separator::after {
  transform: translateY(-50%) rotate(45deg);
}
.breadcrumb .separator::before {
  transform: translateY(-50%) rotate(-45deg);
}

@media (min-width: 960px) {
  .breadcrumb {
    max-width: 1140px;
  }
}

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