@charset "utf-8";

:root {
    /* 基本サイズ */
    --base-width-pc: 1440;
    --base-width-sp: 768;
    --section-padding-inline: 170;
    --section-padding-inline2: 16;

    /* 共通レイアウト */
    --header-height: 70px;
    --margin-between-header: 20px;
    --margin-bottom1: clamp(70px, calc(120 / 1440 * 100vw), 120px);

    /* カラー */
    --color-main: #2FAA9E;
    --color-gray-back: #EEE;
    --color-sub2: #324473;

    /* タイポグラフィー */
    --font-main: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    --font-sub1: "Krona One", 'Noto Sans JP', sans-serif;
    --font-sub2: "Inter", 'Noto Sans JP', sans-serif;
    --font-sub3: "Roboto Mono", '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); */
    --section-padding-sp: 16px;

    /* 画面が広い時の左右センタリング余白 */
    --side-gap: calc((100vw - (var(--base-width-pc) - var(--section-padding-inline)) * 1px) / 2);

    /* 実際に使うインラインパディング（安全領域 or 余白の大きい方） */
    --section-padding-pc-maxWidth: max(var(--section-padding-pc), calc((100% - 73%)/2));
    /* --section-padding-pc2-maxWidth: max(var(--section-padding-pc2), calc((100% - 90%)/2)); */
    --section-padding-pc2-maxWidth: var(--section-padding-pc2);
}

@media screen and (max-width: 1000px) {
    :root {
        /* 共通レイアウト */
        --header-height: clamp(40px, calc(70/768*100vw), 70px);
        --margin-between-header: 30px;
    }
}