/* ============================================================
   ご利用者別LP（ForTSK / ForBiz / ForLawyer）のトンマナ統一
   — 2026-08 サイト刷新 便1
   ・LPは Layout=null の独立HTMLで、専用の style.css を持つ。
     この1枚を style.css の後に読ませて、新デザインの色・字面・角丸・余白へ寄せる。
   ・情報構造とコピーは触らない（見た目だけを揃える）。訴求の作り直しは便3。
   ============================================================ */

:root {
    /* 旧: #f16101。新デザインのブランド色に統一する */
    --main: #ff7900;
    --orange: #ff7900;
    --bg-orange: #DD6200;
    --light-orange: #FFF3E7;
    --text: #4A403A;
    --gray: #6E645C;
    --light-gray: #FAF7F3;

    --lp-ink: #2B2320;
    --lp-ink-2: #4A403A;
    --lp-muted: #6E645C;
    --lp-line: #E9E2DA;
    --lp-brand: #ff7900;
    --lp-brand-deep: #DD6200;
    --lp-brand-ink: #A34700;
    --lp-brand-wash: #FFF3E7;
    --lp-brand-line: #FFD9B4;
    --lp-lift: 0 1px 2px rgba(43,35,32,.05), 0 10px 30px rgba(43,35,32,.06);
    --lp-font: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic Medium", "Yu Gothic", Meiryo, "Noto Sans JP", system-ui, sans-serif;
}

body {
    font-family: var(--lp-font);
    color: var(--lp-ink);
    line-height: 1.85;
}

/* ---- 見出し ---- */
h1, h2, h3, h4, h5 {
    font-family: var(--lp-font);
    letter-spacing: .005em;
}

/* ヒーロー見出しは承認済みトップと同じ組み方に揃える。
   本文の行＝インク色 ／ 締めの1行だけブランド色のアクセント ／ 助詞(の・と・を・が)は控えめなグレー。
   LP3本とも <h1 class="text-primary"> ＋ <small class="text-muted">助詞</small>
   ＋ <span class="text-muted">締め</span> という同じ構造。 */
h1 {
    font-weight: 800;
    line-height: 1.4;
}

    h1,
    h1.text-primary,
    h1 .text-primary {
        color: var(--lp-ink) !important;
    }

    h1 small.text-muted {
        color: var(--lp-muted) !important;
    }

    h1 span.text-muted {
        color: var(--lp-brand) !important;
    }

h2 {
    color: var(--lp-ink);
    font-weight: 800;
    line-height: 1.5;
}

h3 {
    color: var(--lp-ink);
    font-weight: 700;
    line-height: 1.6;
}

.text-primary {
    color: var(--lp-brand-ink) !important;
}

p, li {
    color: var(--lp-ink-2);
    line-height: 1.85;
}

.lead {
    font-size: 16.5px;
    color: var(--lp-ink-2);
}

/* ---- 区切りと余白 ---- */
.section {
    padding: 78px 0;
}

.bg-light {
    background: var(--lp-brand-wash) !important;
}

.bg-light-orange {
    background: var(--lp-brand-wash) !important;
}

.hero-section {
    background: radial-gradient(900px 420px at 85% -10%, var(--lp-brand-wash), transparent 62%), #fff;
    padding: 78px 0 70px;
    border-bottom: 1px solid var(--lp-line);
}

/* ---- ナビ ---- */
.navbar.sticky-top {
    background: rgba(255,255,255,.92) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--lp-line);
    box-shadow: none !important;
}

    .navbar.sticky-top .nav-link {
        color: var(--lp-muted);
        font-size: 14.5px;
    }

        .navbar.sticky-top .nav-link:hover {
            color: var(--lp-ink);
        }

/* ---- ボタン ---- */
.btn {
    border-radius: 9px;
    font-weight: 700;
}

.btn--primary,
.btn-primary {
    background-color: var(--lp-brand);
    border-color: var(--lp-brand);
    color: #fff;
    box-shadow: 0 4px 16px rgba(255,121,0,.32);
}

    .btn--primary:hover,
    .btn-primary:hover {
        background-color: var(--lp-brand-deep);
        border-color: var(--lp-brand-deep);
        color: #fff;
    }

.common-button {
    border-radius: 11px;
    box-shadow: 0 4px 16px rgba(255,121,0,.32);
    font-weight: 700;
}

.register-button {
    background: var(--lp-brand);
    color: #fff;
}

    .register-button:hover {
        background: var(--lp-brand-deep);
        color: #fff;
    }

/* ---- 面 ---- */
.card,
.shadow-sm,
.shadow {
    border-radius: 13px !important;
    border: 1px solid var(--lp-line) !important;
    box-shadow: var(--lp-lift) !important;
}

.accordion-item {
    border-color: var(--lp-line);
    border-radius: 11px;
    overflow: hidden;
}

.accordion-button:not(.collapsed) {
    background: var(--lp-brand-wash);
    color: var(--lp-brand-ink);
    box-shadow: none;
}

.accordion-button:focus {
    border-color: var(--lp-brand-line);
    box-shadow: 0 0 0 3px rgba(255,121,0,.15);
}

/* ---- フォーム ---- */
.form-control,
.form-select {
    border-radius: 9px;
    border-color: var(--lp-line);
}

    .form-control:focus,
    .form-select:focus {
        border-color: var(--lp-brand-line);
        box-shadow: 0 0 0 3px rgba(255,121,0,.15);
    }

/* ---- フッター ---- */
.footer {
    background: var(--lp-brand-wash) !important;
    color: var(--lp-ink-2) !important;
    border-top: 1px solid var(--lp-line);
}

    .footer h5 {
        color: var(--lp-ink);
    }

    .footer p {
        color: var(--lp-muted);
    }

    .footer a {
        color: var(--lp-brand-ink);
    }

@media (max-width: 580px) {
    .section {
        padding: 56px 0;
    }

    .hero-section {
        padding: 48px 0 44px;
    }
}
