/* ----------------------------------
   ページ全体の基本レイアウト調整
---------------------------------- */
.page-content > .container {
    padding-inline: 0.6rem;       /* 横方向の余白を少なめに設定 */
    max-width: 760px;             /* 読みやすい幅に制限 */
    margin: auto;                 /* 中央寄せ */
}

/* ヒーローセクション（余白調整） */
section.section.section-hero.py-5.fullheight-section {
    padding: 0;
}

p.hero-lead {
    font-size: 1.2rem;
    margin: 1rem 0;
}

.hero-btn-area {
    margin-top: 2rem;
}

/* ----------------------------------
   セクションタイトル（共通デザイン）
---------------------------------- */
h2.section-title.char-animate {
    font-size: 2.4rem;
    font-family: 'Zen Kurenaido'; /* 和文タイトル用フォント */
    color: #ffffff;
    background-color: #338998;     /* ブランドカラー */
    width: fit-content;            /* 必要最小限の幅 */
    line-height: 1.7;
    margin-bottom: 2rem;
    padding: 0.2rem 0 .2rem .4rem; /* 左だけ少し強調 */
}

h3 {
    margin-top: 3rem;
}

/* ----------------------------------
   汎用スタイル（リスト・メモ等）
---------------------------------- */
.sticky-note {
    margin: 1rem 0;
    padding: .4rem .4rem .4rem 2rem; /* 左に余白を持たせて付箋風に */
}

li {
    margin: 1rem 0;
}

.plan-details ul.list-unstyled {
    padding-left: 0;
}

p.fw-bold.mt-3.mb-0, 
p.fw-bold.mb-0 {
    margin-bottom: 1rem;
    font-weight: 700;
}

p.small {
    font-size: .8rem;
}

h4 {
    font-size: 1.4rem;
}

.plan-item {
    margin: 3rem 0;
}

/* チェックリスト系のリスト間隔を統一 */
.list-unstyled.checklist li.mb-2, 
.section-target li {
    margin: .4rem 0;
}

/* ----------------------------------
   プラン一覧（横並びレイアウト）
---------------------------------- */
.row.g-4.plan-columns {
    display: flex;
    gap: 2rem;                     /* カード間に余白 */
}

.container.container-plan-reason {
    margin: 3rem 0;
}

.section-target ul.list-unstyled.svc-list {
    margin: 1.2rem 1rem;
}

.plan-item.h-100.p-4.border.rounded-3 {
    margin-bottom: 0;
}

/* ----------------------------------
   プロセス（STEP一覧）
---------------------------------- */
.section-process h3 {
    margin-top: 2.4rem;
    margin-bottom: .2rem;
}

.step-duration {
    font-size: .9rem;
    margin-bottom: 1rem;
}

/* CTAリンク（フッター前のボタン集） */
.mt-4.small.text-muted a {
    color: #338998;
    font-weight: 500;
    text-decoration: none;
}

.plan-item p.svc-cta {
    text-align: center;
    margin-top: 2rem;
}

/* ----------------------------------
   モバイル調整（767px以下）
---------------------------------- */
@media (max-width: 767px) {

    /* ヒーローの高さを上下調整 */
    section.section.section-hero.py-5.fullheight-section {
        height: 100%;
        min-height: 100vh;
    }

    h1.hero-title.mb-3.page-title.char-animate {
        font-size: 2.4rem;
    }

    p.hero-lead.lead.mb-4 {
        font-size: 1rem;
    }

    h2.section-title.char-animate {
        font-size: 1.6rem;
        padding: 0.4rem;
    }

    /* プランは1列表示に */
    .row.g-4.plan-columns {
        display: block;
    }

    h4.service-subheading {
        font-size: 1rem;
    }

    /* CTAボタンは縦並びに */
    .svc-cta-group {
        display: block;
        margin-top: 2rem;
    }
}

.svc__inner {
    text-align: center;
}
h2#final-cta-pr-title {
    margin: auto;
    margin-bottom: 2rem;
    background: none;
    color: #338998;
    font-size: 2rem;
    font-weight: 600;
}
.svc-cta-group {
    display: flex;
    gap: 1rem;
    justify-content: center;
    margin-top: 2rem;
}