@media (min-width: 48rem) and (max-width: 64rem) {
  .bousai-hero-visual--pc .bousai-study-badge { right: auto; bottom: var(--bousai-space-3); left: var(--bousai-space-3); width: 6rem; }
  .bousai-hero-visual--pc .bousai-study-badge strong b { font-size: 2.5rem; }
  .bousai-hero-visual--pc .bousai-study-badge strong small { font-size: 0.75rem; }
  .bousai-hero-visual--pc .bousai-study-badge > span { font-size: 0.64rem; }
}

@media (max-width: 47.999rem) {
  :root { --bousai-section-space: 3.5rem; }
  .bousai-sp-fixed-cta { display: grid; }
  .bousai-page [id] { scroll-margin-top: 5rem; }

  .bousai-hero-grid { display: block; padding-block: 1rem; }
  .bousai-hero-primary-copy { gap: 0.15rem; margin-bottom: 0.75rem; line-height: 1.45; }
  .bousai-hero-primary-copy__line { flex-wrap: wrap; }
  .bousai-hero-primary-copy__part--context-lead { font-size: clamp(0.9375rem, 4.1vw, 1rem); }
  .bousai-hero-primary-copy__part--context-focus { flex-wrap: wrap; font-size: clamp(1.125rem, 5vw, 1.25rem); }
  .bousai-hero-primary-copy__part--question-focus { flex-wrap: wrap; font-size: clamp(1.25rem, 6.28vw, 1.6875rem); }
  .bousai-hero h1.bousai-course-name { margin-bottom: 0.75rem; font-size: clamp(2.15rem, 10vw, 2.75rem); line-height: 1.08; }
  .bousai-hero-subcopy { margin-bottom: 0.55rem; font-size: clamp(0.9375rem, 4vw, 1.0625rem); line-height: 1.55; }
  .bousai-hero-visual--pc { display: none; }
  .bousai-hero-visual--sp { --bousai-hero-image-fade-left: 5%; --bousai-hero-image-fade-right: 9%; --bousai-hero-image-fade-top: 3%; --bousai-hero-image-fade-bottom: 9%; display: grid; min-height: 0; height: clamp(17.5rem, 86.4vw, 21rem); aspect-ratio: auto; margin-bottom: 0.5rem; }
  .bousai-hero-visual--sp .bousai-hero-image { object-position: center 38%; }
  .bousai-study-badge { right: 0.5rem; bottom: 0.5rem; width: 5rem; }
  .bousai-study-badge strong b { font-size: 2.05rem; }
  .bousai-study-badge strong small { font-size: 0.65rem; }
  .bousai-study-badge > span { font-size: 0.58rem; }
  .bousai-hero-price { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; justify-items: stretch; margin-bottom: 0.5rem; padding: 0.55rem var(--bousai-space-4); text-align: left; }
  .bousai-hero-price > div { display: contents; }
  .bousai-hero-price-course { grid-column: 1 / -1; margin-bottom: 0.2rem; font-size: 0.875rem; }
  .bousai-hero-price-caption { grid-column: 1; align-self: center; font-size: 0.8rem; }
  .bousai-hero-price p { grid-column: 2; }
  .bousai-hero-price p strong { font-size: clamp(1.85rem, 9vw, 2.25rem); }
  .bousai-hero-price p span { font-size: 0.875rem; }
  .bousai-hero-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--bousai-space-2); margin-top: 1rem; margin-bottom: 0.75rem; }
  .bousai-cta-card { min-width: 0; min-height: 4.1rem; margin-top: 0.25rem; padding-inline: 0.35rem; }
  .bousai-cta-card small { right: 0.3rem; left: 0.3rem; padding-inline: 0.2rem; font-size: clamp(0.6rem, 2.8vw, 0.7rem); }
  .bousai-cta-card strong { gap: 0.35rem; font-size: clamp(0.88rem, 4vw, 1rem); }
  .bousai-hero-intro br { display: none; }
  .bousai-hero-intro,
  .bousai-section-lead,
  .bousai-mind-problem { font-size: 1rem; line-height: 1.85; }

  .bousai-section-heading { font-size: clamp(1.625rem, 7vw, 1.9rem); line-height: 1.5; }
  .bousai-need #need-title,
  .bousai-mind-trap h2.bousai-mind-title,
  .bousai-first-days #first-days-title { font-size: clamp(1.625rem, 7vw, 1.9rem); line-height: 1.5; }
  .bousai-section-heading br { display: none; }
  .bousai-section-lead br,
  .bousai-mind-problem br,
  .bousai-first-days-conclusion br { display: none; }
  .bousai-situation-primary-label { margin-inline: auto; font-size: 0.875rem; }
  .bousai-situation-grid,
  .bousai-time-axis { grid-template-columns: 1fr; }
  .bousai-situation-grid,
  .bousai-situation-grid--primary { grid-template-columns: 1fr; gap: var(--bousai-space-4); }
  .bousai-situation-card { grid-template-columns: 1fr; padding: var(--bousai-space-5); }
  .bousai-situation-secondary { margin-top: var(--bousai-space-4); }
  .bousai-situation-card--household { grid-template-columns: 1fr; grid-template-rows: auto; }
  .bousai-outcome-diagram { margin-top: var(--bousai-space-7); padding: var(--bousai-space-5) var(--bousai-space-4); }
  .bousai-outcome-diagram__heading { margin-bottom: var(--bousai-space-5); text-align: center; }
  .bousai-outcome-diagram__heading h3 { font-size: 1.45rem; }
  .bousai-outcome-diagram__flow { grid-template-columns: 1fr; gap: 0; }
  .bousai-outcome-diagram__start { grid-template-columns: 3.25rem minmax(0, 1fr); justify-items: stretch; padding: var(--bousai-space-3) var(--bousai-space-4); text-align: left; }
  .bousai-outcome-diagram__transition { display: block; height: 4rem; padding-top: var(--bousai-space-2); text-align: center; }
  .bousai-outcome-diagram__transition span { display: block; }
  .bousai-outcome-diagram__transition svg { display: block; width: 2.75rem; height: 1rem; margin: 0.45rem auto 0; transform: rotate(90deg); }
  .bousai-outcome-diagram__skills { grid-template-columns: 1fr; }
  .bousai-outcome-diagram__skills li { grid-template-columns: 3.5rem minmax(0, 1fr); padding: var(--bousai-space-4); }
  .bousai-outcome-diagram__skills li + li { border-top: 1px solid rgb(5 47 95 / 14%); border-left: 0; }
  .bousai-outcome-diagram__skills li:not(:last-child)::after { top: auto; right: auto; bottom: -0.8rem; left: calc(var(--bousai-space-4) + 1.75rem); content: "↓"; transform: translateX(-50%); }
  .bousai-outcome-diagram__icon { width: 3.5rem; }
  .bousai-outcome-diagram__icon svg { width: 2.5rem; height: 2.5rem; }
  .bousai-outcome-diagram__skills h4 { font-size: 1.0625rem; }
  .bousai-outcome-diagram__skills li > div > p:last-child { font-size: 0.875rem; }
  .bousai-section-transition { gap: var(--bousai-space-3); margin-top: var(--bousai-space-5); font-size: 0.9375rem; line-height: 1.65; }
  .bousai-section-transition::before,
  .bousai-section-transition::after { width: 1.5rem; }
  .bousai-situation-image { height: auto; aspect-ratio: 16 / 10; }
  .bousai-situation-card h3 { font-size: 1.2rem; line-height: 1.55; }
  .bousai-situation-meta span { font-size: clamp(1rem, 4.6vw, 1.15rem); }
  .bousai-situation-copy > p:not(.bousai-situation-meta) { font-size: 0.95rem; line-height: 1.8; }
  .bousai-perspective-detail-list { gap: var(--bousai-space-4); }
  .bousai-perspective-detail { padding: var(--bousai-space-5); }
  .bousai-perspective-detail-heading { margin-bottom: var(--bousai-space-4); }
  .bousai-perspective-detail-label { align-items: center; font-size: 0.9375rem; }
  .bousai-perspective-detail-label span { flex-basis: 2.15rem; width: 2.15rem; }
  .bousai-perspective-detail h3 { font-size: 1.2rem; }
  .bousai-perspective-detail-body { grid-template-columns: 1fr; gap: var(--bousai-space-4); }
  .bousai-perspective-detail-body > p,
  .bousai-perspective-detail-lead { font-size: 0.95rem; }
  .bousai-inner-voice { width: 100%; padding: var(--bousai-space-4); }
  .bousai-inner-voice-list li { padding-right: 0.85rem; font-size: 0.9375rem; }
  .bousai-perspective-timeline-label { font-size: 1rem; }
  .bousai-conclusion { padding: var(--bousai-space-5); text-align: left; }
  .bousai-mind-turning-point { margin-block: var(--bousai-space-6); padding: var(--bousai-space-4); }
  .bousai-mind-turning-point h3 { font-size: 1.1rem; }
  .bousai-mind-turning-point h3 br { display: none; }
  .bousai-mind-learning-heading { text-align: left; }
  .bousai-mind-learning-heading h3 { font-size: 1.35rem; }
  .bousai-mind-learning-heading h3 br { display: none; }
  .bousai-mind-conclusion { padding: var(--bousai-space-5); font-size: 1.1rem; text-align: left; }
  .bousai-mind-conclusion br { display: none; }
  .bousai-time-axis { position: relative; gap: var(--bousai-space-4); padding-left: 0; }
  .bousai-time-axis::before { display: none; }
  .bousai-time-axis > li { display: grid; grid-template-columns: 3.5rem minmax(0, 1fr); gap: var(--bousai-space-2) var(--bousai-space-4); align-items: center; padding: var(--bousai-space-4); }
  .bousai-time-axis > li::before { grid-column: 1; grid-row: 1; margin: 0 auto; }
  .bousai-time-axis > li:not(:last-child)::after { top: auto; right: 50%; bottom: calc(var(--bousai-space-4) * -0.68); transform: translateX(50%) rotate(45deg); }
  .bousai-time-label { grid-column: 2; grid-row: 1; margin: 0; font-size: 1.125rem; text-align: left; }
  .bousai-time-icon { grid-column: 1; grid-row: 2; width: 3.5rem; margin: 0; }
  .bousai-time-icon svg { width: 2.35rem; height: 2.35rem; }
  .bousai-time-axis > li > p:last-child { grid-column: 2; grid-row: 2; }
  .bousai-time-axis ul li { font-size: 0.9375rem; line-height: 1.8; }
  .bousai-first-days-turning-point { margin-block: var(--bousai-space-6); padding: var(--bousai-space-4); }
  .bousai-first-days-turning-point h3 { font-size: 1.1rem; }
  .bousai-first-days-turning-point h3 br { display: none; }
  .bousai-first-days-learning { padding-top: var(--bousai-space-6); }
  .bousai-first-days-learning-heading { text-align: center; }
  .bousai-first-days-learning-heading h3 { font-size: 1.35rem; }
  .bousai-first-days-learning-heading h3 br,
  .bousai-first-days-learning-heading > p:last-child br { display: none; }
  .bousai-first-days-skill-grid { grid-template-columns: 1fr; gap: var(--bousai-space-5); }
  .bousai-first-days-learning--outcome .bousai-first-days-skill-card:not(:last-child)::after { top: auto; right: 50%; bottom: calc(var(--bousai-space-5) * -0.78); display: grid; transform: translateX(50%) rotate(90deg); }
  .bousai-axis-explanation { margin-block: var(--bousai-space-6); padding: var(--bousai-space-4); font-size: 0.95rem; }
  .bousai-first-days-conclusion { padding: var(--bousai-space-5); text-align: left; }
  .bousai-core-learning-conclusion { padding: var(--bousai-space-5); font-size: 1rem; text-align: left; }

  .bousai-block-heading { margin-bottom: var(--bousai-space-6); text-align: center; }
  .bousai-block-heading .bousai-section-label { margin-bottom: var(--bousai-space-4); font-size: 0.9375rem; }
  .bousai-about-grid,
  .bousai-curriculum-month-grid { grid-template-columns: 1fr; }
  .bousai-about-grid { gap: var(--bousai-space-5); }
  .bousai-about-copy > p { font-size: 1rem; line-height: 1.85; }
  .bousai-course-facts { grid-template-columns: 1fr; }
  .bousai-course-facts > div { grid-template-columns: 7rem minmax(0, 1fr); }
  .bousai-course-facts dt,
  .bousai-course-facts dd { padding: var(--bousai-space-3); font-size: var(--bousai-font-size-sm); }
  .bousai-about-message { padding: var(--bousai-space-4); font-size: 1rem; text-align: left; }
  .bousai-curriculum-heading-note { font-size: 0.9375rem; }
  .bousai-curriculum-month { padding: var(--bousai-space-5); }
  .bousai-curriculum-month-header h3 br { display: none; }
  .bousai-curriculum-domain { grid-template-columns: 3.5rem minmax(0, 1fr); gap: var(--bousai-space-3); }
  .bousai-curriculum-domain-icon { width: 3.5rem; }
  .bousai-curriculum-domain-icon svg { width: 2.35rem; height: 2.35rem; }
  .bousai-curriculum-domain h4 { font-size: 1.0625rem; }
  .bousai-curriculum-domain > div > p:last-child { font-size: 0.9375rem; line-height: 1.65; }
  .bousai-curriculum-nowrap-sp { white-space: nowrap; }
  .bousai-curriculum-note { text-align: left; }
  .bousai-mid-document-cta { grid-template-columns: 1fr; gap: var(--bousai-space-4); margin-top: var(--bousai-space-7); padding: var(--bousai-space-5); }
  .bousai-mid-document-cta h3 { font-size: 1.3rem; }
  .bousai-mid-document-cta h3 br { display: none; }
  .bousai-mid-document-cta .bousai-cta-card { max-width: 20rem; justify-self: center; }
  .bousai-qualification-grid,
  .bousai-supervisor-grid { grid-template-columns: 1fr; }
  .bousai-supervisor-grid,
  .bousai-qualification-grid { gap: var(--bousai-space-5); }
  .bousai-learning-story .bousai-section { padding-block: var(--bousai-space-7); }
  .bousai-learning-story .bousai-supervisor { padding: 0; }
  .bousai-materials-support__intro { font-size: 1rem; text-align: center; }
  .bousai-materials-flow { gap: var(--bousai-space-7); }
  .bousai-materials-hero { grid-template-columns: 1fr; max-width: 32rem; margin-inline: auto; }
  .bousai-materials-hero__copy { padding: var(--bousai-space-5); }
  .bousai-materials-media--set { aspect-ratio: 4 / 3; }
  .bousai-materials-text-step { padding: 0; }
  .bousai-materials-step-heading { margin-bottom: var(--bousai-space-5); text-align: center; }
  .bousai-materials-media--spread { aspect-ratio: 4 / 3; }
  .bousai-materials-detail-grid,
  .bousai-materials-practice-grid { grid-template-columns: 1fr; gap: var(--bousai-space-5); }
  .bousai-materials-detail-grid { margin-top: var(--bousai-space-5); }
  .bousai-materials-detail > div { padding-inline: 0; }
  .bousai-materials-practice-section { padding: var(--bousai-space-5) var(--bousai-space-4); }
  .bousai-materials-practice-heading { margin-bottom: var(--bousai-space-5); text-align: center; }
  .bousai-materials-practice-heading h3 { font-size: 1.35rem; }
  .bousai-materials-practice-heading h3 br { display: none; }
  .bousai-materials-practice { grid-template-columns: minmax(0, 1fr); }
  .bousai-materials-practice__copy { padding: var(--bousai-space-5); }
  .bousai-materials-media--practice { aspect-ratio: 16 / 10; }
  .bousai-support-block { margin-top: var(--bousai-space-7); padding: var(--bousai-space-7) 0 0; border-radius: 0; }
  .bousai-support-grid { grid-template-columns: 1fr; gap: var(--bousai-space-3); }
  .bousai-support-card { display: grid; grid-template-columns: 1fr; gap: var(--bousai-space-3); align-items: start; justify-items: center; padding: var(--bousai-space-4); text-align: center; }
  .bousai-support-icon { width: 3.5rem; margin: 0; }
  .bousai-support-icon svg { width: 2.35rem; height: 2.35rem; }
  .bousai-support-card__content { width: 100%; align-items: center; text-align: center; }
  .bousai-support-card h4 { margin-bottom: var(--bousai-space-2); font-size: 1.125rem; }
  .bousai-support-card small { margin-top: var(--bousai-space-2); padding-top: 0; }
  .bousai-qualification-facts > div { grid-template-columns: 7rem minmax(0, 1fr); }
  .bousai-qualification-facts dt,
  .bousai-qualification-facts dd { padding: var(--bousai-space-4); }
  .bousai-qualification-trigger { width: 100%; max-width: 20rem; }
  .bousai-exam-modal { padding: var(--bousai-space-4); }
  .bousai-exam-modal__dialog { max-height: calc(100dvh - var(--bousai-space-7)); }
  .bousai-exam-modal__header { padding: var(--bousai-space-4); }
  .bousai-exam-modal__header h2 { font-size: var(--bousai-font-size-xl); }
  .bousai-supervisor-grid { max-width: 32rem; }
  .bousai-supervisor-grid figure { max-width: 18rem; margin-inline: auto; }
  .bousai-supervisor-copy { padding: var(--bousai-space-5); }
  .bousai-pricing-course-overview { grid-template-areas: "title" "note" "media"; grid-template-columns: 1fr; grid-template-rows: auto; padding: var(--bousai-space-4); }
  .bousai-page .bousai-pricing-course-label { align-self: auto; margin-bottom: var(--bousai-space-5); font-size: clamp(1.25rem, 5.5vw, 1.375rem); }
  .bousai-pricing-course-overview figure { margin-bottom: 0; }
  .bousai-pricing-common-note { margin-bottom: var(--bousai-space-4); padding: var(--bousai-space-3) var(--bousai-space-4); }
  .bousai-course-tabs { margin-top: var(--bousai-space-6); }
  .bousai-course-tablist { gap: 0.25rem; }
  .bousai-course-tab { min-width: 0; min-height: 3.25rem; padding: 0.65rem 0.25rem; font-size: clamp(0.875rem, 4vw, 1rem); }
  .bousai-course-panel { min-height: 20rem; padding: var(--bousai-space-6) var(--bousai-space-4); }
  .bousai-course-panel-support { padding-inline: var(--bousai-space-4); font-size: var(--bousai-font-size-sm); }
  .bousai-course-panel-price { flex-wrap: wrap; gap: var(--bousai-space-3); }
  .bousai-course-panel-price p { width: 100%; }
  .bousai-course-panel-price p > strong { font-size: clamp(2.3rem, 12vw, 3.25rem); }
  .bousai-course-panel-price p > small { font-size: var(--bousai-font-size-sm); }
  .bousai-course-apply-button { width: 100%; min-height: 3.5rem; }
  .bousai-pricing-cta-pair { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--bousai-space-2); margin-top: var(--bousai-space-7); }
  .bousai-pricing-sub-cta { min-height: 4.25rem; padding: 1.55rem 0.45rem 0.65rem; }
  .bousai-pricing-sub-cta-label { top: -0.5rem; right: 0.25rem; left: 0.25rem; padding-inline: 0.2rem; font-size: clamp(0.58rem, 2.8vw, 0.7rem); }
  .bousai-pricing-sub-cta > strong { gap: 0.3rem; font-size: clamp(0.72rem, 3.3vw, 0.95rem); }
  .bousai-pricing-sub-cta > i { width: 1rem; }
  .bousai-line-icon { width: 1.75rem; font-size: 0.45rem; }
  .bousai-course-details-lead { text-align: center; }
  .bousai-course-details-table th,
  .bousai-course-details-table td { padding: 0.65rem 0.25rem; font-size: 0.75rem; line-height: 1.45; overflow-wrap: anywhere; }
  .bousai-course-details-table thead th { padding: 0.75rem 0.15rem; font-size: 0.75rem; }
  .bousai-course-details-table tbody td strong { font-size: 1.15em; }
  .bousai-course-details-notes { margin-top: var(--bousai-space-3); font-size: 0.7rem; line-height: 1.6; }
  .bousai-payment-methods-box { padding: var(--bousai-space-5) var(--bousai-space-4); }
  .bousai-payment-methods-list { grid-template-columns: 1fr; gap: var(--bousai-space-3); }
  .bousai-payment-methods-list li { grid-column: auto; grid-row: auto; }
  .bousai-payment-methods-guide { margin-top: var(--bousai-space-4); font-size: var(--bousai-font-size-sm); text-align: left; }
  .bousai-payment-methods-link { width: 100%; }
  .bousai-payment-contact { margin-top: var(--bousai-space-5); }
  .bousai-payment-contact-actions { grid-template-columns: 1fr; gap: var(--bousai-space-3); }
  .bousai-payment-contact-button { width: 100%; min-height: 3.5rem; padding-inline: var(--bousai-space-4); font-size: var(--bousai-font-size-sm); }
  .bousai-inquiry-modal { padding: var(--bousai-space-3); }
  .bousai-inquiry-modal__dialog { max-height: calc(100dvh - var(--bousai-space-5)); }
  .bousai-inquiry-modal__header { padding: var(--bousai-space-3) var(--bousai-space-4); }
  .bousai-inquiry-modal__header h2 { font-size: var(--bousai-font-size-base); }
  .bousai-inquiry-modal__body { padding: var(--bousai-space-4); }
  .bousai-inquiry-panel__heading { margin-bottom: var(--bousai-space-4); }
  .bousai-inquiry-panel__heading h3 { font-size: var(--bousai-font-size-xl); }
  .bousai-inquiry-panel__heading p { font-size: var(--bousai-font-size-sm); }
  .bousai-inquiry-options { grid-template-columns: 1fr; }
  .bousai-inquiry-option { padding: var(--bousai-space-3); }
  .bousai-inquiry-option h4 { margin: calc(var(--bousai-space-3) * -1) calc(var(--bousai-space-3) * -1) var(--bousai-space-3); }
  .bousai-inquiry-modal__footer { padding: 0 var(--bousai-space-4) var(--bousai-space-4); }
  .bousai-faq-list summary { padding-left: 3.5rem; font-size: var(--bousai-font-size-sm); line-height: 1.6; }
  .bousai-faq-list details p { padding: var(--bousai-space-4); font-size: var(--bousai-font-size-sm); }
}

@media (max-width: 23.5rem) {
  .bousai-hero-primary-copy__part--question-focus { font-size: clamp(1.21875rem, 6.2vw, 1.5rem); }
}

@media (max-width: 20.5rem) {
  .bousai-hero-primary-copy__part--question-focus { font-size: 1.21875rem; }
  .bousai-hero h1.bousai-course-name { font-size: 2rem; line-height: 1.08; }
  .bousai-study-badge { right: -0.25rem; bottom: 0.25rem; width: 4.875rem; }
  .bousai-pricing-cta-pair { grid-template-columns: 1fr; gap: var(--bousai-space-5); }
  .bousai-pricing-sub-cta { padding-inline: var(--bousai-space-4); }
  .bousai-pricing-sub-cta > strong { font-size: var(--bousai-font-size-base); }
}

@media (min-width: 48rem) and (max-width: 63.999rem) {
  .bousai-hero-grid { grid-template-columns: minmax(0, 1.2fr) minmax(16rem, 0.8fr); }
  .bousai-hero-visual { min-height: 0; }
  .bousai-outcome-diagram__flow { grid-template-columns: 1fr; gap: var(--bousai-space-4); }
  .bousai-outcome-diagram__start { grid-template-columns: 3.25rem minmax(0, 1fr); width: min(100%, 20rem); margin-inline: auto; text-align: left; }
  .bousai-outcome-diagram__transition { display: block; height: 4rem; padding-top: var(--bousai-space-2); text-align: center; }
  .bousai-outcome-diagram__transition span { display: block; }
  .bousai-outcome-diagram__transition svg { display: block; width: 2.75rem; height: 1rem; margin: 0.45rem auto 0; transform: rotate(90deg); }
  .bousai-outcome-diagram__skills li { grid-template-columns: 1fr; justify-items: center; text-align: center; }
  .bousai-situation-grid,
  .bousai-situation-grid--primary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bousai-situation-card { grid-template-columns: 1fr; }
  .bousai-situation-image { height: auto; aspect-ratio: 16 / 10; }
  .bousai-first-days-skill-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bousai-first-days-learning--outcome .bousai-first-days-skill-card:not(:last-child)::after { display: none; }
  .bousai-time-axis { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--bousai-space-3); }
  .bousai-time-axis::before,
  .bousai-time-axis > li::after { display: none; }
  .bousai-about-grid { grid-template-columns: 1fr; }
  .bousai-course-facts,
  .bousai-curriculum-month-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bousai-qualification-grid,
  .bousai-supervisor-grid { grid-template-columns: 1fr; }
  .bousai-pricing-course-overview { grid-template-areas: "title" "note" "media"; grid-template-columns: 1fr; grid-template-rows: auto; }
  .bousai-page .bousai-pricing-course-label { align-self: auto; }
  .bousai-pricing-course-overview figure { margin-bottom: 0; }
  .bousai-pricing-common-note { margin-bottom: var(--bousai-space-4); }
}

@media (min-width: 64rem) {
  .bousai-phase1-problem { min-height: 36rem; }
  .bousai-phase2-curriculum__heading h2 { font-size: clamp(2.35rem, 3.45vw, 3.45rem); white-space: nowrap; }
  .bousai-phase1-scenario__heading h2 { white-space: nowrap; }
  .bousai-price-guidance,
  .bousai-price-guidance strong { font-size: 13px; line-height: 1.7; }
  .bousai-situation-copy > p:not(.bousai-situation-meta) { font-size: 16px; line-height: 1.7; }
  .bousai-outcome-diagram__start p,
  .bousai-outcome-diagram__skills li > div > p:last-child { font-size: 15px; line-height: 1.65; }
  .bousai-perspective-detail-body > p,
  .bousai-perspective-detail-lead { font-size: 16px; line-height: 1.75; }
  .bousai-perspective-detail--mind .bousai-perspective-detail-body > p,
  .bousai-perspective-detail--time .bousai-perspective-detail-lead { font-size: 17px; line-height: 1.7; }
  .bousai-inner-voice-title,
  .bousai-inner-voice-list li { font-size: 16px; line-height: 1.7; }
  .bousai-time-label { font-size: 18px; line-height: 1.5; }
  .bousai-time-axis > li > p:last-child { font-size: 16px; line-height: 1.7; }
  .bousai-axis-explanation { font-size: 16px; line-height: 1.75; }
  .bousai-first-days-skill-card h4 { min-height: 3.6rem; }
  .bousai-first-days-skill-card figcaption p { font-size: 15px; line-height: 1.7; }
  .bousai-supervisor-copy > p:last-child { font-size: 17px; line-height: 1.8; }
  .bousai-materials-step-heading > p:last-child,
  .bousai-materials-practice__copy > p:last-child { font-size: 16px; line-height: 1.75; }
  .bousai-support-card__content > p:not(.bousai-support-card__label) { font-size: 16px; line-height: 1.7; }
  .bousai-support-card small { font-size: 13px; line-height: 1.6; }
  .bousai-qualification-copy { line-height: 1.8; }
  .bousai-qualification-facts dd small { font-size: 13px; line-height: 1.6; }
  .bousai-course-details-notes { font-size: 13px; line-height: 1.65; }
  .bousai-inquiry-option h4 span,
  .bousai-inquiry-option__hours small { font-size: 13px; line-height: 1.6; }
  .bousai-inquiry-option p { font-size: 16px; line-height: 1.7; }
  .bousai-inquiry-option a { font-size: 15px; line-height: 1.7; }
  .bousai-first-days .bousai-section-heading { white-space: nowrap; }
  .bousai-perspective-detail--mind .bousai-perspective-detail-body { grid-template-columns: 1fr; gap: var(--bousai-space-5); }
  .bousai-perspective-detail--mind .bousai-perspective-detail-body > p { max-width: 48rem; margin-inline: auto; }
  .bousai-perspective-detail--mind .bousai-inner-voice { width: min(100%, 46rem); margin-inline: auto; }
  .bousai-perspective-detail--mind .bousai-inner-voice-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bousai-perspective-detail--mind .bousai-inner-voice-list li { display: flex; align-items: center; }
}

@media (min-width: 48rem) and (max-width: 63.999rem) {
  .bousai-phase1-scenario__layout { grid-template-columns: minmax(0, 1.2fr) minmax(18rem, 0.8fr); gap: var(--bousai-space-6); }
  .bousai-phase1-scenario__visual,
  .bousai-phase1-scenario__visual img { min-height: 28rem; }
  .bousai-phase1-scenario__choices li { grid-template-columns: 3.4rem minmax(0, 1fr); font-size: 0.95rem; }
  .bousai-phase1-scenario__choices li::before { left: 4rem; }
  .bousai-phase1-problem { min-height: 38rem; }
  .bousai-phase1-problem h2 { font-size: clamp(3.8rem, 7vw, 4.6rem); }
  .bousai-phase1-causes__grid { grid-template-columns: 1fr; }
  .bousai-phase1-cause,
  .bousai-phase1-cause img,
  .bousai-phase1-cause__media { min-height: 31rem; height: 31rem; }
  .bousai-phase1-transformation__grid { grid-template-columns: minmax(0, 1fr) 3.25rem minmax(0, 1fr); }
  .bousai-phase1-transformation__panel,
  .bousai-phase1-transformation__panel img { min-height: 30rem; height: 30rem; }
  .bousai-phase1-flow__list img { height: 13rem; }
}

@media (max-width: 47.999rem) {
  .bousai-phase1 { padding-block: 4.25rem; }
  .bousai-phase1 > .bousai-container { width: min(100% - 2rem, 31rem); }
  .bousai-phase1-heading { margin-bottom: 3.5rem; font-size: clamp(2rem, 10.5vw, 2.7rem); line-height: 1.25; text-align: center; }
  .bousai-phase1-heading__lead,
  .bousai-phase1-heading__keep { display: block; }
  .bousai-phase1-closing { margin-top: 3rem; padding: 1.75rem 1.5rem; font-size: 1.12rem; line-height: 1.65; }

  .bousai-phase1-scenario,
  .bousai-phase1-causes,
  .bousai-phase1-transformation,
  .bousai-phase1-flow { padding-bottom: 0; }
  .bousai-phase1-scenario__heading { margin-bottom: 3rem; text-align: left; }
  .bousai-phase1-eyebrow { font-size: 1rem; text-align: center; }
  .bousai-phase1-scenario__heading h2 { font-size: clamp(2rem, 8.8vw, 2.5rem); line-height: 1.35; }
  .bousai-phase1-scenario__title-line,
  .bousai-phase1-scenario__title-sp-line { display: block; white-space: nowrap; }
  .bousai-phase1-scenario__title-line + .bousai-phase1-scenario__title-line { margin: 0.15em 0 0; }
  .bousai-phase1-scenario__layout { grid-template-columns: 1fr; gap: 2rem; }
  .bousai-phase1-scenario__visual,
  .bousai-phase1-scenario__visual img { min-height: 0; aspect-ratio: 1.38 / 1; }
  .bousai-phase1-scenario__visual img { object-position: 64% center; }
  .bousai-phase1-scenario__visual { min-height: 0; border-radius: 0.8rem; }
  .bousai-phase1-scenario__visual figcaption { top: 1rem; bottom: auto; left: 1rem; }
  .bousai-phase1-scenario__visual figcaption strong { font-size: 5.75rem; }
  .bousai-phase1-scenario__situation { margin-bottom: 1.6rem; font-size: 1rem; line-height: 1.8; }
  .bousai-phase1-scenario__content h3 { margin-bottom: 1.5rem; font-size: clamp(1.85rem, 8.8vw, 2.35rem); }
  .bousai-phase1-scenario__content h3 span { display: block; }
  .bousai-phase1-scenario__choices li { min-height: 4.25rem; grid-template-columns: 3.1rem minmax(0, 1fr); padding: 0.65rem 1rem 0.65rem 0.75rem; border-radius: 0.7rem; font-size: clamp(0.88rem, 4.25vw, 1.05rem); }
  .bousai-phase1-scenario__choices li::before { top: 0.65rem; bottom: 0.65rem; left: 3.7rem; }
  .bousai-phase1-scenario__choices span { width: 2.35rem; font-size: 0.9rem; }

  .bousai-phase1-problem { min-height: 0; padding: 4.5rem 0 3.75rem; }
  .bousai-phase1-problem__inner { display: block; max-width: none; text-align: left; }
  .bousai-phase1-problem h2 { gap: 0.72em; font-size: clamp(2.35rem, 10vw, 2.75rem); }
  .bousai-phase1-problem h2 > span { white-space: nowrap; }
  .bousai-phase1-problem h2 > span:last-child { font-size: 0.78em; }
  .bousai-phase1-problem h2 strong { display: inline; margin-top: 0; font-size: 1.18em; white-space: nowrap; }
  .bousai-phase1-problem__copy { gap: 1.6rem; max-width: none; margin-top: 3.5rem; }
  .bousai-phase1-problem__copy p { font-size: 1rem; line-height: 1.9; }
  .bousai-phase1-problem__copy br { display: block; }

  .bousai-phase1-causes__grid { grid-template-columns: 1fr; gap: 4.25rem; }
  .bousai-phase1-cause { min-height: 0; overflow: visible; background: transparent; }
  .bousai-phase1-cause header { position: static; margin-bottom: 1rem; }
  .bousai-phase1-cause header p { gap: 0.7rem; font-size: clamp(1.7rem, 8vw, 2.15rem); }
  .bousai-phase1-cause header > p > span:first-child { color: var(--bousai-color-orange-600); font-size: 1.65em; }
  .bousai-phase1-cause img { height: auto; aspect-ratio: 1.4 / 1; object-position: center 28%; }
  .bousai-phase1-cause--mind::after,
  .bousai-phase1-cause--situation::after { display: none; }
  .bousai-phase1-cause__copy { position: static; width: auto; padding: 1.75rem 1rem 0; }
  .bousai-phase1-cause__copy p { font-size: 1rem; }
  .bousai-phase1-cause__voices,
  .bousai-phase1-cause__factors { font-size: 1.2rem; }
  .bousai-phase1-cause__media { height: 20rem; min-height: 20rem; }
  .bousai-phase1-cause__media > img { height: 100%; aspect-ratio: auto; object-position: center; }
  .bousai-phase1-cause__times { top: 1rem; display: grid; font-size: 1rem; }
  .bousai-phase1-cause--situation .bousai-phase1-cause__copy { width: auto; }
  .bousai-phase1-cause--situation header p { align-items: center; }
  .bousai-phase1-cause--situation .bousai-phase1-cause__heading-text { display: grid; gap: 0.08em; font-size: clamp(1.65rem, 8vw, 2.05rem); line-height: 1.08; }
  .bousai-phase1-cause--situation .bousai-phase1-cause__heading-text > span { display: block; white-space: nowrap; }
  .bousai-phase1-cause--situation .bousai-phase1-cause__media { height: auto; min-height: 0; aspect-ratio: auto; overflow: visible; background: transparent; }
  .bousai-phase1-cause--situation .bousai-phase1-cause__media > img,
  .bousai-phase1-cause--situation .bousai-phase1-cause__times { display: none; }
  .bousai-phase1-cause__timeline-sp { --phase-top-height: clamp(7rem, 32vw, 8rem); position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem 0.75rem; }
  .bousai-phase1-cause__phase { position: relative; min-width: 0; height: var(--phase-top-height); margin: 0; overflow: hidden; background: #536d80; border-radius: 0.75rem; }
  .bousai-phase1-cause__phase > img { position: absolute; top: 50%; left: 0; display: block; width: 300%; max-width: none; height: auto; aspect-ratio: auto; transform: translateY(-50%); }
  .bousai-phase1-cause__phase--15 > img { left: -100%; }
  .bousai-phase1-cause__phase--18 { height: clamp(11.25rem, 52vw, 12.75rem); grid-column: 1 / -1; }
  .bousai-phase1-cause__phase--18 > img { left: -200%; }
  .bousai-phase1-cause__phase > span { position: absolute; z-index: 2; top: 0.5rem; left: 0.5rem; padding: 0.22rem 0.45rem; color: white; background: rgb(5 47 95 / 82%); border-radius: 0.35rem; font-size: 0.8125rem; font-weight: 900; letter-spacing: 0.02em; line-height: 1.2; }
  .bousai-phase1-cause__time-arrow { position: absolute; z-index: 4; display: block; width: 1.85rem; height: 1.85rem; padding: 0.25rem; overflow: visible; color: var(--bousai-color-orange-600); background: rgb(255 255 255 / 96%); border-radius: 50%; fill: none; stroke: currentcolor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 3.25; box-shadow: 0 0.1rem 0.3rem rgb(5 47 95 / 16%); }
  .bousai-phase1-cause__time-arrow--right { top: calc(var(--phase-top-height) / 2); left: 50%; transform: translate(-50%, -50%); }
  .bousai-phase1-cause__time-arrow--down { top: calc(var(--phase-top-height) + 1rem); left: 75%; transform: translate(-50%, -50%); }

  .bousai-phase1-transformation__heading { margin-bottom: 3.25rem; text-align: center; }
  .bousai-phase1-transformation__heading > p { color: var(--bousai-color-navy-950); background: transparent; font-size: 1.5rem; }
  .bousai-phase1-transformation__heading h2 { font-size: clamp(1.4rem, 6vw, 1.55rem); line-height: 1.45; }
  .bousai-phase1-transformation__title-line { display: block; white-space: nowrap; }
  .bousai-phase1-transformation__title-sp-line { display: inline; }
  .bousai-phase1-transformation__grid { grid-template-columns: 1fr; gap: 0; }
  .bousai-phase1-transformation__panel { min-height: 32rem; }
  .bousai-phase1-transformation__panel h3 { top: 4.35rem; left: 1rem; width: calc(100% - 2rem); font-size: 1.25rem; }
  .bousai-phase1-transformation__panel img { height: 32rem; object-position: center 30%; }
  .bousai-phase1-transformation__label { left: 1rem; }
  .bousai-phase1-transformation__arrow { height: 5.5rem; }
  .bousai-phase1-transformation__arrow i { width: 0.42rem; height: 5rem; }
  .bousai-phase1-transformation__arrow i::after { top: auto; right: auto; bottom: -0.1rem; left: 50%; transform: translateX(-50%) rotate(135deg); }
  .bousai-phase1-causes__closing span,
  .bousai-phase1-transformation__closing span { display: block; white-space: nowrap; }

  .bousai-phase1-flow__heading { margin-bottom: 4rem; text-align: center; }
  .bousai-phase1-flow__heading h2 { font-size: clamp(1.5rem, 6.6vw, 1.75rem); line-height: 1.45; }
  .bousai-phase1-flow__lead,
  .bousai-phase1-flow__conclusion,
  .bousai-phase1-flow__heading p span,
  .bousai-phase1-flow__closing span { display: block; white-space: nowrap; }
  .bousai-phase1-flow__heading p { font-size: 1rem; }
  .bousai-phase1-flow__list { grid-template-columns: 1fr; gap: 1.5rem; }
  .bousai-phase1-flow__list::before { top: 0; right: auto; bottom: 0; left: 50%; width: 0.36rem; height: auto; transform: translateX(-50%); }
  .bousai-phase1-flow__list li { display: grid; min-height: 20rem; grid-template-columns: minmax(0, 1fr) 2.5rem minmax(0, 1fr); gap: 0.4rem; align-items: center; text-align: left; }
  .bousai-phase1-flow__list li::before { top: 50%; left: 50%; width: 1.4rem; transform: translate(-50%, -50%); }
  .bousai-phase1-flow__list li::after { display: none; }
  .bousai-phase1-flow__copy { min-height: 0; }
  .bousai-phase1-flow__copy span { font-size: clamp(3.5rem, 15vw, 4.4rem); }
  .bousai-phase1-flow__copy h3 { margin-top: 0.15rem; font-size: clamp(1.6rem, 7.4vw, 2rem); font-weight: 900; }
  .bousai-phase1-flow__copy p { font-size: 0.85rem; line-height: 1.65; }
  .bousai-phase1-flow__list img { width: 124%; max-width: none; height: auto; margin-inline: -12%; object-fit: contain; clip-path: none; }
  .bousai-phase1-flow__list li:first-child img { width: 108%; margin-inline: -4%; }
  .bousai-phase1-flow__list li:nth-child(odd) img { grid-column: 1; grid-row: 1; }
  .bousai-phase1-flow__list li:nth-child(odd) .bousai-phase1-flow__copy { grid-column: 3; grid-row: 1; }
  .bousai-phase1-flow__list li:nth-child(even) .bousai-phase1-flow__copy { grid-column: 1; grid-row: 1; text-align: right; }
  .bousai-phase1-flow__list li:nth-child(even) img { grid-column: 3; grid-row: 1; }
}

@media (max-width: 20.5rem) {
  .bousai-phase1-problem h2 { font-size: 2rem; }
  .bousai-phase1-problem h2 strong { font-size: 1.06em; }
  .bousai-phase1-transformation__heading h2 { font-size: 1.24rem; }
  .bousai-phase1-transformation__title-sp-line { display: block; }
  .bousai-phase1-flow__heading h2 { font-size: 1.35rem; }
  .bousai-phase1-flow__heading p { font-size: 0.78rem; }
  .bousai-phase1-causes__closing,
  .bousai-phase1-transformation__closing { padding-inline: 1.15rem; font-size: 0.9rem; }
}

@media (max-width: 63.999rem) {
  .bousai-phase2-curriculum__month { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bousai-phase2-curriculum__month-heading { display: grid; grid-column: 1 / -1; grid-template-columns: 9rem minmax(0, 1fr); gap: 2rem; align-items: center; }
  .bousai-phase2-curriculum__month-heading h3 { margin: 0; padding: 0 0 0 2rem; border-top: 0; border-left: 2px solid rgb(5 47 95 / 70%); }
  .bousai-phase2-curriculum__domain { grid-template-columns: 1fr; }
  .bousai-phase2-curriculum__domain figure { min-height: 0; }
  .bousai-phase2-curriculum__domain-copy { min-height: 0; }

  .bousai-phase2-supervisor__grid { grid-template-columns: minmax(17rem, 0.8fr) minmax(0, 1.2fr); gap: 2rem; }
  .bousai-phase2-supervisor__intro h2 { font-size: clamp(1.75rem, 3.8vw, 2.4rem); }
  .bousai-phase2-supervisor__details h3 { font-size: clamp(1.9rem, 4vw, 2.6rem); }
  .bousai-phase2-supervisor__achievement { display: block; }
  .bousai-phase2-supervisor__achievement strong { display: block; margin-top: 0.25rem; }

  .bousai-phase2-materials__body { grid-template-columns: minmax(0, 1.72fr) minmax(18rem, 0.9fr); }
  .bousai-phase2-materials__feature { grid-template-columns: 2.7rem minmax(0, 1fr); gap: 0.55rem; padding: 0.7rem; }
  .bousai-phase2-materials__feature-icon { width: 2.7rem; }
  .bousai-phase2-materials__feature-icon svg { width: 1.6rem; height: 1.6rem; }
  .bousai-phase2-materials__feature h3 { font-size: 0.88rem; }
  .bousai-phase2-materials__feature p { font-size: 0.77rem; }
  .bousai-phase2-materials__steps { padding: 2rem 1.5rem; }
  .bousai-phase2-materials__steps article { grid-template-columns: 3.5rem minmax(0, 1fr); column-gap: 0.75rem; }

  .bousai-phase2-support__body { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bousai-phase2-support__body img { height: 28rem; grid-column: 1 / -1; grid-row: 1; }
  .bousai-phase2-support__panel--question { grid-column: 1; grid-row: 2; background: white; }
  .bousai-phase2-support__panel--long-term { grid-column: 2; grid-row: 2; }
}

@media (max-width: 64rem) {
  .bousai-phase2-materials__features { grid-template-columns: 1fr; }
  .bousai-phase2-materials__feature p span { display: inline; white-space: normal; }
}

@media (max-width: 55.999rem) {
  .bousai-phase2-materials__body { grid-template-columns: 1fr; }
  .bousai-phase2-materials__content { padding: 1rem; }
  .bousai-phase2-materials__feature { grid-template-columns: 3.25rem minmax(0, 1fr); padding: 0.9rem; }
  .bousai-phase2-materials__feature-icon { width: 3.25rem; }
  .bousai-phase2-materials__feature-icon svg { width: 1.9rem; height: 1.9rem; }
  .bousai-phase2-materials__feature h3 { font-size: 1rem; }
  .bousai-phase2-materials__feature p { font-size: 0.875rem; }
  .bousai-phase2-materials__steps { min-height: 30rem; }
}

@media (max-width: 47.999rem) {
  .bousai-phase2 { padding-block: 4.5rem; }
  .bousai-phase2 > .bousai-container { width: min(100% - 2rem, 31rem); }
  .bousai-phase2-heading { margin-bottom: 3rem; }
  .bousai-phase2-heading__label { gap: 0.8rem; font-size: 0.95rem; }
  .bousai-phase2-heading__label::before,
  .bousai-phase2-heading__label::after { width: 2.5rem; }
  .bousai-phase2-heading h2 { font-size: clamp(1.75rem, 8vw, 2.2rem); line-height: 1.45; }
  .bousai-phase2-heading > p:last-child { margin-top: 0.8rem; font-size: 0.95rem; line-height: 1.75; }

  .bousai-phase2-curriculum__heading h2 { font-size: clamp(1.25rem, 5.55vw, 1.4rem); line-height: 1.55; }
  .bousai-phase2-heading h2 .bousai-phase2-curriculum__title-line { display: block; white-space: nowrap; }
  .bousai-phase2-heading h2 .bousai-phase2-curriculum__title-accent > span { font-size: 1.2em; }
  .bousai-phase2-curriculum__months { gap: 1rem; }
  .bousai-phase2-curriculum__month { display: block; min-height: 0; }
  .bousai-phase2-curriculum__month-heading { display: grid; grid-template-columns: 5rem minmax(0, 1fr); gap: 1rem; padding: 1rem 1.25rem; }
  .bousai-phase2-curriculum__month-heading strong { font-size: 4rem; }
  .bousai-phase2-curriculum__month-heading span { font-size: 1.15rem; }
  .bousai-phase2-curriculum__month-heading h3 { padding-left: 1rem; font-size: 1rem; line-height: 1.65; }
  .bousai-phase2-curriculum__domain { grid-template-columns: 1fr; }
  .bousai-phase2-curriculum__domain figure,
  .bousai-phase2-curriculum__domain-copy { min-height: 0; }
  .bousai-phase2-curriculum__domain figure { aspect-ratio: 16 / 9; }
  .bousai-phase2-curriculum__domain { padding-block: 0.35rem; }
  .bousai-phase2-curriculum__domain--alternate figure { order: 0; }
  .bousai-phase2-curriculum__domain-copy { padding: 1.3rem 1.2rem; }
  .bousai-phase2-curriculum__step { font-size: 0.75rem; }
  .bousai-phase2-curriculum__domain-copy h4 { font-size: 1.08rem; }
  .bousai-phase2-curriculum__domain-copy i { width: 1.8rem; margin-block: 0.8rem; }
  .bousai-phase2-curriculum__domain-copy > p:last-child { font-size: 0.875rem; line-height: 1.85; }
  .bousai-phase2-curriculum__note { text-align: left; }

  .bousai-phase2-supervisor__grid { grid-template-areas: "intro" "figure" "details"; grid-template-columns: 1fr; gap: 2rem; }
  .bousai-phase2-supervisor__figure { width: min(100%, 25rem); margin-inline: auto; }
  .bousai-phase2-supervisor__photo { aspect-ratio: 8 / 9; }
  .bousai-phase2-supervisor__intro,
  .bousai-phase2-supervisor__details { text-align: center; }
  .bousai-phase2-supervisor__label { font-size: 1.15rem; }
  .bousai-phase2-supervisor__intro h2 { font-size: clamp(1.35rem, 6.25vw, 1.5rem); line-height: 1.55; }
  .bousai-phase2-supervisor__title-line { white-space: nowrap; }
  .bousai-phase2-supervisor__details h3 { margin-top: 0; font-size: 2rem; }
  .bousai-phase2-supervisor__achievement { display: grid; justify-items: center; gap: 0.35rem; margin-block: 1rem 1.4rem; font-size: 0.95rem; line-height: 1.35; }
  .bousai-phase2-supervisor__achievement strong { margin: 0; font-size: 3.25rem; }
  .bousai-phase2-supervisor__credentials,
  .bousai-phase2-supervisor__profile { text-align: left; }
  .bousai-phase2-supervisor__credentials li { padding-block: 0.9rem; font-size: 0.9375rem; line-height: 1.75; }
  .bousai-phase2-supervisor__profile { margin-top: 1.6rem; font-size: 0.9375rem; line-height: 1.9; }

  .bousai-phase2-materials__heading { margin-bottom: 2rem; }
  .bousai-phase2-materials__heading h2 { font-size: clamp(2rem, 9.5vw, 2.45rem); line-height: 1.35; }
  .bousai-phase2-heading h2 .bousai-phase2-materials__title-line { display: block; white-space: nowrap; }
  .bousai-phase2-materials__lead span { display: block; }
  .bousai-phase2-materials > .bousai-container { width: min(calc(100% - 1.5rem), 31rem); }
  .bousai-phase2-materials__body { grid-template-columns: 1fr; min-height: 0; margin-top: 2rem; overflow: visible; border: 0; border-radius: 0; box-shadow: none; }
  .bousai-phase2-materials__content { padding: 0.5rem; border: 2px solid white; border-radius: 0.9rem; }
  .bousai-phase2-materials__visual { width: calc(100% + 1.5rem); margin-inline: -0.75rem; overflow: hidden; padding: 0.25rem 0 0.6rem; }
  .bousai-phase2-materials__visual img { width: 100%; max-width: none; }
  .bousai-phase2-materials__features { grid-template-columns: 1fr; gap: 0.75rem; margin-top: 1rem; }
  .bousai-phase2-materials__feature { grid-template-columns: 3.5rem minmax(0, 1fr); gap: 0.9rem; padding: 0.85rem 1rem; }
  .bousai-phase2-materials__feature-icon { width: 3.5rem; }
  .bousai-phase2-materials__feature h3 { font-size: 1.05rem; }
  .bousai-phase2-materials__feature p { font-size: 0.875rem; }
  .bousai-phase2-materials__steps { min-height: 0; margin-top: 0.8rem; padding: 2.5rem 1.5rem; border-radius: 0.9rem; }
  .bousai-phase2-materials__steps article { min-height: 9rem; grid-template-columns: 3.75rem minmax(0, 1fr); }
  .bousai-phase2-materials__steps h3 { font-size: 1.4rem; }
  .bousai-phase2-materials__steps article div > p { font-size: 0.9rem; }

  .bousai-phase2-support { padding-bottom: 0; }
  .bousai-phase2-support__heading h2 { font-size: clamp(1.3rem, 5.85vw, 1.4rem); line-height: 1.6; }
  .bousai-phase2-heading h2 .bousai-phase2-support__title-line { white-space: nowrap; }
  .bousai-phase2-support__lead { font-size: clamp(0.82rem, 4vw, 0.95rem) !important; }
  .bousai-phase2-support__lead span { display: block; white-space: nowrap; }
  .bousai-phase2-support__body { grid-template-columns: 1fr; margin-inline: -1rem; }
  .bousai-phase2-support__body img { display: block; width: 100%; height: auto; grid-column: 1; grid-row: 1; object-fit: initial; object-position: initial; }
  .bousai-phase2-support__panel { min-height: 20rem; padding: 2.25rem 1.5rem; }
  .bousai-phase2-support__panel--question { grid-column: 1; grid-row: 2; }
  .bousai-phase2-support__panel--long-term { grid-column: 1; grid-row: 3; }
  .bousai-phase2-support__panel--question > p strong { font-size: clamp(2.5rem, 12vw, 3rem); }
  .bousai-phase2-support__panel--long-term > p strong { font-size: 5.5rem; }
  .bousai-phase2-support__panel--long-term > p em { font-size: 1rem; }
  .bousai-phase2-support__panel--long-term small { font-size: 0.9375rem; line-height: 1.8; }

  .bousai-qualification-layout { grid-template-columns: minmax(0, 1fr); row-gap: 1.5rem; }
  .bousai-qualification-intro { text-align: center; }
  .bousai-qualification-eyebrow { justify-content: center; margin-bottom: 1.25rem; font-size: 1rem; }
  .bousai-qualification-eyebrow::before, .bousai-qualification-eyebrow::after { width: 2rem; }
  .bousai-qualification-title { margin-bottom: 1.5rem; font-size: clamp(1.65rem, 8.4vw, 2.1rem); line-height: 1.5; }
  .bousai-qualification-guidance { gap: 0.7rem; font-size: 1rem; }
  .bousai-qualification-guidance strong { font-size: clamp(1.2rem, 5.8vw, 1.4rem); }
  .bousai-qualification-artwork { grid-column: 1; grid-row: 2; }
  .bousai-qualification-description { grid-row: 3; font-size: 0.9375rem; }
  .bousai-qualification-layout > .bousai-qualification-trigger { grid-row: 4; width: 100%; max-width: none; min-width: 0; justify-content: space-between; }
}

@media (max-width: 20.5rem) {
  .bousai-phase2-curriculum__heading h2 { font-size: 1.1rem; }
  .bousai-phase2-curriculum__month-heading { grid-template-columns: 4.3rem minmax(0, 1fr); padding-inline: 0.8rem; }
  .bousai-phase2-curriculum__month-heading strong { font-size: 3.4rem; }
  .bousai-phase2-curriculum__month-heading h3 { font-size: 0.88rem; }
  .bousai-phase2-curriculum__domain figure,
  .bousai-phase2-curriculum__domain-copy { min-height: 0; }
  .bousai-phase2-curriculum__domain-copy { padding: 0.8rem; }
  .bousai-phase2-curriculum__domain-copy h4 { font-size: 0.95rem; }
  .bousai-phase2-curriculum__domain-copy > p:last-child { font-size: 0.8125rem; }
  .bousai-phase2-supervisor__intro h2 { font-size: 1.2rem; }
  .bousai-phase2-materials__heading h2 { font-size: 1.75rem; }
  .bousai-phase2-materials > .bousai-container { width: calc(100% - 1rem); }
  .bousai-phase2-materials__content { padding: 0.375rem; }
  .bousai-phase2-materials__feature { grid-template-columns: 3rem minmax(0, 1fr); gap: 0.7rem; padding-inline: 0.75rem; }
  .bousai-phase2-materials__feature-icon { width: 3rem; }
  .bousai-phase2-materials__feature h3 { font-size: 0.98rem; }
  .bousai-phase2-materials__feature p { font-size: 0.8rem; }
  .bousai-phase2-materials__steps { padding-inline: 1rem; }
  .bousai-phase2-materials__steps article { grid-template-columns: 3.4rem minmax(0, 1fr); column-gap: 0.65rem; }
  .bousai-phase2-materials__steps article div > p { font-size: 0.75rem; letter-spacing: -0.02em; }
  .bousai-phase2-support__heading h2 { font-size: 1.15rem; }
}

/* Approved support composition: desktop only; retain the existing mobile flow. */
@media (min-width: 64rem) {
  .bousai-phase2-support__body {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto auto;
    min-height: 0;
  }
  .bousai-phase2-support__photo {
    display: block;
    grid-column: 1;
    grid-row: 1 / 3;
    height: auto;
    min-width: 0;
    min-height: 0;
    position: relative;
    aspect-ratio: auto;
    align-self: stretch;
  }
  .bousai-phase2-support__photo img {
    display: block;
    width: 100%;
    position: absolute;
    inset: 0;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }
  .bousai-phase2-support__panel {
    padding: 0.375rem clamp(2rem, 5vw, 4.5rem);
  }
  .bousai-phase2-support__panel--question {
    grid-column: 2;
    grid-row: 1;
    color: var(--bousai-color-navy-950);
    background: white;
  }
  .bousai-phase2-support__panel--long-term {
    grid-column: 2;
    grid-row: 2;
  }
  .bousai-phase2-support__panel h3 {
    font-size: clamp(1.5rem, 2.1vw, 1.85rem);
  }
  .bousai-phase2-support__panel--question > p { margin-block: 0.5rem; }
  .bousai-phase2-support__panel h3 { padding-bottom: 0.4rem; }
  .bousai-phase2-support__panel--question > p > span { margin-bottom: 0.25rem; }
  .bousai-phase2-support__panel--long-term > p { margin-block: 0.45rem; }
  .bousai-phase2-support__panel--long-term small { margin-top: 0.4rem; }
  .bousai-phase2-support__panel--question > p strong {
    font-size: clamp(2.5rem, 3.8vw, 3.5rem);
    line-height: 1.1;
  }
  .bousai-phase2-support__panel small { font-size: 1rem; }
  .bousai-phase2-support__panel--question small span { display: block; }
  .bousai-phase2-support__panel--long-term > p strong,
  .bousai-phase2-support__panel--long-term > p span {
    color: var(--bousai-color-orange-500);
  }
  .bousai-phase2-support__panel--long-term > p strong {
    font-size: clamp(6rem, 8vw, 7.5rem);
    font-weight: 700;
  }
  .bousai-phase2-support__panel--long-term > p span {
    font-size: clamp(2.5rem, 3.8vw, 3.5rem);
  }
}

@media (min-width: 64rem) {
  .bousai-qualification-artwork__image { position: relative; }
  .bousai-qualification-artwork__image::after {
    position: absolute;
    inset: 0;
    background:
      linear-gradient(to right, var(--bousai-color-sky-100), transparent 12%),
      linear-gradient(to left, var(--bousai-color-sky-100), transparent 10%),
      linear-gradient(to bottom, var(--bousai-color-sky-100), transparent 8%),
      linear-gradient(to top, var(--bousai-color-sky-100), transparent 10%);
    pointer-events: none;
    content: "";
  }
}

/* Intermediate screens: keep the approved 1440px and mobile compositions. */
@media (min-width: 48rem) and (max-width: 87.499rem) {
  /* A stretched grid row must not enlarge the image beyond its own column. */
  .bousai-phase1-scenario__visual { width: 100%; min-width: 0; min-height: 0; aspect-ratio: auto; }
  .bousai-phase1-scenario__visual img { min-height: 0; }

  /* Give the month summary its own row instead of a narrow text strip. */
  .bousai-phase2-curriculum__month { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bousai-phase2-curriculum__month-heading { display: grid; grid-column: 1 / -1; grid-template-columns: 9rem minmax(0, 1fr); gap: 2rem; align-items: center; padding: 1.5rem 2rem; }
  .bousai-phase2-curriculum__month-heading h3 { margin: 0; padding: 0 0 0 2rem; border-top: 0; border-left: 2px solid rgb(5 47 95 / 70%); }
  .bousai-phase2-curriculum__domain { grid-template-columns: 1fr; }
  .bousai-phase2-curriculum__domain figure { min-height: 0; aspect-ratio: 16 / 9; }
  .bousai-phase2-curriculum__domain-copy { min-height: 0; padding: 1.5rem; }
  .bousai-phase2-curriculum__domain-copy h4 { font-size: clamp(1.25rem, 1.7vw, 1.5rem); }
  .bousai-phase2-materials__features { grid-template-columns: 1fr; }
  .bousai-phase2-materials__feature { grid-template-columns: 3.25rem minmax(0, 1fr); }
  .bousai-phase2-materials__feature h3 { font-size: 1rem; }
  .bousai-phase2-materials__feature p { font-size: 0.875rem; }
  .bousai-phase2-materials__feature p span { white-space: normal; }
  .bousai-phase2-curriculum__domain-copy > p:last-child,
  .bousai-phase2-materials__steps article div > p,
  .bousai-phase2-supervisor__credentials li,
  .bousai-pricing-common-note { text-wrap: balance; }
  .bousai-course-details-lead { max-width: none; text-wrap: balance; }
}

@media (min-width: 48rem) and (max-width: 74.999rem) {
  .bousai-hero-price { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0.35rem 0.75rem; }
  .bousai-hero-price > div { display: contents; }
  .bousai-hero-price-course { grid-column: 1 / -1; }
  .bousai-hero-price p { justify-self: end; white-space: nowrap; }

  /* Keep photos and explanatory text separate where the overlay gets cramped. */
  .bousai-phase1-causes__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; align-items: start; }
  .bousai-phase1-cause { min-height: 0; height: auto; }
  .bousai-phase1-cause header { position: static; padding: 1.5rem 1.25rem; }
  .bousai-phase1-cause header p { gap: 0.75rem; font-size: 1.35rem; }
  .bousai-phase1-cause header > p > span:first-child { font-size: 2em; }
  .bousai-phase1-cause--mind::after { display: none; }
  .bousai-phase1-cause--mind > img { min-height: 0; height: auto; }
  .bousai-phase1-cause__copy { position: static; width: auto; padding: 1.5rem 1.25rem; }
  .bousai-phase1-cause--situation .bousai-phase1-cause__media { margin-top: 0; min-height: 0; height: auto; }
  .bousai-phase1-cause--situation .bousai-phase1-cause__media > img { min-height: 0; height: auto; }
  .bousai-phase1-cause--situation .bousai-phase1-cause__copy { padding: 1.5rem 1.25rem; }
  .bousai-phase1-cause__heading-text > span { display: inline-block; }

  .bousai-phase2-curriculum__domain { grid-template-columns: 1fr; }
  .bousai-phase2-curriculum__domain figure { min-height: 0; aspect-ratio: 16 / 9; }
  .bousai-phase2-curriculum__domain img { object-fit: cover; }
  .bousai-phase2-curriculum__domain-copy { padding: 1.5rem 2rem; }
  .bousai-phase2-curriculum__domain-copy h4 { font-size: 1.5rem; }
  .bousai-phase2-materials__steps { padding-inline: 1.5rem; }
  .bousai-phase2-materials__steps article { grid-template-columns: 3.5rem minmax(0, 1fr); column-gap: 0.75rem; }
}

@media (min-width: 48rem) and (max-width: 63.999rem) {
  .bousai-hero-grid { grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.85fr); gap: 1.5rem; }
  .bousai-hero-primary-copy__line { flex-wrap: wrap; }
  .bousai-hero-primary-copy__part--question-focus { flex-wrap: wrap; }
  .bousai-hero-price { padding-inline: 1rem; }
  .bousai-hero-price-course { font-size: 0.9375rem; }
  .bousai-hero-price p span { font-size: 1rem; }
  .bousai-hero h1.bousai-course-name { font-size: clamp(2.5rem, 4.4vw, 2.8rem); }
  .bousai-phase1-scenario__heading h2 { font-size: 2.2rem; }
  .bousai-phase1-scenario__title-line { display: block; }
  .bousai-phase1-scenario__title-line + .bousai-phase1-scenario__title-line { margin-left: 0; }
  .bousai-phase1-scenario__layout { grid-template-columns: 1fr; gap: 2rem; }
  .bousai-phase1-scenario__visual { aspect-ratio: 2 / 1; }
  .bousai-phase1-scenario__content { width: min(100%, 40rem); margin-inline: auto; }
  .bousai-phase1-scenario__content h3 { text-align: center; }
  .bousai-phase1-scenario__situation { text-align: center; }
  .bousai-phase1-scenario__choices li { font-size: 1.125rem; }
  .bousai-phase1-transformation__panel h3 { left: 0.75rem; width: calc(100% - 1.5rem); font-size: 1.125rem; line-height: 1.6; }
  .bousai-phase1-flow__heading h2 { white-space: normal; font-size: 2.3rem; }
  .bousai-phase1-flow__lead, .bousai-phase1-flow__conclusion { display: block; }
  .bousai-phase1-flow__heading p span { display: block; }
  .bousai-phase1-flow__copy p { font-size: 0.9375rem; text-wrap: balance; }
  .bousai-phase1-flow__list img { height: auto; }
  .bousai-phase1-transformation__closing > span { display: block; }
  .bousai-phase2-heading h2 .bousai-phase2-curriculum__title-line { display: block; }
  .bousai-phase2-curriculum__heading h2 { font-size: 2.3rem; }
  .bousai-phase2-support__panel { padding-inline: 1.5rem; }
  .bousai-phase2-support__panel--question > p strong { font-size: clamp(2.3rem, 4.8vw, 2.7rem); }
  .bousai-qualification-layout { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); }
  .bousai-qualification-description { font-size: 0.9375rem; }
}

/* Pricing overview: image-first vertical composition on desktop and tablet. */
@media (min-width: 48rem) {
  .bousai-pricing-course-overview {
    grid-template-areas: "media" "title" "note";
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: repeat(3, auto);
    justify-items: center;
    gap: 1.5rem;
    max-width: 75rem;
    padding: clamp(1.5rem, 3vw, 3rem);
  }
  .bousai-pricing-course-overview figure { width: 100%; max-width: 42.5rem; margin: 0; }
  .bousai-page .bousai-pricing-course-label { align-self: auto; margin: 0; }
  .bousai-pricing-course-overview .bousai-pricing-common-note { width: 100%; max-width: 60rem; margin: 0; }
}

/* Final typesetting: short semantic units only, never page-wide nowrap. */
.bousai-type-phrase { display: inline-block; }
.bousai-phase1-problem__copy strong { display: inline-block; }
.bousai-phase2-support__panel--question small > span:last-child { display: inline-block; }
.bousai-phase2-materials__feature p > .bousai-type-phrase { background: none; }
.bousai-type-sentence,
.bousai-qualification-description > .bousai-type-sentence { display: block; text-wrap: balance; }
.bousai-phase1-flow__copy p .bousai-type-phrase,
.bousai-phase2-curriculum__month-heading h3 .bousai-type-phrase {
  display: inline-block;
  color: inherit;
  font: inherit;
}
.bousai-phase1-scenario__situation,
.bousai-phase1-closing,
.bousai-phase1-problem__copy p,
.bousai-phase1-transformation__panel h3,
.bousai-phase2-curriculum__domain-copy > p:last-child,
.bousai-phase2-curriculum__domain-copy h4,
.bousai-phase2-materials__feature p,
.bousai-phase2-supervisor__credentials li,
.bousai-qualification-description,
.bousai-pricing-common-note,
.bousai-course-details-lead,
.bousai-payment-methods-guide,
.bousai-payment-methods-lead,
.bousai-faq-list summary,
.bousai-faq-list details p { text-wrap: balance; }
.bousai-phase2-curriculum__month-heading > p > span { flex-shrink: 0; white-space: nowrap; }

@media (min-width: 87.5rem) {
  .bousai-phase2-materials__feature { padding-inline: 0.65rem; }
  .bousai-phase2-curriculum__month-heading { padding-inline: 1.25rem; }
  .bousai-phase2-curriculum__domain-copy { padding-inline: 1.5rem; }
}

@media (min-width: 64rem) and (max-width: 74.999rem) {
  .bousai-phase1-scenario__title-line { display: block; }
  .bousai-phase1-scenario__title-line + .bousai-phase1-scenario__title-line { margin-left: 0; }
}

@media (max-width: 47.999rem) {
  .bousai-type-sentence-sp { display: block; text-wrap: balance; }
  .bousai-phase1-problem h2 { font-size: clamp(2.25rem, 9.8vw, 2.6rem); }
  .bousai-phase2-curriculum__heading h2 { font-size: clamp(1.2rem, 5.35vw, 1.35rem); }
  .bousai-phase1-transformation__heading > p { max-width: none; padding-inline: 0; font-size: 1.375rem; }
  .bousai-phase1-transformation__panel h3 { left: 0.75rem; width: calc(100% - 1.5rem); font-size: 1.1875rem; line-height: 1.6; }
  .bousai-phase2-curriculum__month-heading { grid-template-columns: 6rem minmax(0, 1fr); gap: 0.75rem; padding-inline: 1rem; }
  .bousai-phase2-curriculum__month-heading h3 { padding-left: 0.75rem; }
  .bousai-phase2-curriculum__domain-copy { padding-inline: 0.75rem; }
  .bousai-phase2-materials__feature p span { display: inline-block; white-space: normal; text-wrap: balance; }
  .bousai-payment-methods-link { padding-inline: 0.75rem; }
}

@media (max-width: 20.5rem) {
  .bousai-hero-price { column-gap: 0.75rem; }
  .bousai-phase1-cause--situation header p { gap: 0.2rem; }
  .bousai-phase1-scenario__heading h2 { font-size: 1.85rem; }
  .bousai-phase1-problem h2 { font-size: 2rem; }
  .bousai-phase2-curriculum__heading h2 { font-size: 1.05rem; }
  .bousai-phase2-curriculum__month-heading { grid-template-columns: 5.5rem minmax(0, 1fr); gap: 0.5rem; padding-inline: 0.75rem; }
  .bousai-phase1-flow__copy p { font-size: 0.8rem; letter-spacing: -0.015em; }
  .bousai-phase2-curriculum__domain-copy { padding-inline: 0.625rem; }
}

/* SP first screen: keep the inline application/request pair reachable and legible.
   Height queries only compact the FV; the document remains normally scrollable. */
@media (max-width: 47.999rem) {
  .bousai-hero-grid { padding-block: 0.5rem 1rem; }
  .bousai-hero-primary-copy { margin-bottom: 0.5rem; line-height: 1.3; }
  .bousai-hero h1.bousai-course-name { margin-bottom: 0.5rem; }
  .bousai-hero-price { row-gap: 0.125rem; padding-block: 0.375rem; }
  .bousai-hero-price-course { margin-bottom: 0; line-height: 1.5; }
  .bousai-hero-actions { margin-top: 1rem; }
  .bousai-hero-actions.bousai-cta-pair--apply-request .bousai-cta-card {
    min-height: 3.75rem;
    padding-block: 0.875rem 0.5rem;
  }
  .bousai-hero-actions .bousai-cta-card small { line-height: 1.4; }
}

@media (max-width: 47.999rem) and (max-height: 52rem) {
  :root { --ccj-common-header-height: 4rem; }
  .l-header__bottom { height: 3.375rem; }
  .bousai-hero-primary-copy { gap: 0.125rem; }
  .bousai-hero-visual--sp {
    height: clamp(12rem, calc(100svh - 28.5rem), 18rem);
  }
  .bousai-hero-visual--sp .bousai-hero-image { object-position: center 30%; }
}

@media (max-width: 22.4375rem) and (max-height: 37.5rem) {
  .bousai-hero-grid { padding-top: 0.25rem; }
  .bousai-hero-primary-copy { margin-bottom: 0.25rem; }
  .bousai-hero h1.bousai-course-name { margin-bottom: 0.25rem; line-height: 1.04; }
  .bousai-hero-visual--sp { height: 10.5rem; margin-bottom: 0.25rem; }
  .bousai-hero-price { padding-block: 0.25rem; }
  .bousai-hero-actions { margin-top: 0.5rem; }
}

@media (max-width: 21.25rem) {
  .l-headerBottomContainer { gap: 0.375rem; padding-inline: 0.75rem; }
  .l-headerLogo { width: 35vw; }
  .l-headerRight { flex-shrink: 0; gap: 0.375rem; }
  .l-headerMenuButton { flex-shrink: 0; }
}

/* Curriculum copy expansion: keep the four steps readable at every layout. */
@media (min-width: 87.5rem) {
  .bousai-phase2-curriculum__month { grid-template-columns: 20rem repeat(2, minmax(0, 1fr)); }
  .bousai-phase2-curriculum__month-heading h3 { font-size: 1.125rem; }
}

@media (min-width: 48rem) and (max-width: 87.499rem) {
  .bousai-phase2-curriculum__month-heading h3 { font-size: 1.125rem; }
}

@media (max-width: 47.999rem) {
  .bousai-phase2-curriculum__month-heading {
    grid-template-columns: 4rem minmax(0, 1fr);
    gap: 0.5rem;
    padding-inline: 0.75rem;
  }
  .bousai-phase2-curriculum__month-heading h3 {
    padding-left: 0.625rem;
    font-size: clamp(0.875rem, 4vw, 0.95rem);
  }
}

@media (max-width: 20.5rem) {
  .bousai-phase2-curriculum__month-heading { grid-template-columns: 3.5rem minmax(0, 1fr); }
  .bousai-phase2-curriculum__month-heading > p { flex-direction: column; align-items: center; }
  .bousai-phase2-curriculum__month-heading strong { font-size: 3rem; }
  .bousai-phase2-curriculum__month-heading span { font-size: 0.9rem; }
  .bousai-phase2-curriculum__month-heading h3 {
    font-size: 0.8125rem;
    letter-spacing: -0.015em;
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
}

.c-pageTop {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease, visibility 0.2s ease;
}

.c-pageTop.is-visible {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}
