/* Reset some default styles */
body, h1, h2, h3, p, ul, li {
    margin: 0;
    padding: 0;
    list-style: none;
}

body {
    font-family: 'Noto Sans JP', sans-serif;
    line-height: 1.6;
}

.container {
    max-width: 1152px; /* Default container width from Figma */
    margin: 0 auto;
}

/* Add more specific styles based on Figma data later */
header {
    /* Figma: Header (id: 2:3) */
    /* background-color: #D2161A; (fill_HBISFE) */ /* モバイル用のハンバーガーメニュー部分の背景と共通のためコメントアウト */
    background-image: url('./images/image_1.jpg'); /* 仮の背景画像、Figma ID 17:148 */
    background-size: cover;
    background-position: right;
    /* グラデーション (Rectangle 2 & 3, ID: 17:151, 17:153) はCSSで表現するか、画像として重ねる */
    color: #FFFFFF; /* 基本の文字色 */
    position: relative; /* ::before の配置のため */
    padding-top: 20px; /* 上部の帯の高さ分を確保 */
}

header::before {
    content: "";
    display: block;
    position: absolute;
    top: 0; /* headerの上端に配置 */
    left: 0;
    width: 100%;
    height: 20px;
    background-color: #D2161A;
}

.header-content {
    display: flex;
    flex-direction: column; 
    align-items: flex-start; /* Figmaのレイアウトに合わせる */
    padding: 50px 0; /* 上下の余白 */
}

.logo img {
    /* Figma: SYM_logo_RGB (2:419) */
    width: 300px; /* Figmaのサイズ */
    height: auto;
    margin-bottom: 24px; /* Figmaのgap */
}

.hero-text .subtitle {
    /* Figma: マーケティング人材育成サービス (2:10) */
    font-size: 48px; /* style_RBQEWS */
    font-weight: 700;
    line-height: 0.583; /* style_RBQEWS */
    margin-bottom: 24px; /* Figmaのgap */
}

.hero-text h1 {
    /* Figma: 「マーケティング基礎総合研修プラン」 (2:12) */
    font-size: 32px; /* style_B8DJ6H */
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 24px; /* Figmaのgap */
}

.highlight-box {
    /* Figma: Background (2:13) */
    background-color: #FFFFFF; /* fill_OP1Y4M */
    color: #D2161A; /* fill_HBISFE for text inside */
    padding: 24px;
    border-radius: 8px;
    align-self: flex-start; /* 左寄せ */
}

.highlight-box h2 {
    /* Figma: 初心者でも安心！ (2:15) */
    font-size: 36px; /* style_PL9J62 */
    font-weight: 700;
    line-height: 1.11;
    color: #D2161A; /* Specific color */
    margin-bottom: 16px; /* Figmaのgap */
}

.highlight-box p {
    /* Figma: マーケティングの体感... (2:17) */
    font-size: 24px; /* style_F8MWQW */
    font-weight: 350;
    line-height: 1.33;
    color: #333333; /* Specific color */
    margin-bottom: 0; /* Figmaのgap */
}

.highlight-keyword {
    font-weight: bold;
    color: #D2161A;
}

.subsidy-info {
    /* Figma: Background (2:18) */
    background-color: #FEF3C7; /* fill_FBR9V5 */
    color: #FFFFFF; /* fill_OP1Y4M for text */
    padding: 24px;
    border-radius: 8px;
    margin-top: 24px;
}

.subsidy-info p:first-child {
    /* Figma: 厚生労働省 人材開発支援助成金対応 (2:20) */
    font-size: 16px; /* style_VCZXC5 */
    font-weight: 700;
    line-height: 1.6;
    margin-bottom: 0; /* Figma上はgapなし、調整 */
}

.subsidy-info p:last-child {
    /* Figma: 最大75%の経費助成が... (2:22) */
    font-size: 20px; /* style_AP5UD4 */
    font-weight: 350;
    line-height: 1.4;
}


/* ハンバーガーメニューのスタイル（初期非表示） */
/* .hamburger-menu {
    display: none; 
    color: #D2161A; 
    font-size: 24px; 
    position: absolute;
    top: 20px;
    right: 20px;
    cursor: pointer;
} */

/* モバイル向けのスタイル */
@media (max-width: 768px) {
    .container {
        width: 90%;
    }
    header {
        
        background-position: center;
      
    }
    .header-content {
        align-items: center; /* モバイルでは中央揃えを検討 */
        text-align: center;
    }

    .logo img {
        margin-left: auto;
        margin-right: auto;
    }

    .hero-text .subtitle {
        font-size: 36px; /* モバイル用に調整 */
        line-height: 1.4; /* スマホ表示時の行間を調整 */
    }

    .hero-text h1 {
        font-size: 28px; /* モバイル用に調整 */
    }

    .highlight-box {
        align-self: stretch; /* モバイルでは幅いっぱいに */
    }

    .highlight-box h2 {
        font-size: 28px;
    }

    .highlight-box p {
        font-size: 18px;
    }

    .card-header {
        flex-direction: column;
        align-items: center!important;
        text-align: center;
    }

    .card-header h3 {
        margin-bottom: 8px;
    }

    .card-header img {
        margin-left: 0;
        margin-right: 0;
    }

    .subsidy-info p:first-child {
        font-size: 14px;
    }

    .subsidy-info p:last-child {
        font-size: 16px;
    }

    /* .hamburger-menu {
        display: block; 
    } */

    /* モバイル時のナビゲーションメニュー表示/非表示のスタイルはJSで制御 */

    .footer-plan-name {
        font-size: 14px;
    }

    .footer-company-name {
        font-size: 14px;
    }

    .footer-copyright {
        font-size: 12px;
    }

    #about-plan .training-cards {
        flex-direction: column;
        gap: 16px;
    }
    #about-plan .training-cards .card {
        width: 100%;
    }
    #about-plan .plus-icon {
        transform: rotate(90deg);
        margin: 16px 0;
    }
    #about-plan .benefit-card {
        flex-direction: column;
        text-align: center;
    }
    #about-plan .benefit-badge {
        margin-right: 0;
        margin-bottom: 16px;
    }

    #schedule .schedule-cards {
        flex-direction: column;
    }
    #schedule .schedule-cards .card {
        width: 100%;
    }

    #schedule-example .schedule-group {
        margin-bottom: 24px;
    }

    #pricing .pricing-card {
        width: 100%;
    }

    #flow .flow-cards {
        flex-direction: column;
    }
    #flow .flow-cards .flow-card {
        width: 100%;
        margin-bottom: 16px;
    }
    #flow .flow-cards .flow-card:last-child {
        margin-bottom: 0;
    }

    #company-info .company-card {
        padding: 24px;
    }
    #company-info .company-table td {
        padding: 12px 8px;
        display: block; 
        width: 100%;
        box-sizing: border-box;
    }
    #company-info .company-table td:first-child {
        font-weight: bold;
        margin-bottom: 4px;
        border-bottom: none;
    }
     #company-info .company-table tr td + td {
        border-top: 1px solid #E5E7EB; 
    }
    #company-info .company-table tr:last-child td:last-child {
        border-bottom: none;
    }
}

#hero {
    /* Figma: Frame 9 (id: 17:155) & Container (id: 2:5) */
    /* Background image, gradients, text styles will be added here */
}

#about-plan {
    /* Figma: Section (id: 2:23) */
    padding: 64px 0;
}

#about-plan h2 {
    /* Figma: Heading 2 (id: 2:25) */
    font-size: 30px;
    font-weight: 700;
    border-left: 5px solid #D2161A; /* stroke_1KLTX8 */
    padding-left: 17px;
    margin-bottom: 24px;
}

.training-cards {
    display: flex;
    justify-content: space-between;
    align-items: center; /* 中央揃え */
    margin-bottom: 24px;
}

.training-cards .card {
    /* Figma: Border (2:28, 2:36) */
    background-color: #FFFFFF; /* fill_OP1Y4M */
    padding: 24px 32px;
    border-radius: 8px;
    width: calc(50% - 36px); /* (1152px - 24px*2 gap - 24px plus-icon) / 2 */
    box-sizing: border-box; 
}

.training-cards .experience-training {
    border: 2px solid #2084C5; /* stroke_Z5IDS8 */
}

.training-cards .framework-training {
    border: 2px solid #FF6B00; /* stroke_YNHSSH */
}

.card-header {
    display: flex;
    /* justify-content: space-between; */
    align-items: end; /* ロゴとテキストを縦中央揃え */
    margin-bottom: 16px; /* Figmaのgap */
}

.card-header h3 {
    /* Figma: Heading 3 (2:30, 2:38) */
    font-size: 20px; /* style_YXV58Q */
    font-weight: 700;
    line-height: 1.4;
}

.experience-training .card-header h3 {
    color: #2084C5; /* fill_2ZQVSZ */
}

.framework-training .card-header h3 {
    color: #E96303; /* fill_DROXTE */
}

.card-header img {
    height: auto; /* Figmaのロゴサイズに合わせる */
    width: 148px;
    margin-left: 16px;
}
.benefit-content .card-header img {
    height: auto; /* Figmaのロゴサイズに合わせる */
    width: 83px;
}

.training-cards .card p {
    /* Figma: Paragraph (2:32, 2:40) */
    font-size: 16px; /* style_BSX27T */
    font-weight: 350;
    line-height: 1.6;
    color: #333333; /* fill_C5F0HB */
}

.plus-icon {
    /* Figma: Margin (2:33) & Symbol (2:35) */
    font-size: 24px; /* アイコンサイズを小さく変更 */
    color: #374151; /* fill_OY1BD5 */
    font-weight: 700; /* Noto Sans JP Bold */
    margin: 0 12px; /* Flexアイテム間のマージン調整 */
}

.plus-icon i {
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.benefit-card {
    /* Figma: Border (2:41) */
    background-color: #FFFFFF; /* fill_OP1Y4M */
    border: 1px solid #E5E5E5; /* stroke_R2NJKJ */
    border-radius: 8px;
    padding: 24px;
    display: flex;
    align-items: center;
    margin-bottom: 24px;
}

.benefit-badge {
    /* Figma: Frame 6 (16:7) */

    padding: 22px 30px; 
    text-align: center;
    margin-right: 24px; /* Figmaのgap */
    height: 100px; /* Figmaのサイズ */
    width: 100px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.benefit-badge i.fa-star {
    font-size: 24px; /* アイコンサイズ調整 */
    margin-bottom: 5px;
}

.benefit-badge span {
    font-size: 20px; /* style_YXV58Q */
    font-weight: 700;
    line-height: 1.1; /* 少し詰める */
}

.benefit-content .card-header h3 {
    color: #333333; /* fill_C5F0HB */
}

.benefit-content p {
    /* Figma: Paragraph (2:45) */
    font-size: 16px; /* style_BSX27T */
    font-weight: 350;
    line-height: 1.6;
    color: #333333; /* fill_C5F0HB */
}

.benefit-content .note {
    /* Figma: ※受講期間中無償で閲覧可能 (2:46) */
    font-size: 14px; /* style_5K7BTI */
    font-weight: 350;
    line-height: 1.42;
    color: #333333; /* fill_C5F0HB */
    margin-top: 8px; /* 適度なマージン */
}

.subsidy-explanation {
    /* Figma: Background+Border (2:51) */
    background-color: #F0F9FF; /* fill_Y2QMUX */
    border: 1px solid #BFDBFE; /* stroke_N2I1KT */
    border-radius: 8px;
    padding: 32px 33px;
}

.subsidy-explanation p {
    font-size: 16px; /* style_BSX27T and style_FV0KF6 (font-weight differs) */
    line-height: 1.6;
    color: #333333; /* fill_C5F0HB */
    margin-bottom: 16px; /* Figmaのgap */
}

.subsidy-explanation p:last-of-type {
    margin-bottom: 0;
}

.subsidy-explanation p.note {
    /* Figma: ※助成金の受給を保証するものではありません... (2:57) */
    font-size: 14px; /* style_5K7BTI */
    font-weight: 350;
    line-height: 1.42;
    color: #D2161A; /* fill_HBISFE */
    margin-top: 16px; /* 前のpからのマージン */
}

#schedule {
    /* Figma: Section (id: 2:58) */
    background-color: #F3F4F6; /* fill_CZIJTX */
    padding: 64px 0;
}

#schedule h2 {
    /* Figma: Heading 2 (id: 2:60) */
    font-size: 30px;
    font-weight: 700;
    border-left: 5px solid #D2161A; /* stroke_1KLTX8 */
    padding-left: 17px;
    margin-bottom: 24px;
}

.schedule-cards {
    display: flex;
    justify-content: space-between;
    gap: 32px; /* Figma: gap 32px */
}

.schedule-cards .card {
    /* Figma: Frame 3 (2:362), Frame 4 (2:363) */
    background-color: #FFFFFF; /* fill_OP1Y4M */
    border-radius: 8px;
    padding: 24px;
    width: calc(50% - 16px); /* (1152px - 32px gap) / 2 */
    box-sizing: border-box;
    box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.25); /* effect_DNWXVS */
}

.schedule-cards .experience-schedule {
    border: 2px solid #2084C5; /* stroke_Z5IDS8 */
}

.schedule-cards .framework-schedule {
    border: 2px solid #FF6B00; /* stroke_YNHSSH */
}

.schedule-cards .card-header {
    display: flex;
    /* justify-content: space-between; */
    align-items: center;
    margin-bottom: 21px; /* Figma: gap 21px */
}

.icon-title {
    display: flex;
    align-items: center;
    gap: 16px; /* Figma: gap 16px */
}

.icon-title i {
    /* Figma: Symbol (2:66, 2:89) */
    font-size: 24px; /* style_PLSW9P */
}

.experience-schedule .icon-title i {
    color: #2084C5; /* fill_2ZQVSZ */
}

.framework-schedule .icon-title i {
    color: #E96303; /* fill_DROXTE */
}

.schedule-cards .card-header h3 {
    /* Figma: Heading 3 (2:68, 2:91) */
    font-size: 20px; /* style_YXV58Q */
    font-weight: 700;
    line-height: 1.4;
}

.experience-schedule .card-header h3 {
    color: #2084C5; /* fill_2ZQVSZ */
}

.framework-schedule .card-header h3 {
    color: #E96303; /* fill_DROXTE */
}

.schedule-cards .card-header img {
    height: 29.7px; /* Figmaのロゴサイズ */
    width: auto;
}

.schedule-cards .method {
    /* Figma: オフライン＋ワークショップ (2:70), オンライン＋ワークショップ (2:93) */
    font-size: 16px; /* style_VCZXC5 */
    font-weight: 700;
    line-height: 1.6;
    margin-bottom: 8px; /* Figmaの構造から類推 */
}

.experience-schedule .method {
    color: #2084C5; /* fill_2ZQVSZ */
}

.framework-schedule .method {
    color: #E96303; /* fill_DROXTE */
}

.schedule-cards .duration {
    /* Figma: 2時間 × 2回... (2:72), 2時間 × 6回... (2:95) */
    font-size: 18px; /* style_FV0KF6 */
    font-weight: 700;
    line-height: 1.55;
    color: #333333; /* fill_C5F0HB */
    margin-bottom: 16px; /* Figmaの構造から類推 */
}

.program-list {
    /* Figma: List (2:73, 2:96) */
    list-style: none;
    padding-left: 20px; /* Figma: padding left 20px */
    position: relative; /* For ::before positioning */
    margin-top: 32px; /* Create space for the label */
}

.program-list::before {
    content: "例";
    position: absolute;
    top: -24px; /* Position label within the margin-top of .program-list */
    left: 0px;   /* Align with the start of .program-list content box */
    background-color: #D2161A; /* Accent red color */
    color: #FFFFFF;
    padding: 4px 8px;
    font-size: 14px;
    font-weight: bold;
    border-radius: 14px;
    line-height: 1; /* For consistent padding effect */
}

.program-list li {
    /* Figma: Item (e.g., 2:75) */
    font-size: 16px; /* style_BSX27T */
    font-weight: 350;
    line-height: 1.6;
    color: #333333; /* fill_C5F0HB */
    margin-bottom: 7px; /* Figma: gap 7px */
    position: relative; /* for custom bullet */
}

.program-list li::before {
    content: "\2013"; /* en dash or a similar looking character from Figma */
    position: absolute;
    left: -15px; /* Adjust as needed */
    color: #333333; /* fill_C5F0HB */
}

#schedule-example {
    /* Figma: Section (id: 2:112) */
    background-color: #F9FAFB; /* fill_63CA1F */
    padding: 64px 0;
}

#schedule-example h2 {
    /* Figma: Heading 2 (id: 2:114) */
    font-size: 30px;
    font-weight: 700;
    border-left: 5px solid #D2161A; /* stroke_1KLTX8 */
    padding-left: 16px; /* Figmaでは16pxだが、他と合わせるため17pxを検討 */
    margin-bottom: 24px;
}

.schedule-table-container {
    display: flex;
    flex-direction: column;
    gap: 40px; /* 各研修グループ間のgap */
}

.schedule-group {
    /* No direct Figma equivalent, logical grouping */
}

.schedule-header {
    display: flex;
    /* justify-content: space-between; */
    align-items: center;
    margin-bottom: 16px; /* テーブルとのマージン */
}

.schedule-header .icon-title i {
    font-size: 24px; /* style_PLSW9P */
}

.schedule-header.experience-header .icon-title i {
    color: #2084C5; /* fill_2ZQVSZ */
}

.schedule-header.framework-header .icon-title i {
    color: #E96303; /* fill_DROXTE */
}

.schedule-header h3 {
    font-size: 20px; /* style_YXV58Q */
    font-weight: 700;
    line-height: 1.4;
}

.schedule-header.experience-header h3 {
    color: #2084C5; /* fill_2ZQVSZ */
}

.schedule-header.framework-header h3 {
    color: #E96303; /* fill_DROXTE */
}

.schedule-header img {
    height: auto; /* Figmaのロゴサイズ */
    width: 148px;
    margin-left: 16px;
}

.table-responsive {
    overflow-x: auto; /* 横スクロールを可能にする */
    border: 2px solid #999999; /* Figmaのテーブル枠線に合わせる */
    border-radius: 8px; /* Figmaのテーブルの角丸に合わせる */
}

.schedule-table {
    /* Figma: Table (2:368, 2:117) */
    width: 100%;
    border-collapse: collapse;
  
    border-radius: 8px; /* CSSでtable全体にradiusは難しいので、親要素で対応するか省略 */
    font-size: 16px; /* style_LMCRDS */
    line-height: 1.2;
}

.schedule-table th,
.schedule-table td {
    border: none !important; /* Figmaデザインに合わせて枠線を削除 */
    padding: 12px 16px; /* From Figma */
    text-align: left;
}

.schedule-table thead th {
    /* Figma: Header -> Row (2:369, 2:118) */
    font-weight: 700; /* style_4SWI0X */
    color: #FFFFFF; /* fill_OP1Y4M */
}

.experience-table thead th {
    background-color: #2084C5; /* fill_2ZQVSZ */
    width: calc(100% / 6); /* 6列なので各列の幅を均等にする */
}

.framework-table thead th {
    background-color: #FF6B00; /* fill_C49LT9 */
    width: calc(100% / 6); /* 6列なので各列の幅を均等にする */
}

.schedule-table tbody td {
    background-color: #FFFFFF; /* fill_OP1Y4M (default cell background) */
    color: #333333; /* fill_C5F0HB (default text color) */
    /* Figmaでは一部の行の背景色が異なる(fill_CZIJTX)が、ここでは簡略化 */
    border-right: 1px solid #F3F4F6 !important; /* 右側に1pxの枠線を追加 */
    vertical-align: top;
}

.experience-table tbody tr:nth-child(odd) td {
     background-color: #F3F4F6; /* fill_CZIJTX for odd rows */
     border-right: 1px solid #FFFFFF !important; /* 右側に1pxの枠線を追加 */
}

.schedule-table tbody tr td:last-child {
    border-right: none !important; /* 最後のセルは右枠線なし */
}

.framework-table tbody tr:nth-child(odd) td {
     background-color: #F3F4F6; /* fill_CZIJTX for odd rows */
     border-right: 1px solid #FFFFFF !important; /* 右側に1pxの枠線を追加 */
}

.schedule-note {
    /* Figma: (2:165, 2:411) */
    font-size: 14px; /* style_5K7BTI */
    font-weight: 350;
    color: #4B5563; /* fill_6EZ1Z3 */
    margin-top: 16px;
}

#pricing {
    /* Figma: Section (id: 2:166) */
    background-color: #F3F4F6; /* fill_CZIJTX */
    padding: 64px 0;
}

#pricing h2 {
    /* Figma: Heading 2 (id: 2:168) */
    font-size: 30px;
    font-weight: 700;
    border-left: 5px solid #D2161A; /* stroke_1KLTX8 */
    padding-left: 17px;
    margin-bottom: 24px;
}

.pricing-card-container {
    display: flex; /* 中央寄せのため */
    justify-content: center;
}

.pricing-card {
    /* Figma: Background+Shadow (2:170) */
    background-color: #FFFFFF; /* fill_OP1Y4M */
    border-radius: 8px;
    padding: 32px;
    width: 512px; /* Figma: width 512px */
    box-sizing: border-box;
    box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.06), 0px 4px 6px -1px rgba(0, 0, 0, 0.1); /* effect_KWB1OK */
    text-align: center;
}

.price-label {
    /* Figma: 1人当たり (2:172) */
    font-size: 20px; /* style_EQ2RWA */
    font-weight: 350;
    color: #333333; /* fill_C5F0HB */
    line-height: 1.4;
    margin-bottom: 4px; /* Figma: gap 4px */
}

.price {
    /* Figma: 120,000円 (2:174) */
    font-size: 36px; /* style_6MN35D */
    font-weight: 700;
    color: #D2161A; /* fill_HBISFE */
    line-height: 1.11;
    margin-bottom: 4px; /* Figma: gap 4px */
}

.tax-note {
    /* Figma: (税別) (2:175) */
    font-size: 18px; /* style_GT70FI */
    font-weight: 700; /* Noto Sans JP Bold, but color is same as price */
    line-height: 1.55;
    vertical-align: middle; /* 見た目の調整 */
    margin-left: 8px;
}

.condition {
    /* Figma: ※20名様以上からお受けいたします (2:177) */
    font-size: 14px; /* style_UQ3N1Y */
    font-weight: 350;
    color: #333333; /* fill_C5F0HB */
    line-height: 1.42;
    padding: 12px 0 24px; /* Figma: padding top 12px, bottom 24px */
}

.subsidy-applied-price {
    /* Figma: Background (2:178) */
    background-color: #FEF3C7; /* fill_B076B8 */
    border-radius: 8px;
    padding: 24px;
}

.subsidy-applied-price p {
    font-size: 14px; /* ユーザー指定のフォントサイズ */
    line-height: 1.6; /* 標準的な行間 */
    color: #333333; /* fill_C5F0HB - pricing card内の他のテキストカラーに合わせる */
    margin-bottom: 8px; /* 段落間のマージン */
}

.subsidy-applied-price p:last-child {
    margin-bottom: 0; /* 最後の段落のマージンを削除 */
}

.subsidy-label {
    /* Figma: 助成金適用で実質負担 (2:180) */
    font-size: 20px; /* style_VXKHUA */
    font-weight: 700;
    color: #333333; /* fill_C5F0HB */
    line-height: 1.4;
    margin-bottom: 8px; /* Figma: gap 8px */
}

.price-comparison {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px; /* Figmaには明確なgap指定なし、調整 */
    margin-bottom: 8px; /* Figma: gap 8px */
}

.original-price-strike {
    /* Figma: 120,000円 (2:184) */
    font-size: 24px; /* style_23XY9O */
    font-weight: 700;
    color: #333333; /* fill_C5F0HB */
    line-height: 1.33;
    text-decoration: line-through;
}

.discounted-price {
    /* Figma: 30,000円〜48,000円/人 (2:186) */
    font-size: 24px; /* style_23XY9O */
    font-weight: 700;
    color: #DC2626; /* fill_AYQ2EK */
    line-height: 1.33;
}

.subsidy-condition {
    /* Figma: ※中小企業:75%助成... (2:188) */
    font-size: 14px; /* style_UQ3N1Y */
    font-weight: 350;
    color: #4B5563; /* fill_6EZ1Z3 */
    line-height: 1.42;
}


#contact-cta {
    /* Figma: Section (id: 2:725) */
    background-color: #1F2937; /* fill_FBR9V5 */
    color: #FFFFFF; /* fill_OP1Y4M for text */
    padding: 64px 0;
    text-align: center;
}

#contact-cta h2 {
    /* Figma: Heading 2 (id: 2:727) */
    font-size: 30px; /* style_WLYIVZ */
    font-weight: 700;
    color: #FFFFFF; /* 親要素から継承 */
    margin-bottom: 24px;
}

.cta-subtitle {
    /* Figma: まずはお気軽にお問い合わせください (2:730) */
    font-size: 18px; /* style_GOFFZM */
    font-weight: 350;
    color: #FFFFFF; /* 親要素から継承 */
    line-height: 1.55;
    margin-bottom: 16px; /* Figma: padding bottom 16px to button */
}

.cta-button {
    /* Figma: Link (2:731) */
    display: inline-block;
    background-color: #FFE100; /* fill_R9M24E */
    color: #1F2937; /* fill_FBR9V5 (text color on button) */
    font-size: 18px; /* style_GT70FI (for text) */
    font-weight: 700;
    text-decoration: none;
    padding: 16px 32px; /* Figmaのpaddingから類推 (height 60, text height approx 28) */
    border-radius: 8px; /* borderRadius 8px */
    box-shadow: 0px 4px 6px -2px rgba(0, 0, 0, 0.05), 0px 10px 15px -3px rgba(0, 0, 0, 0.1); /* effect_Z3ESRE */
    transition: background-color 0.3s ease;
}

.cta-button i {
    /* Figma: Symbol (2:734) */
    margin-left: 8px; /* アイコンとテキストの間隔 */
    font-size: 18px; /* style_WRGG8P */
}

.cta-button:hover {
    background-color: #F0D100; /* ホバー時の色を少し暗く */
}

#subsidy-details {
    /* Figma: Section (id: 17:29) */
    background-color: #F9FAFB; /* fill_63CA1F */
    padding: 64px 0;
}

#subsidy-details h2 {
    /* Figma: Heading 2 (id: 17:31) */
    font-size: 30px;
    font-weight: 700;
    border-left: 5px solid #D2161A; /* stroke_1KLTX8 */
    padding-left: 17px;
    margin-bottom: 24px;
}

#flow {
    /* Figma: Section (id: 2:189) */
    background-color: #F3F4F6; /* fill_CZIJTX */
    padding: 64px 0;
}

#flow h2 {
    /* Figma: Heading 2 (id: 2:191) */
    font-size: 30px;
    font-weight: 700;
    border-left: 5px solid #D2161A; /* stroke_1KLTX8 */
    padding-left: 17px;
    margin-bottom: 30px; /* Figma: gap 30px */
}

.flow-cards {
    display: flex;
    justify-content: space-between;
    gap: 32px; /* Figma: gap 32px */
}

.flow-card {
    /* Figma: Background+Shadow (e.g., 2:194) */
    background-color: #FFFFFF; /* fill_OP1Y4M */
    border-radius: 8px;
    padding: 24px;
    width: calc(25% - 24px); /* (1152px - 32px*3 gap) / 4 */
    box-sizing: border-box;
    box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.06), 0px 4px 6px -1px rgba(0, 0, 0, 0.1); /* effect_KWB1OK */
    text-align: center;
}

.flow-step-number {
    /* Figma: Background (e.g., 2:195) */
    background-color: #D2161A; /* fill_HBISFE */
    color: #FFFFFF; /* fill_OP1Y4M */
    font-size: 16px; /* style_C2SQ5M */
    font-weight: 700;
    line-height: 1.6;
    width: 40px; /* Figma: width 40px */
    height: 40px; /* Figma: height 40px */
    border-radius: 20px; /* Figma: borderRadius 20px */
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto 13px; /* Figma: gap 13px below */
}

.flow-card h3 {
    /* Figma: Heading 3 (e.g., 2:198) */
    font-size: 18px; /* style_GT70FI */
    font-weight: 700;
    color: #333333; /* fill_C5F0HB */
    line-height: 1.55;
    margin-bottom: 13px; /* Figma: gap 13px below */
}

.flow-card p {
    /* Figma: Paragraph (e.g., 2:200) */
    font-size: 16px; /* style_69BL0L */
    font-weight: 350;
    color: #333333; /* fill_C5F0HB */
    line-height: 1.6;
}

#company-info {
    /* Figma: Section (id: 2:222) */
    background-color: #F9FAFB; /* fill_63CA1F */
    padding: 64px 0;
}

#company-info h2 {
    /* Figma: Heading 2 (id: 2:224) */
    font-size: 30px;
    font-weight: 700;
    border-left: 5px solid #D2161A; /* stroke_1KLTX8 */
    padding-left: 17px;
    margin-bottom: 30px; /* Figma: gap 30px */
}

.company-card {
    /* Figma: Background+Shadow (2:226) */
    background-color: #FFFFFF; /* fill_OP1Y4M */
    border-radius: 8px;
    padding: 32px;
    box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.06), 0px 4px 6px -1px rgba(0, 0, 0, 0.1); /* effect_KWB1OK */
    display: flex;
    flex-direction: column;
    align-items: center; /* Figma: alignItems center */
}

.company-logo {
    /* Figma: SYM_logo_RGB (Instance) (17:136) */
    margin-bottom: 32px; /* Figmaのレイアウトから推測 */
}

.company-logo img {
    width: 300px; /* Figmaのサイズ */
    height: auto;
}

.company-table {
    /* Figma: Table (2:227) */
    width: 100%;
    border-collapse: collapse;
}

.company-table td {
    /* Figma: Row (e.g., 2:229) -> Data (e.g., 2:230, 2:232) */
    padding: 16px 24px; /* Figma: padding 16px 24px */
    font-size: 16px; /* style_4SWI0X (label), style_LMCRDS (value) */
    line-height: 1.2; /* style_4SWI0X, style_LMCRDS */
    color: #333333; /* fill_C5F0HB */
    border-bottom: 1px solid #E5E7EB; /* stroke_6SRWIK */
}

.company-table tr:last-child td {
    border-bottom: none;
}

.company-table td:first-child {
    font-weight: 700; /* style_4SWI0X (label is bold) */
    width: 150px; /* ラベルの幅を固定、調整可能 */
    vertical-align: top; /* 事業内容が長い場合のため */
}


#final-cta {
    /* Figma: Section (id: 2:254) */
    background-color: #1F2937; /* fill_FBR9V5 */
    color: #FFFFFF; /* fill_OP1Y4M for text */
    padding: 64px 0;
    text-align: center;
}

#final-cta h2 {
    /* Figma: Heading 2 (id: 2:256) */
    font-size: 30px;
    font-weight: 700;
    margin-bottom: 24px;
}

footer {
    /* Figma: Footer (id: 2:264) */
    background-color: #D2161A; /* fill_HBISFE */
    color: #FFFFFF; /* fill_OP1Y4M for text */
    padding: 31px 0 32px;
    text-align: center;
}

.footer-plan-name {
    /* Figma: マーケティング基礎総合研修プラン (2:268) */
    font-size: 16px; /* style_IYN08F */
    font-weight: 700;
    line-height: 1.6;
    margin-bottom: 7px; /* Figmaのgapから類推 */
}

.footer-company-name {
    /* Figma: シナジーマーケティング株式会社 (2:270) */
    font-size: 16px; /* style_69BL0L */
    font-weight: 350; /* Figma上はRegularだが、style_69BL0Lは350のため合わせる */
    line-height: 1.6;
    margin-bottom: 9px; /* Figmaのgapから類推 */
}

.footer-copyright {
    /* Figma: © 2025 Synergy Marketing, Inc. (2:272) */
    font-size: 14px; /* style_UQ3N1Y */
    font-weight: 350;
    line-height: 1.42;
} 