/* ====================================================================================
   Extracted Utility Classes
==================================================================================== */

/* Generated from former HTML style attributes. Keep these utilities in sync with markup refactors. */
/* 55x: display: none; visibility: hidden */
.ex-hidden-gtm-frame {
    display: none !important;
    visibility: hidden !important;
}

/* 29x: text-align: left */
.ex-text-left {
    text-align: left !important;
}

/* 27x: padding: 80px 0 */
.ex-section-pad-y-80 {
    padding: clamp(48px, 6vw, 64px) 0 !important;
}

/* 21x: font-weight: 700; color: #4a8d84 */
.ex-text-strong-deep-teal {
    font-weight: 700 !important;
    color: #3e756d !important;
}

/* 20x: padding: 80px 0; background: #FAF8F5 */
.ex-section-pad-y-80-warm {
    padding: clamp(56px, 7vw, 72px) 0 !important;
    background: #FAF8F5 !important;
}

/* 14x: padding-top: 6px */
.ex-flow-copy-offset {
    padding-top: 6px !important;
}

/* 14x: font-size: 17px; font-weight: 500; margin-bottom: 6px */
.ex-flow-step-title {
    text-align: left !important;
    font-size: 17px !important;
    font-weight: 500 !important;
    margin-bottom: 6px !important;
}

/* 14x: font-size: 15px; line-height: 1.7; color: #666 */
.ex-flow-step-copy {
    font-size: 15px !important;
    line-height: 1.7 !important;
    color: #666 !important;
}

/* 11x: display: flex; gap: 24px; margin-bottom: 20px; align-items: flex-start */
.ex-flow-step-row {
    display: flex !important;
    gap: 24px !important;
    margin-bottom: 20px !important;
    align-items: flex-start !important;
}

/* 10x: line-height: 1.9; font-size: 16px; margin-bottom: 30px */
.ex-body-lead-mb30 {
    line-height: 1.9 !important;
    font-size: 16px !important;
    margin-bottom: 30px !important;
}

/* 9x: line-height: 1.9; font-size: 16px; margin-bottom: 40px */
.ex-body-lead-mb40 {
    line-height: 1.9 !important;
    font-size: 16px !important;
    margin-bottom: 40px !important;
}

/* 9x: padding: 0 0 96px */
.ex-related-section-pad {
    padding: 0 0 96px !important;
}

/* 9x: color: inherit; text-decoration: underline */
.ex-link-underline-inherit {
    color: inherit !important;
    text-decoration: underline !important;
}

/* 8x: width: 44px; height: 44px; background: #87c1b9; border-radius: 50%; color: #fff; font-size: 18px; font-weight: 700; display: flex; align-items: center; justify-content: center; flex-shrink: 0 */
.ex-step-badge-teal-lg {
    width: 44px !important;
    height: 44px !important;
    background: var(--color-cta-teal-dark) !important;
    border-radius: 50% !important;
    color: #fff !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
}

/* 8x: width: 2px; height: 24px; background: #ddd; margin-left: 21px; margin-bottom: 12px */
.ex-step-divider-lg {
    width: 2px !important;
    height: 24px !important;
    background: #ddd !important;
    margin-left: 21px !important;
    margin-bottom: 12px !important;
}

/* 8x: font-size: 15px; line-height: 1.8 */
.ex-body-15-lh18 {
    font-size: 15px !important;
    line-height: 1.8 !important;
}

/* 8x: color: #3e756d; font-weight: 700 */
.ex-link-strong-deep-teal {
    color: #3e756d !important;
    font-weight: 700 !important;
}

/* 8x: font-size: 26px; font-weight: 500; padding-bottom: 15px; border-bottom: 2px solid #87c1b9; margin-bottom: 30px */
.ex-heading-underline-teal-lg {
    font-size: 26px !important;
    font-weight: 500 !important;
    padding-bottom: 15px !important;
    border-bottom: 2px solid #87c1b9 !important;
    margin-bottom: 30px !important;
}

/* 7x: background: #f0f8f7; border-left: 4px solid #4a8d84; padding: 20px 24px; border-radius: 0 10px 10px 0; margin: 24px 0 */
.ex-callout-deep-teal {
    background: #f0f8f7 !important;
    border-left: 4px solid #4a8d84 !important;
    padding: 20px 24px !important;
    border-radius: 0 10px 10px 0 !important;
    margin: 24px 0 !important;
}

/* 7x: font-weight: 700; color: #3e756d; margin-bottom: 12px */
.ex-callout-title-deep-teal {
    font-weight: 700 !important;
    color: #3e756d !important;
    margin-bottom: 12px !important;
}

/* 7x: padding-left: 1.2em; line-height: 2.2 */
.ex-list-roomy {
    padding-left: 1.2em !important;
    line-height: 1.95 !important;
}

/* 7x: font-size: 13px; color: #666; margin-top: 8px */
.ex-note-small-muted {
    font-size: 13px !important;
    color: #666 !important;
    margin-top: 8px !important;
}

/* 7x: font-size: 14px; line-height: 1.7; color: #666 */
.ex-caption-muted {
    font-size: 14px !important;
    line-height: 1.7 !important;
    color: #666 !important;
}

/* 6x: padding: 24px; background: #f0f8f7; border-radius: 8px */
.ex-card-mint-soft {
    padding: 24px !important;
    background: #f0f8f7 !important;
    border-radius: 8px !important;
}

/* 6x: font-size: 15px; line-height: 1.7 */
.ex-body-15-lh17 {
    font-size: 15px !important;
    line-height: 1.7 !important;
}

/* ex-heading-underline-teal-lg に統合済み(旧: ex-heading-underline-teal-compact) */

/* 5x: display: block; padding: 18px 30px; background: #fff; border: 2px solid #87c1b9; color: #666; border-radius: 8px; font-family: 'Noto Sans JP',sans-serif; font-size: 16px; transition: all .3s */
.ex-outline-link-teal-muted {
    display: block !important;
    padding: 18px 30px !important;
    background: #fff !important;
    border: 2px solid #87c1b9 !important;
    color: #666 !important;
    border-radius: 8px !important;
    font-family: 'Noto Sans JP',sans-serif !important;
    font-size: 16px !important;
    transition: all .3s !important;
}

/* 4x: font-weight: 500; color: #3e756d; margin-bottom: 10px; font-size: 17px */
.ex-subheading-teal {
    font-weight: 500 !important;
    color: #3e756d !important;
    margin-bottom: 10px !important;
    font-size: 17px !important;
}

/* 4x: font-size: 14px; color: #6f6f6f; margin-left: 12px */
.ex-heading-note-inline {
    font-size: 14px !important;
    color: #6f6f6f !important;
    margin-left: 12px !important;
}

/* 4x: line-height: 1.9; font-size: 16px */
.ex-body-lead {
    line-height: 1.9 !important;
    font-size: 16px !important;
}

/* 4x: font-size: 20px; font-weight: 500; margin-bottom: 25px */
.ex-heading-small-mb25 {
    font-size: 20px !important;
    font-weight: 500 !important;
    margin-bottom: 25px !important;
}

/* 4x: display: flex; flex-wrap: wrap; gap: 12px */
.ex-link-chip-row {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
}

/* 4x: padding: 18px 20px; background: #fff; border-radius: 8px; border-left: 4px solid #9cb87a; font-size: 15px; line-height: 1.7 */
.ex-panel-kisotsu-left {
    padding: 18px 20px !important;
    background: #fff !important;
    border-radius: 8px !important;
    border-left: 4px solid #9cb87a !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
}

/* 4x: padding: 18px 20px; background: #fff; border-radius: 8px; border-left: 4px solid #a396d1; font-size: 15px; line-height: 1.7 */
.ex-panel-kounin-left {
    padding: 18px 20px !important;
    background: #fff !important;
    border-radius: 8px !important;
    border-left: 4px solid #a396d1 !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
}

/* 4x: flex: 1; min-width: 200px; max-width: 220px; background: #f0f8f7; border-radius: 10px; padding: 24px 20px; text-align: center */
.ex-course-summary-card {
    flex: 1 !important;
    min-width: 200px !important;
    max-width: 220px !important;
    background: #f0f8f7 !important;
    border-radius: 10px !important;
    padding: 24px 20px !important;
    text-align: center !important;
}

/* 4x: font-family: 'Zen Maru Gothic',sans-serif; font-size: 18px; font-weight: 700; color: #37796d; margin-bottom: 10px */
.ex-course-summary-title-honka {
    font-family: 'Zen Maru Gothic',sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #37796d !important;
    margin-bottom: 10px !important;
}

/* 4x: font-family: 'Noto Sans JP',sans-serif; font-size: 14px; color: #555; line-height: 1.7 */
.ex-course-summary-copy-sm {
    font-family: 'Noto Sans JP',sans-serif !important;
    font-size: 14px !important;
    color: #555 !important;
    line-height: 1.7 !important;
}

/* 4x: color: inherit; text-decoration: none */
.ex-link-inherit-plain {
    color: inherit !important;
    text-decoration: none !important;
}

/* 4x: font-family: 'Noto Sans JP',sans-serif; font-size: 13px; color: #6f6f6f; margin-bottom: 10px */
.ex-course-card-label {
    font-family: 'Noto Sans JP',sans-serif !important;
    font-size: 13px !important;
    color: #6f6f6f !important;
    margin-bottom: 10px !important;
}

/* 4x: font-family: 'Noto Sans JP',sans-serif; font-size: 15px; color: #555; line-height: 1.7 */
.ex-course-card-copy {
    font-family: 'Noto Sans JP',sans-serif !important;
    font-size: 15px !important;
    color: #555 !important;
    line-height: 1.7 !important;
}

/* 4x: padding: 60px 0 80px */
.ex-section-pad-60-80 {
    padding: 60px 0 80px !important;
}

/* 4x: text-align: left; font-size: 26px; padding-bottom: 15px; border-bottom: 2px solid #87c1b9; margin-bottom: 30px; margin-top: 60px */
.ex-faq-heading-spaced {
    text-align: left !important;
    font-size: 26px !important;
    padding-bottom: 15px !important;
    border-bottom: 2px solid #87c1b9 !important;
    margin-bottom: 30px !important;
    margin-top: 60px !important;
}

/* 4x: color: #87c1b9 */
.ex-link-teal {
    color: #3e756d !important;
}

/* 4x: line-height: 2.0; font-size: 16px; margin-bottom: 20px */
.ex-body-roomy-mb20 {
    line-height: 1.9 !important;
    font-size: 16px !important;
    margin-bottom: 20px !important;
}

/* 4x: padding: 24px; background: #fff; border-radius: 8px; border-left: 4px solid #87c1b9 */
.ex-panel-white-teal-left {
    padding: 24px !important;
    background: #fff !important;
    border-radius: 8px !important;
    border-left: 4px solid #87c1b9 !important;
}

/* 4x: font-weight: 500; margin-bottom: 8px */
.ex-label-medium-mb8 {
    font-weight: 500 !important;
    margin-bottom: 8px !important;
}

/* 4x: padding: 20px; background: #fff; border-radius: 8px; text-align: center */
.ex-card-white-center {
    padding: 20px !important;
    background: #fff !important;
    border-radius: 8px !important;
    text-align: center !important;
}

/* 4x: font-weight: 500; font-size: 15px */
.ex-card-label-medium {
    font-weight: 500 !important;
    font-size: 15px !important;
}

/* 3x: display: flex; gap: 24px; align-items: flex-start */
.ex-flow-step-row-last {
    display: flex !important;
    gap: 24px !important;
    align-items: flex-start !important;
}

/* 3x: border-bottom: 1px solid #ddd */
.ex-divider-bottom {
    border-bottom: 1px solid #ddd !important;
}

/* 3x: padding: 20px 0; cursor: pointer; display: flex; justify-content: space-between; align-items: center */
.ex-accordion-trigger-row {
    padding: 20px 0 !important;
    cursor: pointer !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
}

/* 3x: font-size: 16px; font-weight: 500 */
.ex-accordion-title {
    font-size: 16px !important;
    font-weight: 500 !important;
}

/* 3x: font-size: 20px; color: #3e756d; flex-shrink: 0; margin-left: 16px */
.ex-accordion-icon {
    font-size: 20px !important;
    color: #3e756d !important;
    flex-shrink: 0 !important;
    margin-left: 16px !important;
}

/* 3x: display: none; padding-bottom: 20px */
.ex-accordion-body-collapsed {
    display: none;
    padding-bottom: 20px !important;
}

/* 3x: font-size: 15px; line-height: 1.8; color: #666 */
.ex-accordion-copy {
    font-size: 15px !important;
    line-height: 1.8 !important;
    color: #666 !important;
}

/* 3x: display: block; padding: 25px 35px; background: #fff; border: 2px solid #87c1b9; color: #666; border-radius: 8px; font-family: 'Noto Sans JP',sans-serif; font-size: 17px; text-align: center; transition: all .3s; min-width: 200px */
.ex-outline-link-teal-center {
    display: block !important;
    padding: 25px 35px !important;
    background: #fff !important;
    border: 2px solid #87c1b9 !important;
    color: #666 !important;
    border-radius: 8px !important;
    font-family: 'Noto Sans JP',sans-serif !important;
    font-size: 17px !important;
    text-align: center !important;
    transition: all .3s !important;
    min-width: 200px !important;
}

/* 3x: font-size: 12px; color: #6f6f6f; margin-bottom: 4px */
.ex-flow-caption-small {
    font-size: 12px !important;
    color: #6f6f6f !important;
    margin-bottom: 4px !important;
}

/* 3x: background: #fff8f6; border-left: 4px solid #f9a08c; padding: 20px 25px; border-radius: 0 8px 8px 0; margin-bottom: 30px */
.ex-callout-coral-mb30 {
    background: #fff8f6 !important;
    border-left: 4px solid #f9a08c !important;
    padding: 20px 25px !important;
    border-radius: 0 8px 8px 0 !important;
    margin-bottom: 30px !important;
}

/* 3x: padding: 10px 20px; background: #fff; border: 1px solid #5aab9e; border-radius: 4px; color: #37796d; text-decoration: none; font-size: 14px */
.ex-chip-honka {
    padding: 10px 20px !important;
    background: #fff !important;
    border: 1px solid #5aab9e !important;
    border-radius: 4px !important;
    color: #37796d !important;
    text-decoration: none !important;
    font-size: 14px !important;
}

/* 3x: padding: 10px 20px; background: #fff; border: 1px solid #76a7d1; border-radius: 4px; color: #3f6e99; text-decoration: none; font-size: 14px */
.ex-chip-junbi {
    padding: 10px 20px !important;
    background: #fff !important;
    border: 1px solid #76a7d1 !important;
    border-radius: 4px !important;
    color: #3f6e99 !important;
    text-decoration: none !important;
    font-size: 14px !important;
}

/* 3x: padding: 10px 20px; background: #fff; border: 1px solid #9cb87a; border-radius: 4px; color: #5d7a35; text-decoration: none; font-size: 14px */
.ex-chip-kisotsu {
    padding: 10px 20px !important;
    background: #fff !important;
    border: 1px solid #9cb87a !important;
    border-radius: 4px !important;
    color: #5d7a35 !important;
    text-decoration: none !important;
    font-size: 14px !important;
}

/* 3x: padding: 10px 20px; background: #fff; border: 1px solid #a396d1; border-radius: 4px; color: #6656a5; text-decoration: none; font-size: 14px */
.ex-chip-kounin {
    padding: 10px 20px !important;
    background: #fff !important;
    border: 1px solid #a396d1 !important;
    border-radius: 4px !important;
    color: #6656a5 !important;
    text-decoration: none !important;
    font-size: 14px !important;
}

/* 3x: line-height: 2.2; font-size: 16px; margin-bottom: 30px */
.ex-body-extra-roomy-mb30 {
    line-height: 1.95 !important;
    font-size: 16px !important;
    margin-bottom: 30px !important;
}

/* 3x: padding: 24px; background: #fff; border-radius: 8px; text-align: center */
.ex-card-white-center-pad24 {
    padding: 24px !important;
    background: #fff !important;
    border-radius: 8px !important;
    text-align: center !important;
}

/* 3x: font-size: 17px; font-weight: 500; margin-bottom: 8px */
.ex-card-title-medium {
    font-size: 17px !important;
    font-weight: 500 !important;
    margin-bottom: 8px !important;
}

/* 3x: width: 44px; height: 44px; background: #87c1b9; border-radius: 50%; color: #fff; font-size: 16px; font-weight: 700; display: flex; align-items: center; justify-content: center; flex-shrink: 0 */
.ex-step-badge-teal-sm {
    width: 44px !important;
    height: 44px !important;
    background: var(--color-cta-teal-dark) !important;
    border-radius: 50% !important;
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
}

/* 3x: width: 2px; height: 20px; background: #ddd; margin-left: 21px; margin-bottom: 12px */
.ex-step-divider-sm {
    width: 2px !important;
    height: 20px !important;
    background: #ddd !important;
    margin-left: 21px !important;
    margin-bottom: 12px !important;
}

/* 3x: font-size: 14px; display: flex; align-items: center; gap: 6px */
.ex-inline-icon-text {
    font-size: 14px !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
}

/* 2x: width: 44px; height: 44px; background: #f9a08c; border-radius: 50%; color: #fff; font-size: 18px; font-weight: 700; display: flex; align-items: center; justify-content: center; flex-shrink: 0 */
.ex-step-badge-coral-lg {
    width: 44px !important;
    height: 44px !important;
    background: #f9a08c !important;
    border-radius: 50% !important;
    color: #fff !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
}

/* 2x: font-weight: 500; color: #3e756d; margin-bottom: 10px; font-size: 18px */
.ex-subheading-teal-lg {
    font-weight: 500 !important;
    color: #3e756d !important;
    margin-bottom: 10px !important;
    font-size: 18px !important;
}

/* 2x: background: #fff8f6; border-left: 4px solid #f9a08c; padding: 20px 25px; border-radius: 0 8px 8px 0 */
.ex-callout-coral {
    background: #fff8f6 !important;
    border-left: 4px solid #f9a08c !important;
    padding: 20px 25px !important;
    border-radius: 0 8px 8px 0 !important;
}

/* 2x: color: #5aab9e */
.ex-text-honka {
    color: #37796d !important;
}

/* 2x: font-size: 11px; color: #c53030; margin-top: -2px; margin-bottom: 4px; font-weight: bold */
.ex-alert-mini {
    font-size: 11px !important;
    color: #c53030 !important;
    margin-top: -2px !important;
    margin-bottom: 4px !important;
    font-weight: bold !important;
}

/* 2x: display: block; font-size: 13px; color: #c53030; margin-top: 4px */
.ex-alert-block-small {
    display: block !important;
    font-size: 13px !important;
    color: #c53030 !important;
    margin-top: 4px !important;
}

/* 2x: padding: 40px 0 80px; background: #FAF8F5 */
.ex-section-pad-40-80-warm {
    padding: 40px 0 80px !important;
    background: #FAF8F5 !important;
}

/* 2x: list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px */
.ex-card-grid-260 {
    list-style: none !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
    gap: 16px !important;
}

/* 2x: padding: 40px 0 80px */
.ex-section-pad-40-80 {
    padding: 40px 0 clamp(56px, 7vw, 72px) !important;
}

/* 2x: padding: 80px 0; background: #fff */
.ex-section-pad-y-80-white {
    padding: clamp(56px, 7vw, 72px) 0 !important;
    background: #fff !important;
}

/* 2x: text-align: center; font-family: 'Zen Maru Gothic',sans-serif; font-size: 26px; color: #333; margin-bottom: 24px */
.ex-heading-center-zen-mb24 {
    text-align: center !important;
    font-family: 'Zen Maru Gothic',sans-serif !important;
    font-size: 26px !important;
    color: #333 !important;
    margin-bottom: 24px !important;
}

/* 2x: padding: 60px 0 80px; background: #FAF8F5 */
.ex-section-pad-60-80-warm {
    padding: 60px 0 80px !important;
    background: #FAF8F5 !important;
}

/* 2x: text-align: center; font-family: 'Zen Maru Gothic',sans-serif; font-size: 26px; color: #333; margin-bottom: 10px */
.ex-heading-center-zen-mb30 {
    text-align: center !important;
    font-family: 'Zen Maru Gothic',sans-serif !important;
    font-size: 26px !important;
    color: #333 !important;
    margin-bottom: 10px !important;
}

/* 2x: display: flex; flex-wrap: wrap; gap: 15px; justify-content: center; margin-top: 20px */
.ex-list-grid-260 {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 15px !important;
    justify-content: center !important;
    margin-top: 20px !important;
}

/* 2x: font-size: 26px; font-weight: 500; padding-bottom: 15px; border-bottom: 2px solid #87c1b9; margin-bottom: 40px */
.ex-outline-link-junbi-muted {
    font-size: 26px !important;
    font-weight: 500 !important;
    padding-bottom: 15px !important;
    border-bottom: 2px solid #87c1b9 !important;
    margin-bottom: 40px !important;
}

/* 2x: line-height: 2.0; font-size: 16px */
.ex-outline-link-kisotsu-muted {
    line-height: 1.9 !important;
    font-size: 16px !important;
}

/* 2x: font-weight: 500; white-space: nowrap */
.ex-outline-link-kounin-muted {
    font-weight: 500 !important;
    white-space: nowrap !important;
}

/* 2x: line-height: 1.95; font-size: 16px; margin-bottom: 24px */
.ex-section-pad-y-60 {
    line-height: 1.95 !important;
    font-size: 16px !important;
    margin-bottom: 24px !important;
}

/* 2x: padding: 28px; background: #fff; border-radius: 8px; border-left: 4px solid #87c1b9 */
.ex-table-scroll {
    padding: 28px !important;
    background: #fff !important;
    border-radius: 8px !important;
    border-left: 4px solid #87c1b9 !important;
}

/* 2x: font-size: 15px; line-height: 1.9; margin-bottom: 16px; color: #555 */
.ex-table-full-collapse {
    font-size: 15px !important;
    line-height: 1.9 !important;
    margin-bottom: 16px !important;
    color: #555 !important;
}

/* 2x: font-size: 13px; color: #3e756d; font-weight: 500 */
.ex-table-head-teal {
    font-size: 13px !important;
    color: #3e756d !important;
    font-weight: 500 !important;
}

/* 1x: padding-left: 1.5em; line-height: 2.2; font-size: 16px; max-width: 700px; margin-bottom: 40px */
.ex-list-check-teal {
    padding-left: 1.5em !important;
    line-height: 1.95 !important;
    font-size: 16px !important;
    max-width: 700px !important;
    margin-bottom: 40px !important;
}

/* 1x: background: #fff8f6; border-left: 4px solid #f9a08c; padding: 20px 25px; border-radius: 0 8px 8px 0; margin-bottom: 40px */
.ex-note-panel-coral {
    background: #fff8f6 !important;
    border-left: 4px solid #f9a08c !important;
    padding: 20px 25px !important;
    border-radius: 0 8px 8px 0 !important;
    margin-bottom: 40px !important;
}

/* 1x: background: #f0f8f7; padding: 20px 25px; border-radius: 8px; margin-bottom: 40px */
.ex-section-pad-bottom-80 {
    background: #f0f8f7 !important;
    padding: 20px 25px !important;
    border-radius: 8px !important;
    margin-bottom: 40px !important;
}

/* 1x: display: flex; gap: 24px; align-items: stretch; flex-wrap: wrap; margin-bottom: 40px */
.ex-heading-center-zen-mb40 {
    display: flex !important;
    gap: 24px !important;
    align-items: stretch !important;
    flex-wrap: wrap !important;
    margin-bottom: 40px !important;
}

/* 1x: width: 100%; max-width: 800px; flex: 1 1 520px */
.ex-image-card {
    width: 100% !important;
    max-width: 800px !important;
    flex: 1 1 520px !important;
}

/* 1x: flex: 1 1 280px; min-width: 240px */
.ex-image-caption {
    flex: 1 1 280px !important;
    min-width: 240px !important;
}

/* 1x: width: 100%; height: auto; display: block; border-radius: 8px; object-fit: cover */
.ex-image-fluid-rounded {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    border-radius: 8px !important;
    object-fit: cover !important;
}

/* 1x: display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-bottom: 40px */
.ex-grid-four-mb40 {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 20px !important;
    margin-bottom: 40px !important;
}

@media screen and (max-width: 1100px) {
    .ex-grid-four-mb40 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* 1x: line-height: 1.9; font-size: 16px; max-width: 900px; margin-bottom: 40px */
.ex-body-wide-mb40 {
    line-height: 1.9 !important;
    font-size: 16px !important;
    max-width: 900px !important;
    margin-bottom: 40px !important;
}

/* 1x: display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; margin-bottom: 40px */
.ex-grid-auto-280-mb40 {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
    gap: 20px !important;
    margin-bottom: 40px !important;
}

/* 1x: margin-top: 40px */
.ex-margin-top-40 {
    margin-top: 40px !important;
}

/* 1x: padding: 0 0 80px; background: #FAF8F5 */
.ex-section-pad-bottom-80-warm {
    padding: 0 0 80px !important;
    background: #FAF8F5 !important;
}

/* 1x: padding-top: 60px */
.ex-padding-top-60 {
    padding-top: 60px !important;
}

/* 1x: display: flex; flex-wrap: wrap; gap: 15px; justify-content: center */
.ex-chip-row-center {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 15px !important;
    justify-content: center !important;
}

/* 1x: padding: 0 0 80px */
.ex-section-pad-bottom-80-2 {
    padding: 0 0 80px !important;
}

/* 1x: font-size: 22px; font-weight: 500; text-align: center; margin-bottom: 40px; font-family: 'Zen Maru Gothic',sans-serif; color: #333 */
.ex-flowchart-heading {
    font-size: 22px !important;
    font-weight: 500 !important;
    text-align: center !important;
    margin-bottom: 40px !important;
    font-family: 'Zen Maru Gothic',sans-serif !important;
    color: #333 !important;
}

/* 1x: border-color: #5aab9e; background: #f0f8f7 */
.ex-flow-box-honka-soft {
    border-color: #5aab9e !important;
    background: #f0f8f7 !important;
}

/* 1x: font-size: 14px; color: #6f6f6f; padding: 16px 0 4px */
.ex-flow-arrow-label {
    font-size: 14px !important;
    color: #6f6f6f !important;
    padding: 16px 0 4px !important;
}

/* 1x: display: block; color: #37796d; font-size: 24px; margin-bottom: 4px */
.ex-flow-arrow-down-honka {
    display: block !important;
    color: #37796d !important;
    font-size: 24px !important;
    margin-bottom: 4px !important;
}

/* 1x: left: calc(100% / 6); right: calc(100% / 6) */
.ex-flow-line-horizontal {
    left: calc(100% / 6) !important;
    right: calc(100% / 6) !important;
}

/* 1x: left: calc(100% / 6) */
.ex-flow-drop-left {
    left: calc(100% / 6) !important;
}

/* 1x: left: 50%; transform: translateX(-50%) */
.ex-flow-drop-center {
    left: 50% !important;
    transform: translateX(-50%) !important;
}

/* 1x: right: calc(100% / 6) */
.ex-flow-drop-right {
    right: calc(100% / 6) !important;
}

/* 1x: border-color: #5aab9e */
.ex-flow-box-border-honka {
    border-color: #5aab9e !important;
}

/* 1x: border-color: #e8b830 */
.ex-flow-box-border-gold {
    border-color: #e8b830 !important;
}

/* 1x: color: #e8b830 */
.ex-text-gold {
    color: #8a6d0b !important;
}

/* 1x: border-color: #f9a08c */
.ex-flow-box-border-coral {
    border-color: #f9a08c !important;
}

/* 1x: color: #f9a08c */
.ex-text-coral {
    color: #a8503c !important;
}

/* 1x: --heading-accent: #e8b830; color: #e8b830 */
.ex-heading-accent-gold {
    --heading-accent: #e8b830 !important;
    color: #8a6d0b !important;
}

/* 1x: --heading-accent: #f9a08c; color: #f9a08c */
.ex-heading-accent-coral {
    --heading-accent: #f9a08c !important;
    color: #a8503c !important;
}

/* 1x: font-family: 'Noto Sans JP',sans-serif; font-size: 16px; line-height: 1.8; color: #555; margin-bottom: 24px */
.ex-course-intro-copy {
    font-family: 'Noto Sans JP',sans-serif !important;
    font-size: 16px !important;
    line-height: 1.8 !important;
    color: #555 !important;
    margin-bottom: 24px !important;
}

/* 1x: display: flex; flex-wrap: wrap; gap: 20px; justify-content: center; margin-bottom: 40px */
.ex-course-summary-row {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 20px !important;
    justify-content: center !important;
    margin-bottom: 40px !important;
}

/* 1x: padding: 60px 0; background: #FAF8F5 */
.ex-section-pad-y-60-warm {
    padding: 60px 0 !important;
    background: #FAF8F5 !important;
}

/* ex-heading-center-zen-mb30 に統合済み(旧: ex-heading-center-zen-mb30-2) */

/* 1x: display: flex; flex-wrap: wrap; gap: 24px; justify-content: center */
.ex-course-card-row {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 24px !important;
    justify-content: center !important;
}

/* 1x: flex: 1; min-width: 260px; max-width: 340px; background: #fff; border-radius: 10px; padding: 28px 24px; border-top: 4px solid #5aab9e */
.ex-course-card-honka {
    flex: 1 !important;
    min-width: 260px !important;
    max-width: 340px !important;
    background: #fff !important;
    border-radius: 10px !important;
    padding: 28px 24px !important;
    border-top: 4px solid #5aab9e !important;
}

/* 1x: font-family: 'Zen Maru Gothic',sans-serif; font-size: 18px; color: #37796d; margin-bottom: 12px */
.ex-course-card-title-honka {
    text-align: left !important;
    font-family: 'Zen Maru Gothic',sans-serif !important;
    font-size: 18px !important;
    color: #37796d !important;
    margin-bottom: 12px !important;
}

/* 1x: flex: 1; min-width: 260px; max-width: 340px; background: #fff; border-radius: 10px; padding: 28px 24px; border-top: 4px solid #76a7d1 */
.ex-course-card-junbi {
    flex: 1 !important;
    min-width: 260px !important;
    max-width: 340px !important;
    background: #fff !important;
    border-radius: 10px !important;
    padding: 28px 24px !important;
    border-top: 4px solid #76a7d1 !important;
}

/* 1x: font-family: 'Zen Maru Gothic',sans-serif; font-size: 18px; color: #3f6e99; margin-bottom: 12px */
.ex-course-card-title-junbi {
    text-align: left !important;
    font-family: 'Zen Maru Gothic',sans-serif !important;
    font-size: 18px !important;
    color: #3f6e99 !important;
    margin-bottom: 12px !important;
}

/* 1x: flex: 1; min-width: 260px; max-width: 340px; background: #fff; border-radius: 10px; padding: 28px 24px; border-top: 4px solid #a396d1 */
.ex-course-card-kounin {
    flex: 1 !important;
    min-width: 260px !important;
    max-width: 340px !important;
    background: #fff !important;
    border-radius: 10px !important;
    padding: 28px 24px !important;
    border-top: 4px solid #a396d1 !important;
}

/* 1x: font-family: 'Zen Maru Gothic',sans-serif; font-size: 18px; color: #6656a5; margin-bottom: 12px */
.ex-course-card-title-kounin {
    text-align: left !important;
    font-family: 'Zen Maru Gothic',sans-serif !important;
    font-size: 18px !important;
    color: #6656a5 !important;
    margin-bottom: 12px !important;
}

/* 1x: flex: 1; min-width: 260px; max-width: 340px; background: #fff; border-radius: 10px; padding: 28px 24px; border-top: 4px solid #9cb87a */
.ex-course-card-kisotsu {
    flex: 1 !important;
    min-width: 260px !important;
    max-width: 340px !important;
    background: #fff !important;
    border-radius: 10px !important;
    padding: 28px 24px !important;
    border-top: 4px solid #9cb87a !important;
}

/* 1x: font-family: 'Zen Maru Gothic',sans-serif; font-size: 18px; color: #5d7a35; margin-bottom: 12px */
.ex-course-card-title-kisotsu {
    text-align: left !important;
    font-family: 'Zen Maru Gothic',sans-serif !important;
    font-size: 18px !important;
    color: #5d7a35 !important;
    margin-bottom: 12px !important;
}

/* 1x: display: block; padding: 18px 30px; background: #fff; border: 2px solid #5aab9e; color: #37796d; border-radius: 8px; font-family: 'Noto Sans JP',sans-serif; font-size: 16px; font-weight: 700; transition: all .3s */
.ex-outline-link-honka-strong {
    display: block !important;
    padding: 18px 30px !important;
    background: #fff !important;
    border: 2px solid #5aab9e !important;
    color: #37796d !important;
    border-radius: 8px !important;
    font-family: 'Noto Sans JP',sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    transition: all .3s !important;
}

/* 1x: display: block; padding: 18px 30px; background: #fff; border: 2px solid #76a7d1; color: #3f6e99; border-radius: 8px; font-family: 'Noto Sans JP',sans-serif; font-size: 16px; font-weight: 700; transition: all .3s */
.ex-outline-link-junbi-strong {
    display: block !important;
    padding: 18px 30px !important;
    background: #fff !important;
    border: 2px solid #76a7d1 !important;
    color: #3f6e99 !important;
    border-radius: 8px !important;
    font-family: 'Noto Sans JP',sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    transition: all .3s !important;
}

/* 1x: display: block; padding: 18px 30px; background: #fff; border: 2px solid #a396d1; color: #6656a5; border-radius: 8px; font-family: 'Noto Sans JP',sans-serif; font-size: 16px; font-weight: 700; transition: all .3s */
.ex-outline-link-kounin-strong {
    display: block !important;
    padding: 18px 30px !important;
    background: #fff !important;
    border: 2px solid #a396d1 !important;
    color: #6656a5 !important;
    border-radius: 8px !important;
    font-family: 'Noto Sans JP',sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    transition: all .3s !important;
}

/* 1x: display: block; padding: 18px 30px; background: #fff; border: 2px solid #9cb87a; color: #5d7a35; border-radius: 8px; font-family: 'Noto Sans JP',sans-serif; font-size: 16px; font-weight: 700; transition: all .3s */
.ex-outline-link-kisotsu-strong {
    display: block !important;
    padding: 18px 30px !important;
    background: #fff !important;
    border: 2px solid #9cb87a !important;
    color: #5d7a35 !important;
    border-radius: 8px !important;
    font-family: 'Noto Sans JP',sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    transition: all .3s !important;
}

/* 1x: font-size: 24px; margin: 0 */
.ex-heading-24-tight {
    font-size: 24px !important;
    margin: 0 !important;
}

/* 1x: margin-bottom: 56px */
.ex-link-hub-spacer {
    margin-bottom: 24px !important;
}

/* ex-heading-underline-teal-lg に統合済み(旧: ex-heading-underline-teal) */

/* 1x: text-align: center */
.ex-text-center {
    text-align: center !important;
}

/* 1x: font-size: 30px; font-weight: 700; color: #333; line-height: 1.8; margin-bottom: 40px */
.ex-hero-message-large {
    font-size: 30px !important;
    font-weight: 700 !important;
    color: #333 !important;
    line-height: 1.8 !important;
    margin-bottom: 40px !important;
}

/* 1x: margin: 0 auto; text-align: left */
.ex-text-block-centered-left {
    margin: 0 auto !important;
    text-align: left !important;
}

/* 1x: line-height: 2.2; font-size: 16px */
.ex-body-extra-roomy {
    line-height: 1.95 !important;
    font-size: 16px !important;
}

/* 1x: font-size: 20px; color: #333; font-weight: 500; margin-top: 50px; line-height: 1.8 */
.ex-heading-message-sub {
    font-size: 20px !important;
    color: #333 !important;
    font-weight: 500 !important;
    margin-top: 50px !important;
    line-height: 1.8 !important;
}

/* 1x: padding: 80px 0; text-align: center */
.ex-section-pad-y-80-center {
    padding: clamp(56px, 7vw, 72px) 0 !important;
    text-align: center !important;
}

/* 1x: padding: 48px 0 0; background: #faf8f5; border-bottom: 1px solid #f0e8e3 */
.ex-hero-band-warm-gradient {
    padding: 48px 0 0 !important;
    background: #faf8f5 !important;
    border-bottom: 1px solid #f0e8e3 !important;
}

/* 1x: text-align: center; padding-bottom: 48px */
.ex-hero-title-wrap {
    text-align: center !important;
    padding-bottom: 48px !important;
}

/* 1x: font-size: clamp(14px,1.4vw,17px); font-weight: 700; letter-spacing: 0.12em; color: #a8503c; margin-bottom: 8px */
.ex-hero-eyebrow-rose {
    font-size: clamp(14px,1.4vw,17px) !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em !important;
    color: #a8503c !important;
    margin-bottom: 8px !important;
}

/* 1x: font-size: clamp(52px,7vw,96px); line-height: 1; color: #333; margin-bottom: 4px */
.ex-hero-number-large {
    font-size: clamp(52px,7vw,96px) !important;
    line-height: 1 !important;
    color: #333 !important;
    margin-bottom: 4px !important;
}

/* 1x: font-weight: 400 */
.ex-font-regular {
    font-weight: 400 !important;
}

/* 1x: font-weight: 900; color: #800a48 */
.ex-text-strong-wine {
    font-weight: 900 !important;
    color: #800a48 !important;
    /* main の overflow-wrap:anywhere が数字と%の間で改行してしまうため、
       "100%" のような数値表記は分割されないようにする */
    white-space: nowrap !important;
}

/* 1x: font-size: 0.55em */
.ex-font-scale-half {
    font-size: 0.55em !important;
}

/* 1x: font-size: clamp(13px,1.3vw,15px); color: #6f6f6f; margin-top: 12px; letter-spacing: 0.05em */
.ex-hero-caption-faint {
    font-size: clamp(13px,1.3vw,15px) !important;
    color: #6f6f6f !important;
    margin-top: 12px !important;
    letter-spacing: 0.05em !important;
}

/* 1x: line-height: 1.95; font-size: 16px; margin-bottom: 28px */
.ex-body-intro-mb28 {
    line-height: 1.95 !important;
    font-size: 16px !important;
    margin-bottom: 28px !important;
}

/* 1x: background: #87c1b9; color: #fff */
.ex-badge-teal-fill {
    background: var(--color-cta-teal-dark) !important;
    color: #fff !important;
}

/* .data-table th の淡色背景(--color-bg-table-header)がtrの背景色を
   覆い隠し、白文字と読みにくい組み合わせになるため、th自体にも
   同じ濃色背景を適用する */
.ex-badge-teal-fill th {
    background: var(--color-cta-teal-dark) !important;
    border-color: var(--color-cta-teal-dark) !important;
}

/* 1x: line-height: 1.95; font-size: 16px; margin: 32px 0 0 */
.ex-body-intro-mt32 {
    line-height: 1.95 !important;
    font-size: 16px !important;
    margin: 32px 0 0 !important;
}

/* 1x: font-size: calc(1em - 3pt) */
.ex-font-minus-3pt {
    font-size: calc(1em - 3pt) !important;
}

/* 1x: font-size: calc(1em - 2pt) */
.ex-font-minus-2pt {
    font-size: calc(1em - 2pt) !important;
}

/* 1x: font-size: 30px */
.ex-font-size-30 {
    font-size: 30px !important;
}

/* 1x: line-height: 1.95; font-size: 16px */
.ex-body-intro {
    line-height: 1.95 !important;
    font-size: 16px !important;
}

/* 1x: background: #f0f8f7; padding: 24px 28px; border-radius: 10px; margin-bottom: 40px */
.ex-panel-mint-soft-mb40 {
    background: #f0f8f7 !important;
    padding: 24px 28px !important;
    border-radius: 10px !important;
    margin-bottom: 40px !important;
}

/* 1x: display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 20px; margin-bottom: 40px */
.ex-grid-auto-260-mb40 {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
    gap: 20px !important;
    margin-bottom: 40px !important;
}

/* 1x: width: 44px; height: 44px; background: #f9a08c; border-radius: 50%; color: #fff; font-size: 16px; font-weight: 700; display: flex; align-items: center; justify-content: center; flex-shrink: 0 */
.ex-step-badge-coral-sm {
    width: 44px !important;
    height: 44px !important;
    background: #f9a08c !important;
    border-radius: 50% !important;
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
}

/* 1x: line-height: 1.9; font-size: 16px; margin-bottom: 50px */
.ex-body-lead-mb50 {
    line-height: 1.9 !important;
    font-size: 16px !important;
    margin-bottom: 50px !important;
}

/* 1x: display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 20px; margin-bottom: 40px */
.ex-grid-auto-220-mb40 {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
    gap: 20px !important;
    margin-bottom: 40px !important;
}

/* 1x: line-height: 1.9; font-size: 16px; margin-bottom: 60px */
.ex-body-lead-mb60 {
    line-height: 1.9 !important;
    font-size: 16px !important;
    margin-bottom: 44px !important;
}

/* 1x: display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 16px; margin-bottom: 40px */
.ex-grid-auto-200-mb40 {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
    gap: 16px !important;
    margin-bottom: 40px !important;
}

/* 1x: font-size: 14px; color: #6f6f6f; margin-bottom: 40px */
.ex-note-faint-mb40 {
    font-size: 14px !important;
    color: #6f6f6f !important;
    margin-bottom: 40px !important;
}

/* 1x: display: flex; gap: 20px; margin-bottom: 30px; flex-wrap: wrap */
.ex-flex-wrap-gap20-mb30 {
    display: flex !important;
    gap: 20px !important;
    margin-bottom: 30px !important;
    flex-wrap: wrap !important;
}

/* 1x: width: 110px */
.ex-width-110 {
    width: 110px !important;
}

/* 1x: font-size: 13px; color: #6f6f6f; margin-top: 12px */
.ex-note-faint-mt12 {
    font-size: 13px !important;
    color: #6f6f6f !important;
    margin-top: 12px !important;
}

/* 1x: font-size: 26px; font-weight: 500; padding-bottom: 15px; border-bottom: 2px solid #87c1b9; margin-bottom: 15px; margin-top: 72px */
.ex-heading-underline-teal-with-top {
    font-size: 26px !important;
    font-weight: 500 !important;
    padding-bottom: 15px !important;
    border-bottom: 2px solid #87c1b9 !important;
    margin-bottom: 15px !important;
    margin-top: 72px !important;
}

/* 1x: display: grid; grid-template-columns: 1fr; gap: 24px; margin-bottom: 40px */
.ex-grid-single-gap24-mb40 {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    margin-bottom: 40px !important;
}

/* 1x: text-align: center; font-family: 'Noto Sans JP',sans-serif; font-size: 16px; line-height: 1.8; color: #555 */
.ex-copy-center-body {
    text-align: center !important;
    font-family: 'Noto Sans JP',sans-serif !important;
    font-size: 16px !important;
    line-height: 1.8 !important;
    color: #555 !important;
}

/* 1x: display: block; padding: 18px 30px; background: #fff; border: 2px solid #f9a08c; color: #666; border-radius: 8px; font-family: 'Noto Sans JP',sans-serif; font-size: 16px; transition: all .3s */
.ex-outline-link-coral-muted {
    display: block !important;
    padding: 18px 30px !important;
    background: #fff !important;
    border: 2px solid #f9a08c !important;
    color: #666 !important;
    border-radius: 8px !important;
    font-family: 'Noto Sans JP',sans-serif !important;
    font-size: 16px !important;
    transition: all .3s !important;
}

/* 1x: height: 92.3% */
.ex-chart-bar-height-923 {
    height: 92.3% !important;
}

/* 1x: height: 11.8% */
.ex-chart-bar-height-118 {
    height: 11.8% !important;
}

/* 1x: height: 55.7% */
.ex-chart-bar-height-557 {
    height: 55.7% !important;
}

/* 1x: height: 32.5% */
.ex-chart-bar-height-325 {
    height: 32.5% !important;
}

/* 1x: height: 70.9% */
.ex-chart-bar-height-709 {
    height: 70.9% !important;
}

/* 1x: height: 15.3% */
.ex-chart-bar-height-153 {
    height: 15.3% !important;
}

/* 1x: height: 72.6% */
.ex-chart-bar-height-726 {
    height: 72.6% !important;
}

/* 1x: height: 12.1% */
.ex-chart-bar-height-121 {
    height: 12.1% !important;
}

/* 1x: height: 73.6% */
.ex-chart-bar-height-736 {
    height: 73.6% !important;
}

/* 1x: height: 85.4% */
.ex-chart-bar-height-854 {
    height: 85.4% !important;
}

/* 1x: height: 9.7% */
.ex-chart-bar-height-097 {
    height: 9.7% !important;
}

/* 1x: height: 4.7% */
.ex-chart-bar-height-047 {
    height: 4.7% !important;
}

/* ===== End Extracted Utility Classes ===== */

/* ====================================================================================
   Mobile Overrides After Inline Style Extraction
==================================================================================== */

@media screen and (max-width: 768px) {
    .mobile-fit-heading-lg {
        font-size: clamp(22px, 5.6vw, 28px) !important;
        line-height: 1.5 !important;
    }

    .mobile-fit-heading {
        font-size: clamp(20px, 5vw, 24px) !important;
        line-height: 1.5 !important;
    }

    .mobile-fit-subheading {
        font-size: clamp(17px, 4.3vw, 20px) !important;
        line-height: 1.6 !important;
    }

    .mobile-fit-body {
        font-size: clamp(14px, 3.6vw, 15px) !important;
        line-height: 1.9 !important;
    }

    .mobile-fit-caption {
        font-size: clamp(13px, 3.4vw, 14px) !important;
        line-height: 1.8 !important;
    }

    .mobile-fit-grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    .ex-grid-four-mb40 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 14px !important;
    }

    .mobile-fit-card {
        padding: 20px 18px !important;
    }

    .mobile-fit-flow {
        gap: 16px !important;
    }

    .mobile-fit-flow-step {
        padding-top: 2px !important;
    }

    .mobile-fit-badge {
        width: 38px !important;
        height: 38px !important;
        font-size: 16px !important;
    }

    .mobile-fit-divider {
        height: 18px !important;
        margin-left: 18px !important;
    }

    .mobile-fit-table th,
    .mobile-fit-table td {
        padding: 10px 12px !important;
        font-size: clamp(13px, 3.5vw, 15px) !important;
        line-height: 1.65 !important;
        letter-spacing: 0.02em !important;
        white-space: normal !important;
    }
}

/* 幅360px級の端末では ex-grid-four-mb40 の2カラムだとカード幅が約150pxまで
   縮み、緊急折り返し(overflow-wrap:anywhere)が禁則(行頭の。、)を無視して
   発動するため、1カラムに落とす */
@media screen and (max-width: 480px) {
    .ex-grid-four-mb40 {
        grid-template-columns: 1fr !important;
    }
}
