/* Shared with the home page: warm serif copy, quiet labels, generous reading rhythm.
 * Limited to the two course pages; original colors, photos and content stay intact. */
.erika-course-page #content {
  --erika-course-body:17px;
  --erika-course-heading:30px;
  --erika-course-card-heading:22px;
  --erika-course-hero:34px;
  --erika-course-section-top:80px;
  --erika-course-section-bottom:90px;
}
.erika-course-page #content .elementor-widget-html :is(p,h1,h2,h3,li) {
  font-family:"Noto Serif JP",serif;
  font-size:var(--erika-course-body);
  line-height:1.8;
  letter-spacing:1.8px;
  text-align:center;
  text-wrap:pretty;
  overflow-wrap:break-word;
}
.erika-course-page #content .elementor-widget-html :is(h1,h2,h3) {
  font-weight:500;
  text-wrap:balance;
}
.erika-course-page #content .elementor-widget-html h1 { font-size:var(--erika-course-hero); }
.erika-course-page #content .elementor-widget-html h2 { font-size:var(--erika-course-heading); }
.erika-course-page #content .elementor-widget-html h3 { font-size:var(--erika-course-card-heading); }
.erika-course-page #content .elementor-widget-html :is(h1,h2,h3) :is(span,strong),
.erika-course-page #content .elementor-widget-html p :is(span,strong,em,a) {
  font-family:inherit;
  font-size:inherit;
  line-height:inherit;
  letter-spacing:inherit;
}
.erika-course-page #content .elementor-widget-html p:is(
  [class$="__label"],[class$="__small"],[class$="-label"],[class$="-small"],
  [class$="__eyebrow"],.shinsui-hero__course,.shinsui-life__person,
  .gallery-label,.small,.rcfv__concept-label,.rc-final-cta__closing > p
) {
  font-family:"Noto Sans JP",sans-serif;
  font-size:13px!important;
  line-height:1.8!important;
  letter-spacing:1.8px;
  text-align:center;
}
.erika-course-page #content .elementor-widget-html :is(
  .shinsui-hero__cta-note,.rcfv__note,.rc-final-cta__note,
  .rc-course-info__price-note,.shinsui-course-detail__location p,
  .shinsui-course-detail__cta-text,.rc-course-info__cta-text
) { font-size:14px; }
.erika-course-page #content .elementor-widget-html .shinsui-night__quote { font-size:var(--erika-course-card-heading); }
.erika-course-page #content .elementor-widget-html :is(
  .shinsui-course-detail__price-main,.rc-course-info__price
) { font-size:40px; font-weight:400; }
.erika-course-page #content .elementor-widget-html :is(
  .shinsui-course-detail__price-main,.rc-course-info__price
) > span { font-size:18px; }
.erika-course-page #content .elementor-widget-html :is(
  .shinsui-course-detail__price-main,.rc-course-info__price
) small { font:12px/1.8 "Noto Sans JP",sans-serif; letter-spacing:1.8px; }
.erika-course-page #content :is(
  .shinsui-hero__button,.shinsui-course-detail__button,.rcfv__button,
  .rc-final-cta__button,.rc-course-info__button
) {
  font-family:"Noto Sans JP",sans-serif;
  font-size:16px;
  line-height:1.8;
  letter-spacing:1.8px;
  text-align:center;
  text-wrap:balance;
  min-height:48px;
  max-width:100%;
  box-sizing:border-box;
}
.erika-course-page #content .rcfv__buttons { justify-content:center; flex-wrap:wrap; }
.erika-course-page #content .rcfv__button { min-width:0; }

/* Short messages share a center line. Longer stories retain a stable left edge. */
.erika-course-page #content :is(.shinsui-message__story,.releasecore-voice__content) { max-width:650px; margin-inline:auto; }
.erika-course-page #content .releasecore-voice__content { width:100%; min-width:0; }
.erika-course-page #content .elementor-widget-html :is(
  .shinsui-message__story p,.releasecore-voice__content p,
  .shinsui-course-detail__row p,.rc-course-info__detail-row p
) { text-align:left; }
.erika-course-page #content .releasecore-voice__arrow { text-align:center; }
.erika-course-page #content .releasecore-voice__meta { text-align:center; }
.erika-course-page #content .releasecore-voice__number { font:18px/1.8 "Noto Serif JP",serif; letter-spacing:1.8px; }
.erika-course-page #content .releasecore-voice__type { font:12px/1.8 "Noto Sans JP",sans-serif; letter-spacing:1.8px; }
.erika-course-page #content :is(.shinsui-course-detail__row,.rc-course-info__detail-row) { grid-template-columns:100px minmax(0,1fr); gap:18px; }
.erika-course-page #content .elementor-widget-html :is(.shinsui-course-detail__row,.rc-course-info__detail-row) p,
.erika-course-page #content .rc-course-info__included-grid > div {
  font-family:"Noto Sans JP",sans-serif;
  font-size:14px;
  line-height:1.8;
  letter-spacing:1.8px;
}
.erika-course-page #content .elementor-widget-html :is(.shinsui-course-detail__row,.rc-course-info__detail-row) p[class] { text-align:left; }
.erika-course-page #content .erika-course-phrase { display:inline-block; max-width:100%; text-wrap:balance; }
.erika-course-page #content .elementor-widget-html .erika-schedule-note { font-size:16px; text-align:center; padding:18px 16px; }

/* Take roughly 15px from the wider gaps, keeping clear section boundaries. */
.erika-course-page #content :is(
  .shinsui-life,.shinsui-night,.shinsui-benefits,.shinsui-for-you,.shinsui-message,
  .shinsui-course-detail,.releasecore-for-you,.releasecore-voice,.rc-course-info
) { padding-top:var(--erika-course-section-top); padding-bottom:var(--erika-course-section-bottom); }
.erika-course-page #content .shinsui-hero { padding-top:75px; padding-bottom:65px; }
.erika-course-page #content .shinsui-life__intro { margin-bottom:55px; }
.erika-course-page #content .shinsui-life__story + .shinsui-life__story { margin-top:80px; }
.erika-course-page #content .shinsui-life__content { padding:30px 40px; }
.erika-course-page #content .shinsui-life__closing { margin-top:95px; padding-top:50px; }
.erika-course-page #content .shinsui-night__voice { padding:33px 0; }
.erika-course-page #content .shinsui-night__voice:first-of-type { margin-top:43px; }
.erika-course-page #content .shinsui-night__closing { margin-top:67px; padding-top:43px; }
.erika-course-page #content :is(.shinsui-benefits__list,.shinsui-for-you__grid,.releasecore-for-you__grid,.releasecore-voice__list) { margin-top:47px; }
.erika-course-page #content .shinsui-benefits__item { padding:27px 23px 31px; }
.erika-course-page #content :is(.shinsui-for-you__item,.releasecore-for-you__item) { padding:25px 23px 29px; }
.erika-course-page #content .shinsui-benefits__closing { margin-top:73px; padding-top:43px; }
.erika-course-page #content :is(.shinsui-for-you__message,.releasecore-for-you__message,.releasecore-voice__closing) { margin-top:65px; padding:33px 25px; }
.erika-course-page #content .shinsui-message__core { margin-top:63px; padding:33px 27px; }
.erika-course-page #content .shinsui-message__why { margin-top:59px; }
.erika-course-page #content .shinsui-message__closing { margin-top:70px; padding-top:40px; }
.erika-course-page #content .releasecore-voice__item { padding:27px 0; }
.erika-course-page #content .training-gallery { padding:95px 0; }
.erika-course-page #content .gallery-main { margin-top:55px; margin-bottom:35px; }
.erika-course-page #content .training-message { margin-top:85px; padding:55px 25px; }
.erika-course-page #content .rc-gallery { padding:85px 0; }
.erika-course-page #content .rc-gallery-lead { margin-bottom:45px; }
.erika-course-page #content .rc-gallery-message { margin-top:45px; }
.erika-course-page #content .rc-final-cta { padding:90px 0 60px; }
.erika-course-page #content .rc-final-cta__core { margin-top:40px; padding:33px 24px; }
.erika-course-page #content .rc-final-cta__closing { margin-top:60px; padding-top:31px; }
.erika-course-page #content .shinsui-course-detail__card { margin-top:33px; padding:27px 25px; }
.erika-course-page #content .rc-course-info__price-box { margin-top:33px; padding:23px 24px; }
.erika-course-page #content .rc-course-info__message { margin-top:40px; padding:27px 20px; }

@media (min-width:768px) and (max-width:1024px) {
  .erika-course-page #content {
    --erika-course-body:16px;
    --erika-course-heading:26px;
    --erika-course-card-heading:20px;
    --erika-course-hero:28px;
    --erika-course-section-top:65px;
    --erika-course-section-bottom:75px;
  }
  .erika-course-page #content .shinsui-hero { padding-top:60px; }
  .erika-course-page #content .shinsui-life__content { padding:24px; }
  .erika-course-page #content .elementor-widget-html .gallery-card h3 { font-size:18px; }
}
@media (max-width:767px) {
  .erika-course-page #content {
    --erika-course-body:16px;
    --erika-course-heading:18px;
    --erika-course-card-heading:18px;
    --erika-course-hero:18px;
    --erika-course-section-top:47px;
    --erika-course-section-bottom:55px;
  }
  .erika-course-page #content .shinsui-hero { padding-top:43px; padding-bottom:49px; }
  .erika-course-page #content .shinsui-life__intro { margin-bottom:32px; }
  .erika-course-page #content .shinsui-life__story + .shinsui-life__story { margin-top:43px; }
  .erika-course-page #content .shinsui-life__content { padding:24px 0 0; }
  .erika-course-page #content .shinsui-life__closing { margin-top:60px; padding-top:33px; }
  .erika-course-page #content .shinsui-night__voice { padding:24px 0; }
  .erika-course-page #content .shinsui-night__voice:first-of-type { margin-top:30px; }
  .erika-course-page #content .shinsui-night__closing { margin-top:43px; padding-top:27px; }
  .erika-course-page #content :is(.shinsui-benefits__list,.shinsui-for-you__grid,.releasecore-for-you__grid,.releasecore-voice__list) { margin-top:32px; }
  .erika-course-page #content :is(.shinsui-benefits__item,.shinsui-for-you__item,.releasecore-for-you__item,.releasecore-voice__item) { padding:24px 0; }
  .erika-course-page #content .shinsui-benefits__closing { margin-top:43px; padding-top:28px; }
  .erika-course-page #content :is(.shinsui-for-you__message,.releasecore-for-you__message,.releasecore-voice__closing,.shinsui-message__core) { margin-top:40px; padding:24px 12px; }
  .erika-course-page #content .shinsui-message__why { margin-top:37px; }
  .erika-course-page #content .shinsui-message__closing { margin-top:43px; padding-top:27px; }
  .erika-course-page #content :is(.training-gallery,.rc-gallery) { padding:55px 0; }
  .erika-course-page #content .training-message { margin-top:55px; padding:30px 16px; }
  .erika-course-page #content .rcfv__content { padding:39px 0 43px; }
  .erika-course-page #content .rcfv__concept-inner { padding-bottom:49px; }
  .erika-course-page #content .rcfv__concept-line { margin-bottom:28px; }
  .erika-course-page #content .rc-final-cta { padding:53px 0 40px; }
  .erika-course-page #content .rc-final-cta__core { margin-top:30px; padding:24px 12px; }
  .erika-course-page #content .rc-final-cta__closing { margin-top:42px; padding-top:28px; }
  .erika-course-page #content .shinsui-course-detail__card { margin-top:28px; padding:24px 14px; }
  .erika-course-page #content .shinsui-course-detail__location { padding:22px 14px; }
  .erika-course-page #content .rc-course-info__price-box { margin-top:28px; padding:24px 18px; }
  .erika-course-page #content :is(.shinsui-course-detail__row,.rc-course-info__detail-row) { grid-template-columns:64px minmax(0,1fr); gap:12px; }
  .erika-course-page #content .elementor-widget-html :is(.shinsui-course-detail__price-main,.rc-course-info__price) { font-size:32px; }
  .erika-course-page #content .rc-course-info__message { margin-top:30px; padding:24px 12px; }
  .erika-course-page #content .releasecore-voice__meta { justify-content:center; }
  .erika-course-page #content :is(.shinsui-hero__button,.rc-final-cta__button,.rc-course-info__button) { padding:14px 16px; }
}

/* Match the homepage corner radius on course photos and information panels. */
.erika-course-page #content :is(
  img,
  .shinsui-hero__photo,
  .shinsui-life__photo,
  .shinsui-message__photo,
  .shinsui-for-you__message,
  .shinsui-message__core,
  .training-message,
  .shinsui-course-detail__card,
  .shinsui-course-detail__location,
  .rcfv__photo,
  .rc-gallery-grid .photo,
  .releasecore-for-you__message,
  .releasecore-voice__closing,
  .rc-final-cta__core,
  .rc-course-info__price-box,
  .rc-course-info__included-grid,
  .rc-course-info__message,
  .erika-schedule-note
) {
  border-radius: 3px;
}

.erika-course-page #content .rc-course-info__included-grid {
  overflow: clip;
}
