/* _content/RCConsole/Pages/Public/Checkout.razor.rz.scp.css */
/* rimca チェックアウト(準備中)ページ専用スタイル(Blazor CSS 分離)。
   自前の配色を明示指定するため、コンソールがダークモードでも常にライトで表示される。 */

.co-page[b-xdkodtgj81] {
    --co-primary: #059669;
    --co-primary-dark: #047857;
    --co-ink: #0f2b23;
    --co-ink-soft: #4b5f59;
    --co-tint: #f0faf5;

    font-family: "Roboto", "Noto Sans JP", sans-serif;
    color: var(--co-ink);
    background: var(--co-tint);
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    overflow-x: hidden;
}

/* ================= ヘッダー ================= */
.co-header[b-xdkodtgj81] {
    background: #ffffff;
    border-bottom: 1px solid #eef2f0;
}

.co-header-inner[b-xdkodtgj81] {
    max-width: 1120px;
    margin: 0 auto;
    padding: 12px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.co-logo img[b-xdkodtgj81] {
    height: 32px;
    width: auto;
    display: block;
}

.co-back[b-xdkodtgj81] {
    color: var(--co-primary-dark);
    text-decoration: none;
    font-size: 0.92rem;
    font-weight: 600;
    white-space: nowrap;
}

.co-back:hover[b-xdkodtgj81] {
    text-decoration: underline;
}

/* ================= 本体 ================= */
.co-main[b-xdkodtgj81] {
    flex: 1 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 56px 20px;
}

.co-card[b-xdkodtgj81] {
    width: 100%;
    max-width: 560px;
    background: #ffffff;
    border: 1px solid #e2efe9;
    border-radius: 20px;
    box-shadow: 0 24px 60px -34px rgba(4, 120, 87, 0.4);
    padding: 48px 40px;
    text-align: center;
}

.co-icon[b-xdkodtgj81] {
    width: 72px;
    height: 72px;
    margin: 0 auto 22px;
    border-radius: 20px;
    background: rgba(5, 150, 105, 0.1);
    color: var(--co-primary);
    display: flex;
    align-items: center;
    justify-content: center;
}

.co-title[b-xdkodtgj81] {
    margin: 0;
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--co-ink);
}

.co-title:focus[b-xdkodtgj81] {
    /* App.razor の FocusOnNavigate による見出しのフォーカス枠を抑制 */
    outline: none;
}

/* 選択中プラン */
.co-plan[b-xdkodtgj81] {
    margin: 22px auto 0;
    max-width: 360px;
    background: var(--co-tint);
    border: 1px solid #d9efe5;
    border-radius: 12px;
    padding: 14px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.co-plan-caption[b-xdkodtgj81] {
    font-size: 0.85rem;
    color: var(--co-ink-soft);
}

.co-plan-value[b-xdkodtgj81] {
    font-size: 1rem;
    font-weight: 700;
    color: var(--co-primary-dark);
    text-align: right;
}

/* 準備中のお知らせ */
.co-notice[b-xdkodtgj81] {
    margin: 24px 0 0;
    text-align: left;
}

.co-notice-title[b-xdkodtgj81] {
    margin: 0 0 10px;
    font-weight: 700;
    color: var(--co-ink);
    font-size: 1.02rem;
}

.co-notice p[b-xdkodtgj81] {
    margin: 0 0 10px;
    color: var(--co-ink-soft);
    font-size: 0.94rem;
    line-height: 1.85;
}

.co-notice p:last-child[b-xdkodtgj81] {
    margin-bottom: 0;
}

/* アクション */
.co-actions[b-xdkodtgj81] {
    margin-top: 30px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.co-btn[b-xdkodtgj81] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 13px 24px;
    border-radius: 10px;
    font-size: 0.98rem;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.15s ease, transform 0.15s ease;
}

.co-btn--primary[b-xdkodtgj81] {
    background: var(--co-primary);
    color: #ffffff;
}

.co-btn--primary:hover[b-xdkodtgj81] {
    background: var(--co-primary-dark);
    transform: translateY(-1px);
}

.co-btn--ghost[b-xdkodtgj81] {
    background: transparent;
    color: var(--co-primary-dark);
    border: 1px solid #c3ddd3;
}

.co-btn--ghost:hover[b-xdkodtgj81] {
    background: #f0faf5;
}

/* ================= フッター ================= */
.co-footer[b-xdkodtgj81] {
    flex-shrink: 0;
    text-align: center;
    padding: 22px 16px;
    font-size: 0.82rem;
    color: var(--co-ink-soft);
}

/* ================= レスポンシブ ================= */
@media (max-width: 640px) {
    .co-card[b-xdkodtgj81] {
        padding: 36px 22px;
    }

    .co-plan[b-xdkodtgj81] {
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
    }

    .co-plan-value[b-xdkodtgj81] {
        text-align: left;
    }
}
/* _content/RCConsole/Pages/Public/Landing.razor.rz.scp.css */
/* rimca ランディングページ専用スタイル(Blazor CSS 分離により、このページ内の要素にのみ適用される)。
   配色は AppTheme.cs のエメラルドグリーン基調に合わせている。 */

.lp-page[b-bihlqbyzdl] {
    --lp-primary: #059669;
    --lp-primary-dark: #047857;
    --lp-primary-light: #34d399;
    --lp-accent: #f59e0b;
    --lp-ink: #0f2b23;
    --lp-ink-soft: #4b5f59;
    /* カード本文用: --lp-ink-soft より一段濃く、白背景でのコントラストを確保 */
    --lp-ink-body: #384b44;
    --lp-tint: #f0faf5;
    --lp-border: #e2efe9;
    --lp-max: 1120px;

    /* 公開LPはマーケティング用途のため、コンソールのダークモード設定に関わらず常にライトで
       柔らかい配色にする。MudBlazor コンポーネント(問い合わせフォーム・FAQ 等)が参照する
       CSS 変数を .lp-page 配下で上書きすると、配下の Mud コンポーネントが明色で描画される
       (CSS カスタムプロパティは DOM を通じて子孫へ継承されるため、スコープCSSでも有効)。 */
    --mud-palette-surface: #ffffff;
    --mud-palette-background: #ffffff;
    --mud-palette-text-primary: #1f2b28;
    --mud-palette-text-secondary: #5a6b65;
    --mud-palette-text-disabled: rgba(31, 43, 40, 0.38);
    --mud-palette-action-default: #6b7a75;
    --mud-palette-action-disabled: rgba(31, 43, 40, 0.26);
    --mud-palette-action-disabled-background: rgba(31, 43, 40, 0.10);
    --mud-palette-lines-default: #e2efe9;
    --mud-palette-lines-inputs: #b7c9c2;
    --mud-palette-divider: #e6efec;
    --mud-palette-primary-text: #ffffff;

    font-family: "Roboto", "Noto Sans JP", sans-serif;
    color: var(--lp-ink);
    background: #ffffff;
    overflow-x: hidden;
}

/* 見出しの余白リセット */
.lp-page h1[b-bihlqbyzdl],
.lp-page h2[b-bihlqbyzdl],
.lp-page h3[b-bihlqbyzdl] {
    margin: 0;
    line-height: 1.35;
    font-weight: 700;
}

/* ================= ヘッダー ================= */
.lp-header[b-bihlqbyzdl] {
    position: sticky;
    top: 0;
    z-index: 100;
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(8px);
    border-bottom: 1px solid #eef2f0;
}

.lp-header-inner[b-bihlqbyzdl] {
    max-width: var(--lp-max);
    margin: 0 auto;
    padding: 12px 24px;
    display: flex;
    align-items: center;
    gap: 24px;
}

.lp-logo[b-bihlqbyzdl] {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
}

.lp-logo img[b-bihlqbyzdl] {
    height: 34px;
    width: auto;
    display: block;
}

.lp-nav-links[b-bihlqbyzdl] {
    display: flex;
    align-items: center;
    gap: 28px;
    margin-left: 8px;
}

.lp-nav-links a[b-bihlqbyzdl] {
    color: var(--lp-ink-soft);
    text-decoration: none;
    font-size: 0.95rem;
    font-weight: 500;
    transition: color 0.15s ease;
}

.lp-nav-links a:hover[b-bihlqbyzdl] {
    color: var(--lp-primary);
}

.lp-nav-actions[b-bihlqbyzdl] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-left: auto;
}

/* ================= ヒーロー ================= */
.lp-hero[b-bihlqbyzdl] {
    position: relative;
    background: linear-gradient(160deg, #ffffff 0%, var(--lp-tint) 55%, #d6f5e6 100%);
    scroll-margin-top: 72px;
}

.lp-hero-inner[b-bihlqbyzdl] {
    max-width: var(--lp-max);
    margin: 0 auto;
    padding: 72px 24px 88px;
    display: grid;
    grid-template-columns: 1.05fr 1fr;
    gap: 48px;
    align-items: center;
}

.lp-badge[b-bihlqbyzdl] {
    display: inline-block;
    background: rgba(5, 150, 105, 0.1);
    color: var(--lp-primary-dark);
    font-size: 0.82rem;
    font-weight: 600;
    padding: 6px 14px;
    border-radius: 999px;
    margin-bottom: 20px;
}

.lp-hero-title[b-bihlqbyzdl] {
    font-size: clamp(2rem, 4.2vw, 3.1rem);
    letter-spacing: 0.01em;
}

/* App.razor の <FocusOnNavigate Selector="h1" /> が遷移時に見出しへ
   プログラム的フォーカスを当てるため、非対話の見出しに出る枠線を抑制する。 */
.lp-hero-title:focus[b-bihlqbyzdl] {
    outline: none;
}

.lp-hero-sub[b-bihlqbyzdl] {
    margin: 22px 0 32px;
    color: var(--lp-ink-soft);
    font-size: 1.05rem;
    line-height: 1.9;
    max-width: 30em;
}

.lp-hero-cta[b-bihlqbyzdl] {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

/* ストアバッジ(共通) */
.lp-store-badge[b-bihlqbyzdl] {
    display: inline-flex;
    text-decoration: none;
    transition: transform 0.15s ease, filter 0.15s ease;
}

.lp-store-badge:hover[b-bihlqbyzdl] {
    transform: translateY(-2px);
    filter: drop-shadow(0 8px 16px rgba(0, 0, 0, 0.25));
}

.lp-store-badge img[b-bihlqbyzdl] {
    height: 54px;
    width: auto;
    display: block;
}

.lp-store-badge--lg img[b-bihlqbyzdl] {
    height: 62px;
}

/* ヒーロー内のバッジ+補足 */
.lp-hero-store[b-bihlqbyzdl] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px 16px;
    margin-top: 24px;
}

.lp-hero-store-note[b-bihlqbyzdl] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--lp-ink-soft);
    font-size: 0.85rem;
    font-weight: 500;
}

.lp-hero-store-note[b-bihlqbyzdl]  .mud-icon-root {
    color: var(--lp-primary);
    font-size: 1.1rem;
}

.lp-hero-visual img[b-bihlqbyzdl] {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 18px;
    box-shadow: 0 30px 60px -24px rgba(4, 120, 87, 0.4);
}

/* ================= バリューストリップ ================= */
.lp-strip[b-bihlqbyzdl] {
    background: var(--lp-primary-dark);
    color: #ffffff;
}

.lp-strip-inner[b-bihlqbyzdl] {
    max-width: var(--lp-max);
    margin: 0 auto;
    padding: 20px 24px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    gap: 16px;
}

.lp-strip-item[b-bihlqbyzdl] {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 1rem;
}

.lp-strip-item[b-bihlqbyzdl]  .mud-icon-root {
    color: var(--lp-primary-light);
}

.lp-strip-item b[b-bihlqbyzdl] {
    font-weight: 700;
}

/* ================= セクション共通 ================= */
.lp-section[b-bihlqbyzdl] {
    padding: 84px 24px;
    scroll-margin-top: 64px;
}

.lp-section--tint[b-bihlqbyzdl] {
    background: var(--lp-tint);
}

.lp-section-inner[b-bihlqbyzdl] {
    max-width: var(--lp-max);
    margin: 0 auto;
}

.lp-section-inner--narrow[b-bihlqbyzdl] {
    max-width: 760px;
}

.lp-section-head[b-bihlqbyzdl] {
    text-align: center;
    margin-bottom: 48px;
}

.lp-eyebrow[b-bihlqbyzdl] {
    display: block;
    color: var(--lp-primary);
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    margin-bottom: 10px;
}

.lp-section-title[b-bihlqbyzdl] {
    font-size: clamp(1.6rem, 3vw, 2.2rem);
}

.lp-section-sub[b-bihlqbyzdl] {
    margin: 14px auto 0;
    color: var(--lp-ink-soft);
    font-size: 1rem;
    line-height: 1.8;
    max-width: 40em;
}

/* ================= 特長 ================= */
.lp-features-grid[b-bihlqbyzdl] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.lp-feature-card[b-bihlqbyzdl] {
    background: #ffffff;
    border: 1px solid #eef2f0;
    border-radius: 16px;
    padding: 32px 28px;
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.lp-feature-card:hover[b-bihlqbyzdl] {
    transform: translateY(-4px);
    box-shadow: 0 18px 40px -22px rgba(4, 120, 87, 0.45);
}

.lp-feature-icon[b-bihlqbyzdl] {
    width: 56px;
    height: 56px;
    border-radius: 14px;
    background: rgba(5, 150, 105, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
}

.lp-feature-icon[b-bihlqbyzdl]  .mud-icon-root {
    color: var(--lp-primary);
}

.lp-feature-title[b-bihlqbyzdl] {
    font-size: 1.14rem;
    margin-bottom: 10px;
}

.lp-feature-desc[b-bihlqbyzdl] {
    margin: 0;
    color: var(--lp-ink-body);
    font-size: 1rem;
    line-height: 1.85;
}

/* ================= 使い方 ================= */
.lp-steps[b-bihlqbyzdl] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}

.lp-step[b-bihlqbyzdl] {
    background: #ffffff;
    border-radius: 16px;
    padding: 32px 28px;
    border: 1px solid #eaf3ef;
    text-align: center;
}

.lp-step-num[b-bihlqbyzdl] {
    width: 48px;
    height: 48px;
    margin: 0 auto 18px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--lp-primary) 0%, var(--lp-primary-dark) 100%);
    color: #ffffff;
    font-size: 1.3rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}

.lp-step-title[b-bihlqbyzdl] {
    font-size: 1.1rem;
    margin-bottom: 10px;
}

.lp-step-desc[b-bihlqbyzdl] {
    margin: 0;
    color: var(--lp-ink-soft);
    font-size: 0.95rem;
    line-height: 1.85;
}

/* ================= 活用事例 ================= */
/* 事例は7件(奇数)のため、grid ではなく中央寄せ flex-wrap を使い、
   最終行に余るカードも中央に揃えて余白の偏りをなくす。1行あたり最大3枚。 */
.lp-cases-grid[b-bihlqbyzdl] {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 24px;
}

.lp-case-card[b-bihlqbyzdl] {
    /* 3枚/行: 336*3 + 24*2 = 1056 ≤ 1120(--lp-max) */
    flex: 0 1 336px;
    max-width: 336px;
    background: #ffffff;
    border: 1px solid #eef2f0;
    border-radius: 16px;
    padding: 30px 26px;
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.lp-case-card:hover[b-bihlqbyzdl] {
    transform: translateY(-4px);
    box-shadow: 0 18px 40px -22px rgba(4, 120, 87, 0.45);
}

.lp-case-icon[b-bihlqbyzdl] {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    background: rgba(5, 150, 105, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
}

.lp-case-icon[b-bihlqbyzdl]  .mud-icon-root {
    color: var(--lp-primary);
}

.lp-case-title[b-bihlqbyzdl] {
    font-size: 1.1rem;
    margin-bottom: 10px;
}

.lp-case-desc[b-bihlqbyzdl] {
    margin: 0;
    color: var(--lp-ink-body);
    font-size: 1rem;
    line-height: 1.85;
}

/* ================= アプリダウンロード(バナー) ================= */
.lp-download[b-bihlqbyzdl] {
    background: linear-gradient(135deg, var(--lp-primary-dark) 0%, #065f46 100%);
    color: #ffffff;
    padding: 56px 24px;
    scroll-margin-top: 64px;
}

.lp-download-inner[b-bihlqbyzdl] {
    max-width: var(--lp-max);
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 28px 40px;
}

.lp-download-title[b-bihlqbyzdl] {
    font-size: clamp(1.4rem, 2.6vw, 1.9rem);
    color: #ffffff;
}

.lp-download-sub[b-bihlqbyzdl] {
    margin: 12px 0 0;
    color: #d7efe6;
    font-size: 1rem;
    line-height: 1.8;
    max-width: 34em;
}

.lp-download-action[b-bihlqbyzdl] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    flex-shrink: 0;
}

.lp-download-note[b-bihlqbyzdl] {
    color: #b9e0d3;
    font-size: 0.8rem;
}

/* ================= 料金プラン ================= */
/* ================= 課金期間トグル(月払い / 年払い) ================= */
.lp-billing[b-bihlqbyzdl] {
    display: flex;
    justify-content: center;
    margin: 0 0 32px;
}

.lp-plans[b-bihlqbyzdl] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    align-items: stretch;
}

.lp-plan-card[b-bihlqbyzdl] {
    position: relative;
    background: #ffffff;
    border: 1px solid #e6efeb;
    border-radius: 18px;
    padding: 36px 28px;
    display: flex;
    flex-direction: column;
}

.lp-plan-card--featured[b-bihlqbyzdl] {
    border: 2px solid var(--lp-primary);
    box-shadow: 0 24px 48px -26px rgba(4, 120, 87, 0.5);
}

.lp-plan-badge[b-bihlqbyzdl] {
    position: absolute;
    top: -13px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--lp-accent);
    color: #ffffff;
    font-size: 0.78rem;
    font-weight: 700;
    padding: 5px 16px;
    border-radius: 999px;
    white-space: nowrap;
}

.lp-plan-name[b-bihlqbyzdl] {
    font-size: 1.5rem;
    color: var(--lp-primary-dark);
}

.lp-plan-caption[b-bihlqbyzdl] {
    margin: 6px 0 0;
    color: var(--lp-ink-soft);
    font-size: 0.9rem;
}

.lp-plan-price[b-bihlqbyzdl] {
    margin: 20px 0 24px;
    padding-bottom: 22px;
    border-bottom: 1px solid #eef2f0;
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 6px;
}

.lp-plan-price-value[b-bihlqbyzdl] {
    font-size: 2.1rem;
    font-weight: 800;
    color: var(--lp-ink);
    letter-spacing: 0.01em;
    line-height: 1.1;
}

.lp-plan-price-unit[b-bihlqbyzdl] {
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--lp-ink-soft);
}

.lp-plan-features[b-bihlqbyzdl] {
    list-style: none;
    margin: 0 0 28px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
    flex-grow: 1;
}

.lp-plan-features li[b-bihlqbyzdl] {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 0.95rem;
    color: var(--lp-ink);
}

/* ================= プラン注記 ================= */
.lp-plans-note[b-bihlqbyzdl] {
    margin: 28px 0 0;
    text-align: center;
    color: var(--lp-ink-soft);
    font-size: 0.85rem;
}

/* ================= FAQ ================= */
.lp-faq[b-bihlqbyzdl] {
    background: transparent;
    border-radius: 14px;
    overflow: hidden;
}

.lp-faq-answer[b-bihlqbyzdl] {
    color: var(--lp-ink-soft);
    line-height: 1.9;
}

/* ================= お問い合わせ ================= */
.lp-contact-form[b-bihlqbyzdl],
.lp-contact-done[b-bihlqbyzdl] {
    background: #ffffff;
    border: 1px solid #eaf3ef;
    border-radius: 18px;
    padding: 40px;
}

/* .lp-contact-form / -done は MudPaper(子コンポーネント)のためスコープ属性が付かず、
   上のプレーンなクラス指定が届かない。スコープ済みの祖先(#contact)から ::deep で
   到達させ、柔らかい枠と余白を確実に適用する。 */
#contact[b-bihlqbyzdl]  .lp-contact-form,
#contact[b-bihlqbyzdl]  .lp-contact-done {
    background: #ffffff;
    border: 1px solid #e2efe9;
    border-radius: 18px;
    box-shadow: 0 18px 40px -28px rgba(4, 120, 87, 0.35);
}

#contact[b-bihlqbyzdl]  .lp-contact-form {
    padding: 40px;
}

.lp-contact-done[b-bihlqbyzdl] {
    text-align: center;
    padding: 56px 40px;
}

.lp-consent[b-bihlqbyzdl] {
    display: flex;
    align-items: flex-start;
    gap: 4px;
    font-size: 0.9rem;
    color: var(--lp-ink-soft);
    line-height: 1.6;
}

.lp-consent-text[b-bihlqbyzdl] {
    padding-top: 7px;
}

.lp-consent-text a[b-bihlqbyzdl] {
    color: var(--lp-primary);
    text-decoration: underline;
}

.lp-submit-btn[b-bihlqbyzdl] {
    min-width: 220px;
}

/* ================= フッター ================= */
.lp-footer[b-bihlqbyzdl] {
    background: var(--lp-ink);
    color: #cfe0da;
    padding: 56px 24px 0;
}

.lp-footer-inner[b-bihlqbyzdl] {
    max-width: var(--lp-max);
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 32px;
    padding-bottom: 40px;
}

.lp-footer-brand img[b-bihlqbyzdl] {
    height: 38px;
    width: auto;
    display: block;
    margin-bottom: 16px;
    /* 濃色フッターでもロゴ本来の配色をそのまま見せるため、白い角丸チップに載せる */
    background: #ffffff;
    padding: 8px 14px;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
}

.lp-footer-brand p[b-bihlqbyzdl] {
    margin: 0;
    font-size: 0.88rem;
    line-height: 1.8;
    color: #9fb8b0;
}

.lp-footer-nav[b-bihlqbyzdl] {
    display: flex;
    flex-wrap: wrap;
    gap: 14px 28px;
    align-content: flex-start;
}

.lp-footer-nav a[b-bihlqbyzdl] {
    color: #cfe0da;
    text-decoration: none;
    font-size: 0.9rem;
    transition: color 0.15s ease;
}

.lp-footer-nav a:hover[b-bihlqbyzdl] {
    color: #ffffff;
}

.lp-footer-bottom[b-bihlqbyzdl] {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    text-align: center;
    padding: 20px 0;
    font-size: 0.82rem;
    color: #7f978f;
}

/* ================= レスポンシブ ================= */
@media (max-width: 960px) {
    .lp-hero-inner[b-bihlqbyzdl] {
        grid-template-columns: 1fr;
        padding: 56px 24px 64px;
        gap: 36px;
    }

    .lp-hero-visual[b-bihlqbyzdl] {
        order: -1;
    }

    .lp-hero-sub[b-bihlqbyzdl] {
        max-width: none;
    }

    .lp-features-grid[b-bihlqbyzdl],
    .lp-steps[b-bihlqbyzdl],
    .lp-plans[b-bihlqbyzdl] {
        grid-template-columns: repeat(2, 1fr);
    }

    .lp-plan-card--featured[b-bihlqbyzdl] {
        transform: none;
    }
}

@media (max-width: 640px) {
    .lp-nav-links[b-bihlqbyzdl] {
        display: none;
    }

    .lp-section[b-bihlqbyzdl] {
        padding: 60px 20px;
    }

    .lp-features-grid[b-bihlqbyzdl],
    .lp-steps[b-bihlqbyzdl],
    .lp-plans[b-bihlqbyzdl] {
        grid-template-columns: 1fr;
    }

    .lp-case-card[b-bihlqbyzdl] {
        flex-basis: 100%;
        max-width: none;
    }

    .lp-hero-br[b-bihlqbyzdl] {
        display: none;
    }

    .lp-contact-form[b-bihlqbyzdl] {
        padding: 28px 20px;
    }

    .lp-footer-inner[b-bihlqbyzdl] {
        flex-direction: column;
        gap: 24px;
    }

    .lp-download-inner[b-bihlqbyzdl] {
        flex-direction: column;
        text-align: center;
    }

    .lp-download-sub[b-bihlqbyzdl] {
        max-width: none;
    }

    .lp-download-action[b-bihlqbyzdl] {
        align-items: center;
    }
}
/* _content/RCConsole/Pages/Public/PrivacyPolicy.razor.rz.scp.css */
/* rimca プライバシーポリシーページ専用スタイル(Blazor CSS 分離)。
   利用規約ページ(Terms.razor.css)と同一の意匠。自前の配色を明示指定するため、
   コンソールがダークモードでも常にライトで表示される。 */

.pp-page[b-8mmx1t05p7] {
    --pp-primary: #059669;
    --pp-primary-dark: #047857;
    --pp-ink: #0f2b23;
    --pp-ink-soft: #4b5f59;
    --pp-tint: #f0faf5;
    --pp-max: 820px;

    font-family: "Roboto", "Noto Sans JP", sans-serif;
    color: var(--pp-ink);
    background: #ffffff;
    min-height: 100vh;
    overflow-x: hidden;
}

.pp-page h1[b-8mmx1t05p7],
.pp-page h2[b-8mmx1t05p7] {
    margin: 0;
    line-height: 1.5;
    font-weight: 700;
}

/* ================= ヘッダー ================= */
.pp-header[b-8mmx1t05p7] {
    position: sticky;
    top: 0;
    z-index: 100;
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(8px);
    border-bottom: 1px solid #eef2f0;
}

.pp-header-inner[b-8mmx1t05p7] {
    max-width: 1120px;
    margin: 0 auto;
    padding: 12px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.pp-logo img[b-8mmx1t05p7] {
    height: 32px;
    width: auto;
    display: block;
}

.pp-back[b-8mmx1t05p7] {
    color: var(--pp-primary-dark);
    text-decoration: none;
    font-size: 0.92rem;
    font-weight: 600;
    white-space: nowrap;
}

.pp-back:hover[b-8mmx1t05p7] {
    text-decoration: underline;
}

/* ================= タイトル ================= */
.pp-hero[b-8mmx1t05p7] {
    background: linear-gradient(160deg, #ffffff 0%, var(--pp-tint) 100%);
    border-bottom: 1px solid #e6efe9;
}

.pp-hero-inner[b-8mmx1t05p7] {
    max-width: var(--pp-max);
    margin: 0 auto;
    padding: 56px 24px 44px;
}

.pp-eyebrow[b-8mmx1t05p7] {
    display: block;
    color: var(--pp-primary);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    margin-bottom: 10px;
}

.pp-title[b-8mmx1t05p7] {
    font-size: clamp(1.8rem, 4vw, 2.4rem);
}

.pp-title:focus[b-8mmx1t05p7] {
    /* App.razor の FocusOnNavigate による見出しのフォーカス枠を抑制 */
    outline: none;
}

.pp-lead[b-8mmx1t05p7] {
    margin: 20px 0 0;
    color: var(--pp-ink-soft);
    font-size: 0.98rem;
    line-height: 1.95;
}

/* ================= 本文 ================= */
.pp-body[b-8mmx1t05p7] {
    padding: 48px 24px 72px;
}

.pp-body-inner[b-8mmx1t05p7] {
    max-width: var(--pp-max);
    margin: 0 auto;
}

.pp-article[b-8mmx1t05p7] {
    padding: 24px 0;
    border-bottom: 1px solid #eef2f0;
}

.pp-article:last-of-type[b-8mmx1t05p7] {
    border-bottom: none;
}

.pp-article-title[b-8mmx1t05p7] {
    font-size: 1.18rem;
    color: var(--pp-primary-dark);
    margin-bottom: 14px;
}

.pp-article p[b-8mmx1t05p7] {
    margin: 0 0 12px;
    color: var(--pp-ink);
    font-size: 0.96rem;
    line-height: 1.95;
}

.pp-article p:last-child[b-8mmx1t05p7] {
    margin-bottom: 0;
}

.pp-list[b-8mmx1t05p7] {
    margin: 8px 0 0;
    padding-left: 1.4em;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.pp-list li[b-8mmx1t05p7] {
    color: var(--pp-ink);
    font-size: 0.96rem;
    line-height: 1.9;
    padding-left: 4px;
}

ol.pp-list[b-8mmx1t05p7] {
    list-style: decimal;
}

ul.pp-list[b-8mmx1t05p7] {
    list-style: disc;
}

.pp-note[b-8mmx1t05p7] {
    margin-top: 14px !important;
    color: var(--pp-ink-soft) !important;
    font-size: 0.9rem !important;
}

.pp-date[b-8mmx1t05p7] {
    margin-top: 40px;
    color: var(--pp-ink-soft);
    font-size: 0.92rem;
}

/* ================= フッター ================= */
.pp-footer[b-8mmx1t05p7] {
    background: var(--pp-ink);
    color: #cfe0da;
    padding: 40px 24px 0;
}

.pp-footer-inner[b-8mmx1t05p7] {
    max-width: 1120px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 20px 32px;
    padding-bottom: 32px;
}

.pp-footer-logo img[b-8mmx1t05p7] {
    height: 34px;
    width: auto;
    display: block;
    background: #ffffff;
    padding: 7px 12px;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
}

.pp-footer-nav[b-8mmx1t05p7] {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 26px;
}

.pp-footer-nav a[b-8mmx1t05p7] {
    color: #cfe0da;
    text-decoration: none;
    font-size: 0.9rem;
    transition: color 0.15s ease;
}

.pp-footer-nav a:hover[b-8mmx1t05p7] {
    color: #ffffff;
}

.pp-footer-bottom[b-8mmx1t05p7] {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    text-align: center;
    padding: 18px 0;
    font-size: 0.82rem;
    color: #7f978f;
}

/* ================= レスポンシブ ================= */
@media (max-width: 640px) {
    .pp-hero-inner[b-8mmx1t05p7] {
        padding: 40px 20px 32px;
    }

    .pp-body[b-8mmx1t05p7] {
        padding: 36px 20px 56px;
    }

    .pp-footer-inner[b-8mmx1t05p7] {
        flex-direction: column;
        align-items: flex-start;
    }
}
/* _content/RCConsole/Pages/Public/Terms.razor.rz.scp.css */
/* rimca 利用規約ページ専用スタイル(Blazor CSS 分離)。
   自前の配色を明示指定するため、コンソールがダークモードでも常にライトで表示される。 */

.terms-page[b-hjjljh8316] {
    --tm-primary: #059669;
    --tm-primary-dark: #047857;
    --tm-ink: #0f2b23;
    --tm-ink-soft: #4b5f59;
    --tm-tint: #f0faf5;
    --tm-max: 820px;

    font-family: "Roboto", "Noto Sans JP", sans-serif;
    color: var(--tm-ink);
    background: #ffffff;
    min-height: 100vh;
    overflow-x: hidden;
}

.terms-page h1[b-hjjljh8316],
.terms-page h2[b-hjjljh8316] {
    margin: 0;
    line-height: 1.5;
    font-weight: 700;
}

/* ================= ヘッダー ================= */
.terms-header[b-hjjljh8316] {
    position: sticky;
    top: 0;
    z-index: 100;
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(8px);
    border-bottom: 1px solid #eef2f0;
}

.terms-header-inner[b-hjjljh8316] {
    max-width: 1120px;
    margin: 0 auto;
    padding: 12px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.terms-logo img[b-hjjljh8316] {
    height: 32px;
    width: auto;
    display: block;
}

.terms-back[b-hjjljh8316] {
    color: var(--tm-primary-dark);
    text-decoration: none;
    font-size: 0.92rem;
    font-weight: 600;
    white-space: nowrap;
}

.terms-back:hover[b-hjjljh8316] {
    text-decoration: underline;
}

/* ================= タイトル ================= */
.terms-hero[b-hjjljh8316] {
    background: linear-gradient(160deg, #ffffff 0%, var(--tm-tint) 100%);
    border-bottom: 1px solid #e6efe9;
}

.terms-hero-inner[b-hjjljh8316] {
    max-width: var(--tm-max);
    margin: 0 auto;
    padding: 56px 24px 44px;
}

.terms-eyebrow[b-hjjljh8316] {
    display: block;
    color: var(--tm-primary);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    margin-bottom: 10px;
}

.terms-title[b-hjjljh8316] {
    font-size: clamp(1.8rem, 4vw, 2.4rem);
}

.terms-title:focus[b-hjjljh8316] {
    /* App.razor の FocusOnNavigate による見出しのフォーカス枠を抑制 */
    outline: none;
}

.terms-lead[b-hjjljh8316] {
    margin: 20px 0 0;
    color: var(--tm-ink-soft);
    font-size: 0.98rem;
    line-height: 1.95;
}

/* ================= 本文 ================= */
.terms-body[b-hjjljh8316] {
    padding: 48px 24px 72px;
}

.terms-body-inner[b-hjjljh8316] {
    max-width: var(--tm-max);
    margin: 0 auto;
}

.terms-article[b-hjjljh8316] {
    padding: 24px 0;
    border-bottom: 1px solid #eef2f0;
}

.terms-article:last-of-type[b-hjjljh8316] {
    border-bottom: none;
}

.terms-article-title[b-hjjljh8316] {
    font-size: 1.18rem;
    color: var(--tm-primary-dark);
    margin-bottom: 14px;
}

.terms-article p[b-hjjljh8316] {
    margin: 0 0 12px;
    color: var(--tm-ink);
    font-size: 0.96rem;
    line-height: 1.95;
}

.terms-article p:last-child[b-hjjljh8316] {
    margin-bottom: 0;
}

.terms-list[b-hjjljh8316] {
    margin: 8px 0 0;
    padding-left: 1.4em;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.terms-list li[b-hjjljh8316] {
    color: var(--tm-ink);
    font-size: 0.96rem;
    line-height: 1.9;
    padding-left: 4px;
}

ol.terms-list[b-hjjljh8316] {
    list-style: decimal;
}

ul.terms-list[b-hjjljh8316] {
    list-style: disc;
}

.terms-note[b-hjjljh8316] {
    margin-top: 14px !important;
    color: var(--tm-ink-soft) !important;
    font-size: 0.9rem !important;
}

.terms-date[b-hjjljh8316] {
    margin-top: 40px;
    color: var(--tm-ink-soft);
    font-size: 0.92rem;
}

/* ================= フッター ================= */
.terms-footer[b-hjjljh8316] {
    background: var(--tm-ink);
    color: #cfe0da;
    padding: 40px 24px 0;
}

.terms-footer-inner[b-hjjljh8316] {
    max-width: 1120px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 20px 32px;
    padding-bottom: 32px;
}

.terms-footer-logo img[b-hjjljh8316] {
    height: 34px;
    width: auto;
    display: block;
    background: #ffffff;
    padding: 7px 12px;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
}

.terms-footer-nav[b-hjjljh8316] {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 26px;
}

.terms-footer-nav a[b-hjjljh8316] {
    color: #cfe0da;
    text-decoration: none;
    font-size: 0.9rem;
    transition: color 0.15s ease;
}

.terms-footer-nav a:hover[b-hjjljh8316] {
    color: #ffffff;
}

.terms-footer-bottom[b-hjjljh8316] {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    text-align: center;
    padding: 18px 0;
    font-size: 0.82rem;
    color: #7f978f;
}

/* ================= レスポンシブ ================= */
@media (max-width: 640px) {
    .terms-hero-inner[b-hjjljh8316] {
        padding: 40px 20px 32px;
    }

    .terms-body[b-hjjljh8316] {
        padding: 36px 20px 56px;
    }

    .terms-footer-inner[b-hjjljh8316] {
        flex-direction: column;
        align-items: flex-start;
    }
}
/* _content/RCConsole/Shared/ManualLayout.razor.rz.scp.css */
/*
    操作マニュアル公開レイアウトのスタイル(Blazor CSS 分離)。
    MudBlazor のパレット変数を使い、ライト/ダーク両テーマに追従する。
*/
.manual-layout[b-nz0mfq5at6] {
    min-height: 100vh;
    background: var(--mud-palette-background);
}

.manual-layout-header[b-nz0mfq5at6] {
    position: sticky;
    top: 0;
    z-index: 1100;
    background: var(--mud-palette-surface);
    border-bottom: 1px solid var(--mud-palette-divider);
}

.manual-layout-header-inner[b-nz0mfq5at6] {
    max-width: 960px;
    margin: 0 auto;
    padding: 0.4rem 1rem;
    display: flex;
    align-items: center;
    gap: 1rem;
}

.manual-layout-logo[b-nz0mfq5at6] {
    display: inline-flex;
    align-items: center;
}

.manual-layout-logo img[b-nz0mfq5at6] {
    height: 32px;
    width: auto;
    display: block;
}

.manual-layout-actions[b-nz0mfq5at6] {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.manual-layout-body[b-nz0mfq5at6] {
    padding-bottom: 2rem;
}

/* 狭い画面では「戻る」ラベルを畳んで、ヘッダー右側が見切れないようにする */
@media (max-width: 599.98px) {
    .manual-layout-back[b-nz0mfq5at6] {
        min-width: 0;
    }
}
