@charset "utf-8";

:root {
    /* 基本サイズ */
    --base-width-pc: 1440;
    --base-width-sp: 768;
    --section-padding-inline: 150;
    --section-padding-inline2: 120;

    /* 共通レイアウト */
    --header-height: 56px;
    --margin-between-header: 20px;
    --margin-bottom1: clamp(50px, calc(120 / 1440 * 100vw), 120px);

    /* カラー */
    --color-main: #2FAA9E;
    --color-sub1: #F5851F;
    --color-sub2: #324473;

    /* タイポグラフィー */
    --font-sub1: "Montserrat", 'Noto Sans JP', sans-serif;
    --font-sub2: "Inter", 'Noto Sans JP', sans-serif;

    /* セクション内パディング（安全領域） */
    --section-padding-pc: clamp(20px, calc(var(--section-padding-inline) / var(--base-width-pc) * 100vw), var(--section-padding-inline) * 1px);
    --section-padding-pc2: clamp(20px, calc(var(--section-padding-inline2) / var(--base-width-pc) * 100vw), var(--section-padding-inline2) * 1px);
    --section-padding-sp: clamp(20px, calc(50 / var(--base-width-sp) * 100vw), 50px);

    /* 画面が広い時の左右センタリング余白 */
    --side-gap: calc((100vw - var(--base-width-pc) * 1px) / 2);

    /* 実際に使うインラインパディング（安全領域 or 余白の大きい方） */
    --section-padding-pc-maxWidth: max(var(--section-padding-pc), var(--side-gap));
    --section-padding-pc2-maxWidth: max(var(--section-padding-pc2), var(--side-gap));
}

@media screen and (max-width: 1000px) {
    :root {
        /* 共通レイアウト */
        --header-height: 40px;
        --margin-between-header: 15px;
    }
}