/* ========================================
   School Page Styles
   ======================================== */

/* Beginner Hero Section */
.c-beginner-hero {
  width: 100%;
}

.c-beginner-hero__banner {
  background-color: var(--lesson-beginner);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 16px 24px;
}

.c-beginner-hero__banner-icon {
  width: 10px;
  height: 20px;
  flex-shrink: 0;
}

.c-beginner-hero__banner-text {
  color: var(--base-0);
  text-align: center;
  white-space: normal;
}

.c-beginner-hero__content {
  position: relative;
  width: 100%;
  height: 480px;
  background-image: url("../images/lesson-beginner-hero.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 24px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.c-beginner-hero__text-container {
  display: flex;
  flex-direction: column;
  gap: 24px;
  position: relative;
  z-index: 1;
}

.c-beginner-hero__title-group {
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.c-beginner-hero__title {
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.c-beginner-hero__title-line {
  background-color: var(--base-0);
  color: var(--primary-70);
  padding: 6px 8px;
  width: fit-content;
  line-height: 1;
  display: flex;
  align-items: flex-end;
  gap: 2px;
}

.c-beginner-hero__description {
  color: var(--primary-70);
  min-width: 100%;
  width: fit-content;
}

.c-beginner-hero__description p {
  margin: 0;
}

/* Regular Hero Section */
.c-regular-hero {
  width: 100%;
}

.c-regular-hero__banner {
  background-color: var(--lesson-regular);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 16px 24px;
}

.c-regular-hero__banner-icon {
  width: 10px;
  height: 20px;
  flex-shrink: 0;
}

.c-regular-hero__banner-text {
  color: var(--base-0);
  text-align: center;
  white-space: normal;
}

.c-regular-hero__content {
  position: relative;
  width: 100%;
  height: 480px;
  background-image: url("../images/lesson-regular-hero.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 24px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.c-regular-hero__text-container {
  display: flex;
  flex-direction: column;
  gap: 24px;
  position: relative;
  z-index: 1;
}

.c-regular-hero__title-group {
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.c-regular-hero__title {
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.c-regular-hero__title-line {
  background-color: var(--base-0);
  color: var(--primary-70);
  padding: 6px 8px;
  width: fit-content;
  line-height: 1;
  display: flex;
  align-items: flex-end;
  gap: 2px;
}

.c-regular-hero__description {
  color: var(--primary-70);
  min-width: 100%;
  width: fit-content;
}

.c-regular-hero__description p {
  margin: 0;
}

/* Beginner Problems List */
.c-beginner-problems__list {
  background-color: var(--primary-10);
  padding: 40px 24px;
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.c-beginner-problems__item {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: center;
}

.c-beginner-problems__question {
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: center;
  width: 100%;
}

.c-beginner-problems__question-bubble {
  background-color: var(--base-0);
  border-radius: 140px;
  padding: 8px 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: 100%;
  overflow: hidden;
}

.c-beginner-problems__question-text {
  color: var(--primary-70);
  flex: 1;
  min-width: 0;
}

.c-beginner-problems__question-mark {
  width: 20px;
  flex-shrink: 0;
}

.c-beginner-problems__arrow {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  height: 26px;
  width: 8px;
}

.c-beginner-problems__arrow-dot {
  width: 8px;
  height: 8px;
  background-color: var(--primary-70);
  border-radius: 50%;
}

.c-beginner-problems__arrow-dot--medium {
  width: 6px;
  height: 6px;
}

.c-beginner-problems__arrow-dot--small {
  width: 4px;
  height: 4px;
}

.c-beginner-problems__answer-title {
  color: var(--primary-70);
  width: 100%;
}

.c-beginner-problems__answer-text {
  color: var(--primary-70);
  width: 100%;
}

/* Beginner Reasons Section */
.c-beginner-reasons {
  width: 100%;
}

.c-beginner-reasons__header {
  position: relative;
  padding: 64px 24px 48px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  text-align: left;
  overflow: hidden;
  background-image: url("../images/img-common-grass.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.c-beginner-reasons__header-text,
.c-beginner-reasons__header-title {
  position: relative;
  z-index: 1;
  color: var(--base-0);
  display: flex;
  gap: 2px;
  align-items: flex-end;
  line-height: 1;
}

.c-beginner-reasons__header-text {
  margin: 0;
}

.c-beginner-reasons__header-title p {
  margin: 0;
  line-height: 1;
}

.c-beginner-reasons__container {
  display: flex;
  width: 100%;
}

.c-beginner-reasons__accent {
  width: 16px;
  background-color: var(--lesson-beginner);
  flex-shrink: 0;
}

.c-beginner-reasons__list {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.c-beginner-reasons__item {
  background-color: var(--primary-70);
  display: flex;
  flex-direction: column;
}

.c-beginner-reasons__item-image {
  width: 100%;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

.c-beginner-reasons__item-image-img {
  max-width: 100%;
  height: auto;
  display: block;
}

.c-beginner-reasons__item-content {
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.c-beginner-reasons__item-header {
  display: flex;
  gap: 16px;
  align-items: center;
}

.c-beginner-reasons__item-number {
  color: var(--lesson-beginner);
  width: 40px;
  text-align: center;
  flex-shrink: 0;
}

.c-beginner-reasons__item-title {
  color: var(--base-0);
  flex: 1;
}

.c-beginner-reasons__item-description {
  color: var(--base-0);
  text-align: justify;
}

.c-beginner-reasons__item-highlight {
  color: var(--lesson-beginner);
}

.c-beginner-reasons__item-features {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.c-beginner-reasons__item-features-title {
  color: var(--primary-30);
}

.c-beginner-reasons__item-features-list {
  display: flex;
  flex-direction: column;
}

.c-beginner-reasons__item-feature {
  border-top: 1px solid #246135;
  border-bottom: 1px solid #246135;
  padding: 4px 0;
  display: flex;
  align-items: center;
  gap: 8px;
}

.c-beginner-reasons__item-feature + .c-beginner-reasons__item-feature {
  border-top: none;
}

.c-beginner-reasons__item-feature-icon {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}

.c-beginner-reasons__item-feature-text {
  color: var(--base-0);
  flex: 1;
}

.c-beginner-reasons__item-quote {
  display: flex;
  flex-direction: column;
}

.c-beginner-reasons__item-quote-mark {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  opacity: 0.2;
}

.c-beginner-reasons__item-quote-mark--open {
  align-self: flex-start;
  margin-bottom: -8px;
}

.c-beginner-reasons__item-quote-mark--close {
  align-self: flex-end;
  margin-top: -8px;
}

.c-beginner-reasons__item-quote-text {
  color: var(--lesson-beginner);
  margin-top: 8px;
  margin-bottom: 8px;
}

/* Regular lesson color overrides for reasons section */
.c-beginner-reasons.c-regular-colors .c-beginner-reasons__accent {
  background-color: var(--lesson-regular);
}

.c-beginner-reasons.c-regular-colors .c-beginner-reasons__item-number {
  color: var(--lesson-regular);
}

.c-beginner-reasons.c-regular-colors .c-beginner-reasons__item-highlight {
  color: var(--lesson-regular);
}

.c-beginner-reasons.c-regular-colors .c-beginner-reasons__item-quote-text {
  color: var(--lesson-regular);
}

/* School Hero Section */
.c-school-hero {
  position: relative;
  width: 100%;
  min-height: 568px;
  background-image: url("../images/lesson-hero.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 48px 24px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.c-school-hero__content {
  display: flex;
  flex-direction: column;
  gap: 24px;
  position: relative;
  z-index: 1;
}

.c-school-hero__header {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.c-school-hero__subtitle {
  color: var(--base-0);
}

.c-school-hero__title {
  color: var(--base-0);
}

.c-school-hero__features {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.c-school-hero__feature {
  padding: 8px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
}

.c-school-hero__feature--beginner {
  background-color: var(--lesson-beginner);
}

.c-school-hero__feature--regular {
  background-color: var(--lesson-regular);
}

.c-school-hero__feature--round {
  background-color: var(--lesson-round);
}

.c-school-hero__feature-text {
  color: var(--base-0);
}

.c-school-hero__description {
  color: var(--base-0);
}

.c-school-hero__description p {
  margin: 0;
}

.c-school-hero__tags {
  display: flex;
  flex-direction: column;
  gap: 1px;
  width: fit-content;
}

.c-school-hero__tag {
  background-color: var(--base-0);
  border-radius: 80px;
  padding: 4px 16px 4px 4px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.c-school-hero__tag-icon {
  width: 32px;
  height: 32px;
  background-color: var(--primary-70);
  border-radius: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.c-school-hero__tag-icon-img {
  width: 24px;
  height: 24px;
}

.c-school-hero__tag-text {
  color: var(--primary-70);
}

/* School Features Section */
.c-school-features {
  background-color: var(--primary-70);
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.c-school-features__title {
  color: var(--primary-20);
}

.c-school-features__list {
  display: flex;
  flex-direction: column;
}

.c-school-features__item {
  border-top: 1px solid #246135;
  border-bottom: 1px solid #246135;
  padding: 8px 0;
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 56px;
}

.c-school-features__item + .c-school-features__item {
  border-top: none;
}

.c-school-features__icon {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.c-school-features__icon-img {
  width: 100%;
  height: 100%;
}

.c-school-features__text {
  color: var(--base-0);
}

.c-school-features__price {
  display: flex;
  flex-direction: column;
  color: var(--base-0);
}

.c-school-features__price-main {
  display: flex;
  align-items: center;
  gap: 4px;
}

.c-school-features__price-amount {
  color: var(--base-0);
}

.c-school-features__price-tax {
  color: var(--base-0);
}

.c-school-features__price-note {
  color: var(--base-0);
}

/* School Problems Section */
.c-school-problems {
  background-color: var(--base-0);
  padding: 64px 0 0;
  display: flex;
  flex-direction: column;
  gap: 0;
  align-items: center;
}

.c-school-problems__header {
  padding: 0 24px;
  width: 100%;
  display: flex;
  gap: 8px;
  align-items: flex-end;
  justify-content: center;
  margin-bottom: 40px;
}

.c-school-problems__header-text {
  display: flex;
  flex-direction: column;
  margin: 0;
}

.c-school-problems__title {
  display: block;
  color: var(--primary-70);
  text-align: left;
}

.c-school-problems__question {
  color: var(--secondary-60);
}

.c-school-problems__image {
  width: 240px;
  height: 240px;
  flex-shrink: 0;
  margin-bottom: 0;
}

.c-school-problems__image-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.c-school-problems__tags {
  background-color: var(--primary-10);
  padding: 40px 24px;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: center;
}

.c-school-problems__tags-wrapper {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 2px;
  justify-content: center;
}

.c-school-problems__tag {
  background-color: var(--base-0);
  border-radius: 100px;
  padding: 8px 12px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.c-school-problems__tag-text {
  color: var(--primary-70);
}

.c-school-problems__arrow {
  width: 8px;
  height: 26px;
}

.c-school-problems__arrow-img {
  width: 100%;
  height: 100%;
}

.c-school-problems__solution {
  padding: 0 24px;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 40px;
}

.c-school-problems__solution-text {
  display: flex;
  flex-direction: column;
  gap: 12px;
  color: var(--primary-70);
}

.c-school-problems__solution-line {
  display: flex;
  gap: 2px;
  align-items: flex-end;
}

.c-school-problems__solution-emphasis {
  color: var(--primary-70);
}

.c-school-problems__solution-normal {
  color: var(--primary-70);
}

.c-school-problems__cta {
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: flex-start;
  margin-bottom: 64px;
}

.c-school-problems__cta-item {
  border-bottom: 1px solid var(--secondary-60);
  display: inline-flex;
}

.c-school-problems__cta-text {
  color: var(--secondary-60);
}

/* Lesson Detail Section (School Page) */
.c-lesson-detail__header {
  position: relative;
  background-color: var(--primary-70);
  padding: 64px 24px 48px;
}

.c-lesson-detail__header::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: url("../images/img-common-grass.jpg");
  background-size: cover;
  background-position: center;
  opacity: 0.8;
  z-index: 0;
}

.c-lesson-detail__header-content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.c-lesson-detail__subtitle {
  color: var(--base-0);
  margin: 0;
}

.c-lesson-detail__title {
  color: var(--base-0);
  margin: 0;
}

/* Lesson Courses */
.c-lesson-courses {
  background-color: var(--primary-70);
}

.c-lesson-course {
  display: flex;
  align-items: stretch;
  background-color: var(--primary-70);
  width: 100%;
}

.c-lesson-course--beginner {
  margin-bottom: 1px;
}

.c-lesson-course--beginner .c-lesson-course__number {
  background-color: var(--lesson-beginner);
}

.c-lesson-course--regular .c-lesson-course__number {
  background-color: var(--lesson-regular);
}

.c-lesson-course__number {
  width: 80px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  padding: 24px 16px;
  color: var(--base-0);
}

.c-lesson-course__number-label {
  letter-spacing: 0.04em;
  color: var(--base-0);
}

.c-lesson-course__number-value {
  color: var(--base-0);
}

.c-lesson-course__content {
  flex: 1;
  background-color: var(--primary-70);
  display: flex;
  flex-direction: column;
}

.c-lesson-course__image {
  width: 100%;
  height: 160px;
  object-fit: cover;
  object-position: center;
  order: -1;
}

.c-lesson-course__info {
  padding: 32px 24px 48px;
  color: var(--base-0);
  flex: 1;
}

.c-lesson-course__title {
  color: var(--base-0);
  margin-bottom: 16px;
}

.c-lesson-course__description {
  color: var(--base-0);
  margin-bottom: 16px;
}

.c-lesson-course__features {
  display: flex;
  flex-direction: column;
  margin-bottom: 16px;
}

.c-lesson-course__feature {
  border-top: 1px solid #246135;
  border-bottom: 1px solid #246135;
  padding: 4px 0;
  display: flex;
  align-items: center;
  gap: 8px;
}

.c-lesson-course__feature + .c-lesson-course__feature {
  border-top: none;
}

.c-lesson-course__feature-icon {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}

.c-lesson-course__feature-text {
  color: var(--base-0);
  flex: 1;
  margin: 0;
}

.c-lesson-course__note {
  color: var(--base-0);
  margin: 0 0 24px;
}

.c-lesson-course__trial {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-bottom: 24px;
}

.c-lesson-course__trial-bracket {
  width: 12px;
  height: 24px;
}

.c-lesson-course__trial--beginner .c-lesson-course__trial-text {
  color: var(--lesson-beginner);
}

.c-lesson-course__trial--regular .c-lesson-course__trial-text {
  color: var(--lesson-regular);
}

.c-lesson-course__btn {
  background-color: var(--base-0);
  border-radius: 4px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
  transition: background-color 0.3s ease;
  width: 100%;
}

.c-lesson-course__btn:hover {
  background-color: var(--primary-10);
}

.c-lesson-course__btn-thumb {
  width: 100%;
  height: 80px;
  object-fit: cover;
  object-position: center;
  flex-shrink: 0;
}

.c-lesson-course__btn-content {
  flex: 1;
  padding: 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

.c-lesson-course__btn-text {
  color: var(--primary-70);
}

/* Round Lesson Section */
.c-round-lesson {
  position: relative;
  background-color: var(--primary-70);
  padding: 48px 24px;
}

.c-round-lesson::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: url("../images/img-common-grass.jpg");
  background-size: cover;
  background-position: center;
  opacity: 0.8;
  z-index: 0;
}

.c-round-lesson__image {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 160px;
  margin: 0 auto;
}

.c-round-lesson__image-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.c-round-lesson__content {
  position: relative;
  z-index: 1;
  background-color: var(--base-0);
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin: 0 auto;
  width: 100%;
}

.c-round-lesson__header {
  display: flex;
  align-items: flex-end;
  gap: 8px;
}

.c-round-lesson__title-group {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.c-round-lesson__subtitle {
  color: var(--primary-70);
  margin: 0;
}

.c-round-lesson__title {
  color: var(--primary-70);
  margin: 0;
}

.c-round-lesson__badge {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background-color: #9ba2e8;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  flex-shrink: 0;
}

.c-round-lesson__badge-line {
  color: var(--base-0);
  text-align: center;
  margin: 0;
  line-height: 1;
}

.c-round-lesson__info {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.c-round-lesson__description {
  color: var(--primary-70);
  margin: 0;
}

.c-round-lesson__price {
  display: flex;
  align-items: center;
  gap: 4px;
}

.c-round-lesson__price-currency {
  color: var(--primary-70);
}

.c-round-lesson__price-amount {
  color: var(--secondary-60);
}

.c-round-lesson__price-suffix {
  color: var(--primary-70);
}

.c-round-lesson__card {
  border: 1px solid #e6e8db;
  border-radius: 4px;
  overflow: hidden;
}

.c-round-lesson__card-image {
  width: 100%;
  height: 160px;
}

.c-round-lesson__card-image-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.c-round-lesson__card-content {
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.c-round-lesson__card-header {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.c-round-lesson__card-subtitle {
  color: var(--primary-70);
  margin: 0;
}

.c-round-lesson__card-title {
  color: var(--primary-70);
  margin: 0;
}

.c-round-lesson__card-text {
  color: var(--primary-70);
  margin: 0;
  text-align: justify;
}

.c-round-lesson .c-btn {
  width: 100%;
  justify-content: center;
}

/* Common Features Section */
.c-common-features {
  padding: 64px 0 0;
}

.c-common-features__header {
  display: flex;
  align-items: flex-end;
  gap: 16px;
  padding: 0 24px;
  margin-bottom: 40px;
}

.c-common-features__title {
  color: var(--primary-70);
  margin: 0;
}

.c-common-features__accent {
  color: var(--secondary-60);
  margin: 0;
  line-height: 0.9;
}

/* Feature Items */
.c-common-features__item {
  padding: 48px 24px;
}

.c-common-features__item--orange {
  background-color: var(--secondary-60);
}

.c-common-features__item--green {
  background-color: var(--primary-70);
}

.c-common-features__text-group {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 40px;
}

.c-common-features__text {
  color: var(--base-0);
  margin: 0;
}

.c-common-features__text-row {
  display: flex;
  align-items: flex-end;
  gap: 2px;
}

.c-common-features__text-bold {
  color: var(--base-0);
  margin: 0;
}

.c-common-features__image-group {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.c-common-features__image-with-caption {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.c-common-features__image {
  width: 100%;
  height: auto;
  display: block;
}

.c-common-features__caption {
  color: var(--base-0);
  margin: 0;
}

/* Common Points Section */
.c-common-points {
  padding: 64px 0 0;
}

.c-common-points__header {
  padding: 0 24px;
  margin-bottom: 40px;
}

.c-common-points__title {
  color: var(--primary-70);
  margin: 0;
}

.c-common-points__item {
  position: relative;
  height: 375px;
  background-color: var(--secondary-60);
}

.c-common-points__item::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(
    180deg,
    rgba(24, 119, 24, 0) 31.718%,
    #187718 100%
  );
  z-index: 1;
  pointer-events: none;
}

.c-common-points__bg-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  z-index: 0;
}

.c-common-points__content {
  position: relative;
  z-index: 2;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 10px;
  padding: 24px;
}

.c-common-points__text-group {
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.c-common-points__text-group--left {
  align-items: flex-start;
}

.c-common-points__text-group--right {
  align-items: flex-end;
}

.c-common-points__text-line {
  background-color: var(--base-0);
  padding: 6px 8px;
  margin: 0;
  display: flex;
  align-items: flex-end;
  gap: 2px;
}

.c-common-points__text-normal {
  color: var(--primary-70);
  margin: 0;
}

.c-common-points__text-bold {
  color: var(--secondary-60);
  margin: 0;
}

.c-common-points__description {
  color: var(--base-0);
  margin: 0;
}

.c-common-points__description--right {
  text-align: right;
}

/* Common TopTracer Section */
.c-common-toptracer {
  padding: 64px 0;
}

.c-common-toptracer__header {
  padding: 0 24px;
  margin-bottom: 40px;
}

.c-common-toptracer__title {
  color: var(--primary-70);
  margin: 0;
}

.c-common-toptracer__content {
  background-color: #14508f;
  padding: 24px 0;
  margin: 0 24px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: center;
}

.c-common-toptracer__logo {
  width: 200px;
  height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.c-common-toptracer__logo-img {
  width: 100%;
  height: auto;
  display: block;
}

.c-common-toptracer__images {
  width: 100%;
  display: flex;
  flex-direction: column;
}

.c-common-toptracer__image {
  width: 100%;
  height: auto;
  display: block;
}

.c-common-toptracer__description {
  color: var(--base-0);
  margin: 0;
  padding: 0 24px;
}

/* Common Lesson Flow Section */
.c-common-lesson-flow {
  background-color: var(--primary-70);
  padding: 64px 0;
}

.c-common-lesson-flow__header {
  padding: 0 24px;
  margin-bottom: 40px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: flex-start;
}

.c-common-lesson-flow__title {
  color: var(--base-0);
  margin: 0;
  text-align: left;
}

.c-common-lesson-flow__subtitle {
  color: var(--secondary-60);
  margin: 0;
  text-align: left;
}

.c-common-lesson-flow__steps {
  padding-left: 24px;
}

.c-common-lesson-flow__step {
  display: flex;
  flex-direction: column;
  margin: 0;
}

.c-common-lesson-flow__step-header {
  display: flex;
  gap: 0;
  align-items: stretch;
}

.c-common-lesson-flow__label {
  background-color: var(--base-0);
  width: 64px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 6px 8px;
}

.c-common-lesson-flow__label-text {
  color: var(--primary-70);
  margin: 0;
  text-align: center;
  white-space: pre;
}

.c-common-lesson-flow__image-wrapper {
  flex: 1;
  aspect-ratio: 1125 / 720;
  position: relative;
  overflow: hidden;
}

.c-common-lesson-flow__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.c-common-lesson-flow__step-content {
  display: flex;
}

.c-common-lesson-flow__connector {
  width: 64px;
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  padding: 10px 0;
}

.c-common-lesson-flow__connector-line {
  display: block;
  height: 100%;
}

.c-common-lesson-flow__description {
  flex: 1;
  color: var(--base-0);
  margin: 0;
  padding: 16px 24px 24px 24px;
  text-align: justify;
}

.c-common-lesson-flow__footer {
  padding: 0 24px;
  margin-top: 40px;
}

.c-common-lesson-flow__footer-text {
  color: var(--base-0);
  margin: 0;
  text-align: justify;
}

/* ========================================
   Common Coaches Section
   ======================================== */

.c-common-coaches {
  display: flex;
  flex-direction: column;
  gap: 40px;
  padding: 64px 0;
}

.c-common-coaches__header {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: center;
  text-align: center;
  padding: 0 24px;
}

.c-common-coaches__subtitle {
  color: var(--secondary-60);
}

.c-common-coaches__title {
  color: var(--primary-70);
}

.c-common-coaches__list {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.c-common-coaches__item {
  display: flex;
  flex-direction: column;
  padding: 0 24px;
}

.c-common-coaches__image-wrapper {
  width: 100%;
  aspect-ratio: 1125 / 720;
  position: relative;
  overflow: hidden;
}

.c-common-coaches__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.c-common-coaches__content {
  background-color: var(--primary-10);
  display: flex;
  flex-direction: column;
}

.c-common-coaches__info {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 24px;
}

.c-common-coaches__name-wrapper {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: center;
  text-align: center;
}

.c-common-coaches__name {
  color: var(--primary-70);
  margin: 0;
}

.c-common-coaches__name-en {
  color: var(--secondary-60);
  margin: 0;
}

.c-common-coaches__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 2px;
  justify-content: center;
}

.c-common-coaches__tag {
  background-color: var(--base-0);
  color: var(--primary-70);
  padding: 6px 8px;
  border-radius: 4px;
  display: inline-block;
}

.c-common-coaches__credentials {
  color: var(--primary-70);
  text-align: center;
  margin: 0;
}

.c-common-coaches__career {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: center;
  text-align: center;
  padding: 24px;
  border-top: 1px solid var(--base-0);
  border-bottom: 1px solid var(--base-0);
}

.c-common-coaches__career-label {
  color: var(--primary-30);
  margin: 0;
  width: 80px;
}

.c-common-coaches__career-text {
  color: var(--primary-70);
  margin: 0;
}

.c-common-coaches__message {
  padding: 24px;
  display: flex;
  flex-direction: column;
  border-radius: 16px;
  position: relative;
}

.c-common-coaches__quote-open {
  display: block;
  width: 24px;
  height: auto;
  margin: 0;
  margin-bottom: 8px;
}

.c-common-coaches__quote-close {
  display: block;
  width: 24px;
  height: auto;
  margin: 0;
  align-self: flex-end;
  margin-top: 8px;
}

.c-common-coaches__message-text {
  color: var(--primary-70);
  margin: 0;
  text-align: justify;
}

/* ========================================
   Common Price Section
   ======================================== */

.c-common-price {
  display: flex;
  flex-direction: column;
  gap: 40px;
  padding-bottom: 64px;
}

/* Header with Background */
.c-common-price__header {
  position: relative;
  width: 100%;
  background-image: url("../images/lesson-hero.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 48px 24px;
}

.c-common-price__features {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.c-common-price__feature {
  padding: 8px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
}

.c-common-price__feature--beginner {
  background-color: var(--lesson-beginner);
}

.c-common-price__feature--regular {
  background-color: var(--lesson-regular);
}

.c-common-price__feature--round {
  background-color: var(--lesson-round);
}

.c-common-price__feature-text {
  color: var(--base-0);
}

.c-common-price__description {
  color: var(--base-0);
}

.c-common-price__description p {
  margin: 0;
}

.c-common-price__tags {
  display: flex;
  flex-direction: column;
  gap: 1px;
  width: fit-content;
}

.c-common-price__tag {
  background-color: var(--base-0);
  border-radius: 80px;
  padding: 4px 16px 4px 4px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.c-common-price__tag-icon {
  width: 32px;
  height: 32px;
  background-color: var(--primary-70);
  border-radius: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.c-common-price__tag-icon-img {
  width: 24px;
  height: 24px;
}

.c-common-price__tag-text {
  color: var(--primary-70);
}

/* Price Content */
.c-common-price__content {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 0 24px;
  align-items: center;
}

.c-common-price__items {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.c-common-price__row {
  display: flex;
  gap: 16px;
  align-items: center;
}

.c-common-price__info {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 80px;
}

.c-common-price__label {
  color: var(--primary-70);
  margin: 0;
  text-align: center;
}

.c-common-price__badge {
  background-color: var(--secondary-60);
  padding: 4px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.c-common-price__badge-text {
  color: var(--base-0);
  margin: 0;
}

.c-common-price__details {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: center;
  justify-content: center;
}

.c-common-price__amount {
  display: flex;
  gap: 8px;
  align-items: center;
}

.c-common-price__currency {
  color: var(--primary-70);
  margin: 0;
}

.c-common-price__price {
  color: var(--secondary-60);
  margin: 0;
}

.c-common-price__tax {
  color: var(--base-40);
  margin: 0;
}

/* Divider */
.c-common-price__divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
}

.c-common-price__divider-line {
  flex: 1;
  height: 1px;
  background-color: var(--primary-10);
}

.c-common-price__divider-icon {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.c-common-price__divider-icon-img {
  width: 40px;
  height: 40px;
}

/* Note */
.c-common-price__note {
  color: var(--primary-70);
  margin: 0;
  text-align: center;
}

/* CTA */
.c-common-price__cta {
  display: inline-block;
}

.c-common-price__cta-text {
  color: var(--secondary-60);
  margin: 0;
  border-bottom: 1px solid var(--secondary-60);
  padding-bottom: 0px;
  display: inline-block;
}

/* Common Trial Lesson Section */
.c-common-trial {
  display: flex;
  flex-direction: column;
  gap: 40px;
  padding: 64px 0;
}

.c-common-trial__content {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: center;
  padding: 0 24px;
}

.c-common-trial__title {
  color: var(--primary-70);
  margin: 0;
  text-align: center;
}

.c-common-trial__badge {
  background-color: var(--secondary-60);
  padding: 8px 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.c-common-trial__badge-text {
  color: var(--base-0);
  margin: 0;
  text-align: center;
}

.c-common-trial__price {
  display: flex;
  gap: 8px;
  align-items: center;
}

.c-common-trial__currency {
  color: var(--primary-70);
  margin: 0;
}

.c-common-trial__amount {
  color: var(--secondary-60);
  margin: 0;
}

.c-common-trial__tax {
  color: var(--base-40);
  margin: 0;
}

.c-common-trial__note {
  color: var(--primary-70);
  margin: 0;
  text-align: center;
}

.c-common-trial__image {
  padding: 8px;
}

.c-common-trial__canva-wrapper {
  position: relative;
  width: 100%;
  padding-top: 50%; /* アスペクト比 2:1 */
  padding-bottom: 0;
  overflow: hidden;
  background-color: var(--base-0);
}

.c-common-trial__canva-iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}

/* Common 6 Reasons Section */
.c-common-reasons {
  display: flex;
  flex-direction: column;
}

.c-common-reasons__header {
  background-color: var(--primary-70);
  padding: 64px 24px 40px;
}

.c-common-reasons__title {
  color: var(--base-0);
  margin: 0;
}

.c-common-reasons__list {
  background-color: var(--primary-10);
  display: flex;
  flex-direction: column;
  gap: 1px;
  padding: 1px 0;
}

.c-common-reasons__item {
  display: flex;
  background-color: var(--base-0);
}

.c-common-reasons__image {
  width: 120px;
  flex-shrink: 0;
  position: relative;
  overflow: hidden;
}

.c-common-reasons__image-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.c-common-reasons__content {
  flex: 1;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.c-common-reasons__number-wrapper {
  display: flex;
  gap: 16px;
  align-items: center;
}

.c-common-reasons__number {
  color: var(--secondary-60);
  margin: 0;
  flex-shrink: 0;
}

.c-common-reasons__name {
  color: var(--primary-70);
  margin: 0;
}

.c-common-reasons__description {
  color: var(--primary-70);
  margin: 0;
  text-align: justify;
}

/* Voice Section */
.c-voice {
  background-color: var(--primary-70);
  padding: 64px 24px;
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.c-voice__header {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.c-voice__title {
  color: var(--base-0);
}

.c-voice__subtitle {
  color: var(--secondary-60);
  text-align: left;
}

.c-voice__card-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}

.c-voice__card-wrapper {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.c-voice__card-link {
  text-decoration: none;
  width: 100%;
  display: block;
}

.c-voice__card-wrapper--rotate-2 {
  transform: rotate(2deg);
}

.c-voice__card-wrapper--rotate-3 {
  transform: rotate(3deg);
}

.c-voice__card-wrapper--rotate-minus-2 {
  transform: rotate(-2deg);
}

.c-voice__card {
  background-color: var(--base-0);
  border: 1px solid var(--primary-10);
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
}

.c-voice__card-image {
  width: 100%;
  aspect-ratio: 312 / 160;
  object-fit: cover;
  object-position: center;
}

.c-voice__card-meta {
  display: flex;
  gap: 16px;
  align-items: center;
}

.c-voice__card-category {
  background-color: var(--primary-10);
  padding: 8px 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}

.c-voice__card-category-text {
  color: var(--primary-70);
}

.c-voice__card-date {
  color: var(--primary-30);
}

.c-voice__card-content {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}

.c-voice__card-title {
  color: var(--primary-70);
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  word-wrap: break-word;
}

.c-voice__card-text {
  color: var(--primary-70);
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  word-wrap: break-word;
}

.c-voice__card-author {
  color: var(--primary-30);
}

.c-voice__button-container {
  display: flex;
  justify-content: center;
  width: 100%;
}

/* 共通練習場所セクション */
.c-common-place {
  background-color: var(--base-0);
}

.c-common-place__inner {
  margin: 0 auto;
}

/* 練習する場所 */
.c-common-place__practice {
  padding: 64px 24px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.c-common-place__title {
  color: var(--primary-70);
  text-align: center;
  margin: 0;
}

.c-common-place__subtitle {
  color: var(--secondary-60);
  text-align: center;
  margin: 0;
}

.c-common-place__card {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.c-common-place__card-image {
  width: 100%;
  aspect-ratio: 1924 / 1010;
  overflow: hidden;
  background-color: var(--base-10);
}

.c-common-place__card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.c-common-place__card-content {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.c-common-place__card-content .c-btn {
  align-self: flex-start;
  margin-top: 4px;
}

.c-common-place__card-title {
  color: var(--primary-70);
  margin: 0;
}

.c-common-place__card-text {
  color: var(--primary-70);
  margin: 0;
}

/* 当日の持ち物 */
.c-common-place__items-section {
  border-top: 1px solid var(--primary-10);
  padding: 64px 24px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.c-common-place__items {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.c-common-place__item {
  border: 1px solid var(--primary-10);
  border-radius: 4px;
  padding: 16px 24px;
  display: flex;
  gap: 24px;
  align-items: center;
}

.c-common-place__item-icon {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.c-common-place__item-icon-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.c-common-place__item-text {
  color: var(--primary-70);
  margin: 0;
}

.c-common-place__item-content {
  display: flex;
  gap: 0;
  align-items: center;
  flex-grow: 1;
}

.c-common-place__item-note {
  color: var(--primary-70);
  margin: 0 0 0 auto;
}

.c-common-place__description {
  color: var(--primary-70);
  margin: 0;
  text-align: justify;
}

/* 体験レッスンの流れ */
.c-common-place__flow-section {
  border-top: 1px solid var(--primary-10);
  padding: 64px 24px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.c-common-place__flow {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.c-common-place__flow-item {
  background-color: var(--base-0);
  border: 1px solid var(--primary-10);
  border-radius: 4px;
  padding: 16px 24px;
  display: flex;
  gap: 24px;
  align-items: center;
}

.c-common-place__flow-number {
  color: var(--secondary-60);
  text-align: center;
  margin: 0;
  width: 32px;
  flex-shrink: 0;
}

.c-common-place__flow-text {
  color: var(--primary-70);
  margin: 0;
  text-align: justify;
  flex-grow: 1;
}

/* 固定CTA (school/index.html用) */
.c-fixed-cta {
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1000;
  background-color: var(--primary-60);
  border-top: 1px solid var(--primary-50);
  width: 100%;
  padding: 12px 24px 20px;
}

@media (min-width: 960px) {
  .c-fixed-cta {
    left: 50%;
    transform: translateX(0);
    width: 50vw;
    max-width: 50vw;
  }
}

.c-fixed-cta__inner {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.c-fixed-cta__header {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-bottom: 4px;
}

.c-fixed-cta__deco {
  width: 7px;
  height: 14px;
  display: block;
}

.c-fixed-cta__title {
  color: var(--base-0);
  margin: 0;
  text-align: center;
}

.c-fixed-cta__buttons {
  display: flex;
  gap: 1px;
  margin-bottom: 4px;
}

.c-fixed-cta__button {
  flex: 1;
  background-color: var(--base-0);
  border-radius: 4px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 48px;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.c-fixed-cta__button:hover {
  background-color: var(--primary-10);
}

.c-fixed-cta__button-text {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--primary-70);
  padding: 8px;
  text-align: center;
}

.c-fixed-cta__button-bar {
  height: 4px;
  width: 100%;
}

.c-fixed-cta__button-bar--beginner {
  background-color: var(--lesson-beginner);
}

.c-fixed-cta__button-bar--regular {
  background-color: var(--lesson-regular);
}

/* 固定CTA (beginner.html専用) */
.c-fixed-cta-beginner {
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1000;
  background-color: var(--primary-60);
  border-top: 1px solid var(--primary-50);
  width: 100%;
  padding: 20px 24px;
}

@media (min-width: 960px) {
  .c-fixed-cta-beginner {
    left: 50%;
    transform: translateX(0);
    width: 50vw;
    max-width: 50vw;
  }
}

.c-fixed-cta-beginner__inner {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.c-fixed-cta-beginner__buttons {
  display: flex;
  gap: 1px;
}

.c-fixed-cta-beginner__button {
  flex: 1;
  background-color: var(--base-0);
  border-radius: 4px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 56px;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.c-fixed-cta-beginner__button:hover {
  background-color: var(--primary-10);
}

.c-fixed-cta-beginner__button-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 6px 8px;
  gap: 0;
  min-height: 0;
}

.c-fixed-cta-beginner__button-text {
  color: var(--primary-70);
  text-align: center;
  line-height: 1.5;
}

.c-fixed-cta-beginner__button-subtext {
  color: var(--primary-70);
  text-align: center;
  line-height: 1.5;
}

.c-fixed-cta-beginner__button-bar {
  height: 4px;
  width: 100%;
  flex-shrink: 0;
}

.c-fixed-cta-beginner__button-bar--beginner {
  background-color: var(--lesson-beginner);
}

.c-fixed-cta-beginner__button-bar--regular {
  background-color: var(--lesson-regular);
}

.c-fixed-cta-beginner__button-bar--secondary {
  background-color: var(--secondary-60);
}

.c-fixed-cta-beginner__tel {
  border: 1px solid var(--primary-50);
  display: flex;
  align-items: stretch;
  height: 32px;
}

.c-fixed-cta-beginner__tel-label {
  background-color: var(--primary-50);
  width: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 6px;
}

.c-fixed-cta-beginner__tel-label span {
  color: var(--base-0);
  margin-top: 2px;
}

.c-fixed-cta-beginner__tel-content {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 8px 16px;
  color: var(--base-0);
}

.c-fixed-cta-beginner__tel-number {
  margin-top: 2px;
}

.c-fixed-cta__tel {
  border: 1px solid var(--primary-50);
  display: flex;
  align-items: stretch;
  height: 32px;
}

.c-fixed-cta__tel-label {
  background-color: var(--primary-50);
  width: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 6px;
}

.c-fixed-cta__tel-label span {
  color: var(--base-0);
  margin-top: 2px;
}

.c-fixed-cta__tel-content {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 8px 16px;
  color: var(--base-0);
}

.c-fixed-cta__tel-number {
  margin-top: 2px;
}

/* ========================================
   Round Lesson Page Styles
   ======================================== */

/* ========================================
   Round Lesson Hero Section
   ======================================== */

.c-round-hero {
  width: 100%;
}

/* Banner */
.c-round-hero__banner {
  background-color: var(--lesson-round);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 16px 24px;
}

.c-round-hero__banner-decoration {
  width: 10px;
  height: 20px;
  flex-shrink: 0;
}

.c-round-hero__banner-decoration:last-child {
  transform: rotate(180deg) scaleY(-1);
}

.c-round-hero__banner-decoration-img {
  width: 100%;
  height: 100%;
  display: block;
}

.c-round-hero__banner-text {
  color: var(--base-0);
  text-align: center;
  white-space: normal;
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 0;
}

.c-round-hero__banner-text span {
  display: block;
}

/* Hero Content */
.c-round-hero__content {
  position: relative;
  width: 100%;
  height: 480px;
  background-image: url("../images/round-hero.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 24px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

/* PGA Badge */
.c-round-hero__badge {
  position: absolute;
  top: 24px;
  left: 24px;
  width: 80px;
  height: 80px;
  background-color: var(--base-0);
  border-radius: 140px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
}

.c-round-hero__badge-line {
  color: var(--lesson-round);
  text-align: center;
  line-height: 1;
}

/* Message */
.c-round-hero__message {
  display: flex;
  flex-direction: column;
  gap: 1px;
  align-items: flex-start;
}

.c-round-hero__message-line {
  display: flex;
  align-items: center;
}

.c-round-hero__message-text {
  background-color: var(--base-0);
  color: var(--primary-70);
  padding: 6px 8px;
  line-height: 1;
  white-space: nowrap;
}

/* Price Section */
.c-round-hero__price {
  background-color: var(--base-0);
  padding: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.c-round-hero__price-label {
  color: var(--primary-70);
  text-align: center;
  white-space: nowrap;
}

.c-round-hero__price-amount {
  display: flex;
  align-items: center;
  gap: 4px;
  line-height: 1;
}

.c-round-hero__price-symbol {
  color: var(--primary-70);
}

.c-round-hero__price-value {
  color: var(--secondary-60);
}

.c-round-hero__price-suffix {
  color: var(--primary-70);
}

/* ========================================
   Round Lesson Features Section (3つの魅力)
   ======================================== */

.c-round-features {
  width: 100%;
}

/* Header */
.c-round-features__header {
  background-image: url("../images/img-common-grass.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 64px 24px 48px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.c-round-features__subtitle {
  color: var(--base-0);
  line-height: 1;
}

.c-round-features__title {
  color: var(--base-0);
  line-height: 1;
}

/* Features Container */
.c-round-features__container {
  display: flex;
  width: 100%;
}

.c-round-features__accent {
  width: 16px;
  background-color: var(--lesson-round);
  flex-shrink: 0;
}

.c-round-features__list {
  flex: 1;
  display: flex;
  flex-direction: column;
}

/* Feature Item */
.c-round-features__item {
  background-color: var(--primary-70);
  display: flex;
  flex-direction: column;
}

.c-round-features__item-image {
  width: 100%;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

.c-round-features__item-img {
  max-width: 100%;
  height: auto;
  display: block;
}

.c-round-features__item-content {
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.c-round-features__item-header {
  display: flex;
  align-items: center;
  gap: 16px;
}

.c-round-features__item-number {
  color: var(--lesson-round);
  width: 40px;
  text-align: center;
  line-height: 1;
  flex-shrink: 0;
}

.c-round-features__item-title-wrapper {
  display: flex;
  flex-direction: column;
  line-height: 1.5;
}

.c-round-features__item-title {
  color: var(--base-0);
  margin: 0;
}

.c-round-features__item-description {
  color: var(--base-0);
  margin: 0;
}

/* CTA Section */
.c-round-features__cta {
  background-color: var(--lesson-round);
  padding: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}

.c-round-features__cta-decoration {
  width: 10px;
  height: 20px;
  flex-shrink: 0;
}

.c-round-features__cta-decoration:last-child {
  transform: rotate(180deg) scaleY(-1);
}

.c-round-features__cta-decoration-img {
  width: 100%;
  height: 100%;
  display: block;
}

.c-round-features__cta-text {
  color: var(--base-0);
  text-align: center;
  white-space: normal;
}

.c-round-features__cta-text p {
  margin: 0;
}

/* CTA Button */
.c-round-features__button-wrapper {
  background-color: var(--lesson-round);
  padding: 0 24px 24px;
  display: flex;
  justify-content: center;
}

.c-round-features__button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: 100%;
  height: 56px;
  background-color: var(--base-0);
  border-radius: 4px;
  padding: 8px 16px;
  text-decoration: none;
  transition: background-color 0.2s ease;
}

.c-round-features__button:hover {
  background-color: var(--primary-10);
}

.c-round-features__button-icon {
  width: 24px;
  height: 24px;
  display: block;
}

.c-round-features__button-text {
  color: var(--primary-70);
  line-height: 1;
}

/* ========================================
   Round Lesson Concerns Section (悩みセクション)
   ======================================== */

/* List */
.c-round-concerns__list {
  background-color: var(--primary-10);
  padding: 40px 24px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

/* Item */
.c-round-concerns__item {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.c-round-concerns__item-title {
  color: var(--primary-70);
  margin: 0;
}

.c-round-concerns__item-description {
  color: var(--primary-70);
  margin: 0;
}

/* Tags */
.c-round-concerns__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 2px;
  justify-content: center;
  position: relative;
  padding-bottom: 30px;
}

.c-round-concerns__tag {
  background-color: var(--base-0);
  color: var(--primary-70);
  padding: 8px 12px;
  border-radius: 100px;
  white-space: nowrap;
  display: inline-block;
}

.c-round-concerns__dots {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 8px;
  height: 26px;
  display: block;
}

/* Message */
.c-round-concerns__message {
  padding: 40px 24px 0;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.c-round-concerns__message-title {
  color: var(--primary-70);
  margin: 0;
  text-align: center;
}

.c-round-concerns__message-text {
  color: var(--primary-70);
  margin: 0;
  text-align: justify;
}

/* Coach */
.c-round-concerns__coach {
  width: 100%;
}

.c-round-concerns__coach-img {
  width: 100%;
  height: auto;
  display: block;
}

/* ======================================
   Round Lesson Types Section
   ====================================== */

.c-round-lesson-types {
  background-color: var(--base-0);
  padding: 0;
}

/* Header */
.c-round-lesson-types__header {
  position: relative;
  background-color: var(--primary-70);
  padding: 64px 24px 48px;
}

.c-round-lesson-types__header::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: url("../images/img-common-grass.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 0.8;
  z-index: 0;
}

.c-round-lesson-types__header-content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.c-round-lesson-types__title-group {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.c-round-lesson-types__title-line {
  color: var(--base-0);
  margin: 0;
  line-height: 1;
}

.c-round-lesson-types__title-main {
  display: flex;
  align-items: flex-end;
  gap: 2px;
  line-height: 1;
}

.c-round-lesson-types__title {
  color: var(--base-0);
  margin: 0;
  line-height: 1;
}

.c-round-lesson-types__title-particle {
  color: var(--base-0);
  margin: 0;
  line-height: 1;
}

.c-round-lesson-types__badges {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-right: 8px;
}

.c-round-lesson-types__badge {
  width: 114px;
  height: 114px;
  border: 1px solid var(--base-0);
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-right: -8px;
  background-color: transparent;
}

.c-round-lesson-types__badge-number {
  color: var(--base-0);
  margin: 0;
  line-height: 1;
}

.c-round-lesson-types__badge-text {
  color: var(--base-0);
  text-align: center;
  line-height: 1.5;
  margin: 0;
}

.c-round-lesson-types__description {
  color: var(--base-0);
  margin: 0;
  text-align: justify;
  line-height: 1.8;
}

/* Service Section Styles (from home.css) */
.c-round-lesson-types .c-service-section {
  margin-bottom: 40px;
  position: relative;
  width: 100%;
}

.c-round-lesson-types .c-service-section:last-child {
  margin-bottom: 0;
}

.c-round-lesson-types .c-service-section__hero {
  width: 100%;
  height: auto;
  background-color: var(--primary-10);
  display: block;
}

.c-round-lesson-types .c-service-section__content {
  padding: 40px 24px 0 24px;
  position: relative;
  display: flex;
  gap: 24px;
}

.c-round-lesson-types .c-service-section__label {
  width: 24px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-shrink: 0;
}

.c-round-lesson-types .c-service-section__label-img {
  width: 100%;
  height: auto;
}

.c-round-lesson-types .c-service-section__main {
  flex: 1;
}

.c-round-lesson-types .c-service-section__title {
  color: var(--primary-70);
  margin-bottom: 40px;
}

/* Service Feature */
.c-round-lesson-types .c-service-feature {
  margin-bottom: 40px;
}

.c-round-lesson-types .c-service-feature:last-child {
  margin-bottom: 0;
}

.c-round-lesson-types .c-service-feature__content {
  flex: 1;
}

.c-round-lesson-types .c-service-feature__description {
  color: var(--primary-70);
  margin: 0 0 24px 0;
  line-height: 1.8;
}

.c-round-lesson-types .c-service-feature__subtitle {
  color: var(--primary-70);
  margin: 24px 0 16px 0;
}

.c-round-lesson-types .c-service-feature__list {
  list-style: none;
  margin: 0 0 16px;
  padding: 0;
}

.c-round-lesson-types .c-service-feature__item {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
  color: var(--primary-70);
}

.c-round-lesson-types .c-service-feature__item:last-child {
  margin-bottom: 0;
}

.c-round-lesson-types .c-service-feature__icon {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}

/* Bottom CTA */
.c-round-lesson-types__cta {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
  padding: 64px 24px;
}

.c-round-lesson-types__cta-text {
  color: var(--primary-70);
  text-align: center;
  margin: 0;
}

.c-round-lesson-types__cta-button-wrapper {
  width: 100%;
}

/* Service Section - Lesson Details */
.c-round-lesson-types .c-service-section__header {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 24px;
}

.c-round-lesson-types .c-service-section__subtitle {
  color: var(--secondary-60);
  margin: 0;
  line-height: 1.5;
}

.c-round-lesson-types .c-service-section__description {
  color: var(--primary-70);
  margin: 0 0 24px 0;
  line-height: 1.8;
  text-align: justify;
}

/* Recommend Section */
.c-round-lesson-types .c-service-section__recommend {
  margin-bottom: 24px;
}

.c-round-lesson-types .c-service-section__recommend-title {
  color: var(--primary-70);
  margin: 0 0 12px 0;
  line-height: 1.5;
}

.c-round-lesson-types .c-service-section__recommend-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.c-round-lesson-types .c-service-section__recommend-item {
  display: flex;
  align-items: center;
  gap: 8px;
}

.c-round-lesson-types .c-service-section__recommend-icon {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}

/* Benefits Section */
.c-round-lesson-types .c-service-section__benefits {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.c-round-lesson-types .c-service-section__benefits-header {
  background-color: var(--primary-70);
  padding: 6px 8px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.c-round-lesson-types .c-service-section__benefits-title {
  color: var(--base-0);
  margin: 0;
  line-height: 1.5;
}

.c-round-lesson-types .c-service-section__benefits-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.c-round-lesson-types .c-service-section__benefits-item {
  border: 1px solid #e6e8db;
  border-radius: 4px;
  padding: 12px 16px;
  color: var(--primary-70);
  text-align: center;
  line-height: 1.5;
}

/* CTA Section - Diverse Themes */
.c-round-lesson-types__cta {
  position: relative;
  background-color: var(--primary-70);
  padding: 48px 24px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: flex-start;
}

.c-round-lesson-types__cta::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: url("../images/img-common-grass.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 0.8;
  z-index: 0;
}

.c-round-lesson-types__cta > * {
  position: relative;
  z-index: 1;
}

.c-round-lesson-types__cta-header {
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: flex-start;
}

.c-round-lesson-types__cta-subtitle {
  color: var(--base-0);
  margin: 0;
  line-height: 1;
}

.c-round-lesson-types__cta-title {
  color: var(--base-0);
  margin: 0;
  line-height: 1;
}

.c-round-lesson-types__cta-description {
  color: var(--base-0);
  margin: 0;
  line-height: 1.8;
  text-align: justify;
}

.c-round-lesson-types__cta-note {
  color: var(--base-0);
  margin: 0;
  line-height: 1.5;
}

.c-round-lesson-types__cta-button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 8px 16px;
  height: 56px;
  background-color: var(--base-0);
  border-radius: 4px;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.2s ease;
  width: 100%;
  align-self: center;
}

.c-round-lesson-types__cta-button:hover {
  background-color: var(--primary-10);
}

.c-round-lesson-types__cta-button-icon {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}

.c-round-lesson-types__cta-button-text {
  color: var(--primary-70);
  margin: 0;
  line-height: 1;
}

/* Review Section */
.c-round-lesson-review {
  padding-top: 64px;
}

.c-round-lesson-review__intro {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.c-round-lesson-review__intro-header {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 0 24px;
}

.c-round-lesson-review__intro-icon {
  width: 10px;
  height: 20px;
  flex-shrink: 0;
}

.c-round-lesson-review__intro-title {
  color: var(--primary-70);
  margin: 0;
  line-height: 1.5;
}

.c-round-lesson-review__intro-image {
  position: relative;
  width: 100%;
  min-height: 360px;
  background-image: url("../images/round-debut.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 24px;
}

.c-round-lesson-review__intro-text {
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.c-round-lesson-review__intro-text-row {
  display: flex;
  align-items: flex-end;
  gap: 2px;
  line-height: 1;
  background-color: var(--base-0);
  padding: 6px 8px;
  width: fit-content;
}

.c-round-lesson-review__intro-text-row p {
  margin: 0;
  line-height: 1;
}

.c-round-lesson-review__intro-text--primary {
  color: var(--primary-70);
}

.c-round-lesson-review__intro-text--orange {
  color: var(--secondary-60);
}

.c-round-lesson-review__content {
  background-color: var(--primary-70);
  padding: 24px 24px 48px;
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.c-round-lesson-review__recommend {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.c-round-lesson-review__recommend-title {
  color: var(--base-0);
  margin: 0;
  line-height: 1.5;
}

.c-round-lesson-review__recommend-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.c-round-lesson-review__recommend-item {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--base-0);
}

.c-round-lesson-review__recommend-icon {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}

.c-round-lesson-review__recommend-item span {
  color: var(--base-0);
  line-height: 1.5;
}

.c-round-lesson-review__features {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.c-round-lesson-review__features-header {
  background-color: var(--base-0);
  padding: 6px 8px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.c-round-lesson-review__features-title {
  color: var(--primary-70);
  margin: 0;
  line-height: 1.5;
}

.c-round-lesson-review__features-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.c-round-lesson-review__features-item {
  border: 1px solid #497f49;
  border-radius: 4px;
  padding: 12px 16px;
  color: var(--base-0);
  text-align: center;
  line-height: 1.5;
}

/* Personal Instruction Section */
.c-round-personal {
  padding-top: 64px;
}

.c-round-personal__intro {
  padding: 0 24px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-bottom: 40px;
}

.c-round-personal__intro-header {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.c-round-personal__intro-subtitle {
  color: var(--primary-70);
  margin: 0;
  line-height: 1;
}

.c-round-personal__intro-title {
  color: var(--primary-70);
  margin: 0;
  line-height: 1;
}

.c-round-personal__intro-description {
  color: var(--primary-70);
  margin: 0;
  text-align: justify;
}

.c-round-personal__badges {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-right: 8px;
}

.c-round-personal__badge {
  width: 114px;
  height: 114px;
  border: 1px solid #c4d0b6;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: -8px;
}

.c-round-personal__badge-text {
  color: var(--primary-70);
  text-align: center;
  margin: 0;
}

.c-round-personal__content {
  display: flex;
  flex-direction: column;
}

.c-round-personal__level-section {
  padding: 24px;
  position: relative;
  background-image: url("../images/round-beginner.jpg");
  background-size: cover;
  background-position: center;
}

.c-round-personal__level-section:first-child {
  padding-top: 24px;
}

.c-round-personal__level-section:nth-child(2) {
  background-image: url("../images/round-regular.jpg");
}

.c-round-personal__level-card {
  background-color: var(--base-0);
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.c-round-personal__level-header {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.c-round-personal__level-title {
  color: var(--primary-70);
  margin: 0;
}

.c-round-personal__level-title--accent {
  color: var(--secondary-60);
}

.c-round-personal__level-description {
  color: var(--primary-70);
  margin: 0;
  text-align: justify;
}

.c-round-personal__support {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: center;
}

.c-round-personal__support-title {
  color: var(--primary-70);
  margin: 0;
}

.c-round-personal__support-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  width: 100%;
}

.c-round-personal__support-item {
  display: flex;
  gap: 8px;
  align-items: center;
  padding: 8px 0;
  border-top: 1px solid #e6e8db;
  border-bottom: 1px solid #e6e8db;
}

.c-round-personal__support-item + .c-round-personal__support-item {
  border-top: none;
}

.c-round-personal__support-icon {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}

.c-round-personal__support-text {
  flex: 1;
  color: var(--primary-70);
}

.c-round-personal__support-text p {
  margin: 0;
  text-align: justify;
}

.c-round-personal__support-label {
  display: block;
  color: var(--primary-70);
}

.c-round-personal__support-arrow {
  display: flex;
  justify-content: center;
}

.c-round-personal__result {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: center;
}

.c-round-personal__result-header {
  background-color: var(--primary-70);
  padding: 6px 8px;
  width: 100%;
  display: flex;
  justify-content: center;
}

.c-round-personal__result-title {
  color: var(--base-0);
  margin: 0;
}

.c-round-personal__result-text {
  color: var(--primary-70);
  margin: 0;
  width: 100%;
  text-align: justify;
}

/* Support Section */
.c-round-support {
  background-color: var(--primary-70);
  padding: 64px 24px 48px;
}

.c-round-support__intro {
  margin-bottom: 40px;
}

.c-round-support__intro-header {
  margin-bottom: 24px;
}

.c-round-support__intro-subtitle {
  color: var(--base-0);
  margin: 0 0 12px 0;
}

.c-round-support__intro-title {
  color: var(--base-0);
  margin: 0;
}

.c-round-support__intro-description {
  color: var(--base-0);
  margin: 0;
}

.c-round-support__items {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-bottom: 40px;
  width: calc(100% + 48px);
  margin-left: -24px;
  margin-right: -24px;
}

.c-round-support__item {
  display: flex;
  align-items: stretch;
  height: 180px;
}

.c-round-support__item--reverse {
  flex-direction: row-reverse;
}

.c-round-support__item-image {
  flex: 0 0 50%;
  width: 50%;
  overflow: hidden;
  position: relative;
}

.c-round-support__item-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.c-round-support__item-content {
  flex: 0 0 50%;
  width: 50%;
  background-color: var(--base-0);
  display: flex;
  flex-direction: column;
  gap: 8px;
  justify-content: center;
  padding: 24px;
}

.c-round-support__item-title {
  color: var(--primary-70);
  margin: 0;
  line-height: 1.5;
}

.c-round-support__item-text {
  color: var(--primary-70);
  margin: 0;
  line-height: 1.5;
}

.c-round-support__message {
}

.c-round-support__message-heading {
  color: var(--base-0);
  margin: 0 0 16px 0;
  text-align: center;
}

.c-round-support__message-box {
  background-color: var(--primary-60);
  padding: 24px;
  border-radius: 8px;
}

.c-round-support__message-quote-top {
  margin-bottom: 8px;
}

.c-round-support__message-quote-top img {
  width: 26px;
  height: auto;
  display: block;
  opacity: 0.4;
}

.c-round-support__message-text {
  color: var(--base-0);
  margin: 0;
  text-align: justify;
}

.c-round-support__message-quote-bottom {
  display: flex;
  justify-content: flex-end;
  margin-top: 8px;
}

.c-round-support__message-quote-bottom img {
  width: 26px;
  height: auto;
  display: block;
  opacity: 0.4;
}

/* ========================================
   Round Schedule Section
   ======================================== */

.c-round-schedule {
  display: flex;
  flex-direction: column;
  gap: 40px;
  padding: 64px 24px;
  align-items: center;
}

.c-round-schedule__header {
  background-color: var(--primary-70);
  padding: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.c-round-schedule__title {
  color: var(--base-0);
  margin: 0;
  text-align: center;
}

.c-round-schedule__list {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.c-round-schedule__item {
  border-top: 1px solid var(--primary-10);
  padding: 40px 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.c-round-schedule__item:last-child {
  border-bottom: 1px solid var(--primary-10);
}

.c-round-schedule__item-header {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.c-round-schedule__date-group {
  display: flex;
  gap: 8px;
  align-items: center;
}

.c-round-schedule__date {
  color: var(--secondary-60) !important;
  line-height: 1;
}

.c-round-schedule__day {
  color: var(--secondary-60) !important;
  line-height: 1;
}

.c-round-schedule__item-title {
  color: var(--primary-70);
  margin: 0;
  line-height: 1.5;
}

.c-round-schedule__item-description {
  color: var(--primary-70);
  margin: 0;
  text-align: justify;
  line-height: 1.8;
}

.c-round-schedule__item-info {
  display: flex;
  gap: 16px;
  align-items: center;
}

.c-round-schedule__item-image {
  width: 64px;
  height: 64px;
  flex-shrink: 0;
  overflow: hidden;
  border-radius: 50%;
}

.c-round-schedule__item-image-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.c-round-schedule__item-details {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.c-round-schedule__detail-row {
  border-top: 1px solid var(--primary-10);
  border-bottom: 1px solid var(--primary-10);
  display: flex;
  gap: 8px;
  align-items: center;
  padding: 6px 0;
}

.c-round-schedule__detail-row:first-child {
  border-bottom: none;
}

.c-round-schedule__detail-label {
  color: var(--primary-50);
  width: 56px;
  flex-shrink: 0;
}

.c-round-schedule__detail-value {
  color: var(--primary-70);
  text-align: left;
  white-space: nowrap;
}

.c-round-schedule__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  align-items: flex-start;
}

.c-round-schedule__tag {
  border: 1px solid var(--primary-10);
  padding: 10px 12px;
  color: var(--primary-70);
  line-height: 1;
  white-space: nowrap;
}

.c-round-schedule__item .c-btn {
  width: 100%;
  justify-content: space-between;
}

/* Coach Section */
.c-round-coach {
  border-top: 1px solid var(--primary-10);
  padding: 64px 24px;
}

.c-round-coach__intro {
  margin-bottom: 40px;
}

.c-round-coach__intro-title {
  color: var(--primary-70);
  margin: 0 0 16px 0;
}

.c-round-coach__intro-description {
  color: var(--primary-70);
  margin: 0;
  text-align: justify;
}

.c-round-coach__list {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.c-round-coach__item {
  display: flex;
  flex-direction: column;
}

.c-round-coach__image {
  width: 100%;
  aspect-ratio: 1125 / 720;
  overflow: hidden;
}

.c-round-coach__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.c-round-coach__content {
  background-color: var(--primary-10);
  display: flex;
  flex-direction: column;
}

.c-round-coach__info {
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: center;
  text-align: center;
}

.c-round-coach__name-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.c-round-coach__name {
  color: var(--primary-70);
  margin: 0;
}

.c-round-coach__name-en {
  color: var(--secondary-60);
  margin: 0;
  letter-spacing: 0.56px;
}

.c-round-coach__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 2px;
  justify-content: center;
}

.c-round-coach__tag {
  background-color: var(--base-0);
  color: var(--primary-70);
  padding: 6px 8px;
  border-radius: 4px;
  display: inline-block;
}

.c-round-coach__qualification {
  color: var(--primary-70);
  margin: 0;
}

.c-round-coach__career {
  border-top: 1px solid var(--base-0);
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: center;
  text-align: center;
}

.c-round-coach__career-label {
  color: var(--primary-30);
  margin: 0;
}

.c-round-coach__career-text {
  color: var(--primary-70);
  margin: 0;
}

.c-round-coach__message {
  border-top: 1px solid var(--base-0);
  padding: 24px;
  display: flex;
  flex-direction: column;
  border-radius: 16px;
  position: relative;
}

.c-round-coach__quote-open {
  display: block;
  width: 24px;
  height: auto;
  margin-bottom: 8px;
}

.c-round-coach__quote-close {
  display: block;
  width: 24px;
  height: auto;
  margin-top: 8px;
  align-self: flex-end;
}

.c-round-coach__message-text {
  color: var(--primary-70);
  margin: 0;
  text-align: justify;
}

/* QA Section */
.c-round-qa {
  border-top: 1px solid var(--primary-10);
  background-color: var(--base-0);
  padding: 64px 24px;
}

.c-round-qa__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  margin-bottom: 40px;
}

.c-round-qa__title {
  color: var(--primary-70);
  margin: 8px 0 0 0;
}

.c-round-qa__title-image {
  height: auto;
  display: block;
}

.c-round-qa__list {
  display: flex;
  flex-direction: column;
}

.c-round-qa__item {
  display: flex;
  gap: 24px;
  padding: 24px 0;
  border-top: 1px solid var(--primary-10);
  border-bottom: 1px solid var(--primary-10);
}

.c-round-qa__item + .c-round-qa__item {
  border-top: none;
}

.c-round-qa__q-badge {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
}

.c-round-qa__q-badge-img {
  width: 100%;
  height: 100%;
  display: block;
}

.c-round-qa__content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.c-round-qa__question {
  color: var(--primary-70);
  margin: 0;
}

.c-round-qa__answer {
  color: var(--primary-70);
  margin: 0;
  text-align: justify;
}

.c-round-qa__answer p {
  margin: 0 0 0.5em 0;
}

.c-round-qa__answer p:last-child {
  margin-bottom: 0;
}

.c-round-qa__answer ul {
  margin: 0 0 0.5em 0;
  padding-left: 24px;
  list-style: disc;
}

.c-round-qa__answer li {
  margin-bottom: 0;
}

.c-round-qa__section {
  margin-top: 40px;
}

.c-round-qa__section-title {
  color: var(--primary-70);
  margin: 0 0 24px 0;
}

/* Partners Section */
.c-round-partners {
  background-color: var(--base-0);
  padding: 64px 24px;
  border-top: 1px solid var(--primary-10);
}

.c-round-partners__title {
  color: var(--primary-70);
  margin: 0 0 24px 0;
  text-align: center;
}

.c-round-partners__description {
  color: var(--base-90);
  text-align: justify;
  margin: 0 0 40px 0;
}

.c-round-partners__list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.c-round-partners__item {
  border: 1px solid var(--primary-10);
  border-radius: 4px;
  padding: 0;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.c-round-partners__logo {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  display: block;
}

/* Fixed CTA - Round Lesson */
.c-fixed-cta-round {
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1000;
  background-color: var(--primary-60);
  border-top: 1px solid var(--primary-50);
  width: 100%;
  padding: 20px 24px;
}

@media (min-width: 960px) {
  .c-fixed-cta-round {
    left: 50%;
    transform: translateX(0);
    width: 50vw;
    max-width: 50vw;
  }
}

.c-fixed-cta-round__inner {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.c-fixed-cta-round__button {
  display: block;
  background-color: var(--base-0);
  border-radius: 4px;
  overflow: hidden;
  text-decoration: none;
  transition: background-color 0.3s ease;
}

.c-fixed-cta-round__button:hover {
  background-color: var(--primary-10);
}

.c-fixed-cta-round__button-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 8px;
  min-height: 52px;
}

.c-fixed-cta-round__button-title {
  color: var(--primary-70);
  display: block;
}

.c-fixed-cta-round__button-subtitle {
  color: var(--primary-70);
  display: block;
}

.c-fixed-cta-round__button-bar {
  display: block;
  height: 4px;
  background-color: var(--lesson-round);
  width: 100%;
}

.c-fixed-cta-round__tel {
  display: flex;
  align-items: stretch;
  height: 32px;
  border: 1px solid var(--primary-50);
}

.c-fixed-cta-round__tel-label {
  background-color: var(--primary-50);
  width: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.c-fixed-cta-round__tel-label span {
  color: var(--base-0);
  margin-top: 2px;
}

.c-fixed-cta-round__tel-content {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
}

.c-fixed-cta-round__tel-name {
  color: var(--base-0);
}

.c-fixed-cta-round__tel-number {
  color: var(--base-0);
  margin-top: 2px;
}

.c-fixed-cta-price {
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1000;
  background-color: var(--primary-60);
  border-top: 1px solid var(--primary-50);
  width: 100%;
  padding: 12px 24px 20px;
}

@media (min-width: 960px) {
  .c-fixed-cta-price {
    left: 50%;
    transform: translateX(0);
    width: 50vw;
    max-width: 50vw;
  }
}

.c-fixed-cta-price__inner {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.c-fixed-cta-price__header {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-bottom: 4px;
}

.c-fixed-cta-price__deco {
  width: 7px;
  height: 14px;
  display: block;
}

.c-fixed-cta-price__title {
  color: var(--base-0);
  margin: 0;
  text-align: center;
}

.c-fixed-cta-price__tel {
  border: 1px solid var(--primary-50);
  display: flex;
  align-items: stretch;
  height: 32px;
}

.c-fixed-cta-price__tel-label {
  background-color: var(--primary-50);
  width: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 6px;
}

.c-fixed-cta-price__tel-label span {
  color: var(--base-0);
  margin-top: 2px;
}

.c-fixed-cta-price__tel-content {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 8px 16px;
  color: var(--base-0);
}

.c-fixed-cta-price__tel-number {
  margin-top: 2px;
}

/* PC Styles - School Problems Section */
