@charset "utf-8";

:root {
    /* 基本サイズ */
    --base-width-pc: 1100;
    --base-width-break: 750;
    --base-width-sp: 375;
    --section-padding-inline: 185;
    --section-padding-inline2: 120;

    /* 共通レイアウト */
    --header-height: 118px;
    --margin-between-header: 20px;
    --margin-bottom1: clamp(50px, calc(120 / var(--base-width-pc) * 100vw), 120px);

    /* カラー */
    --color-main: #2FAA9E;
    --color-yellow: #FCEE21;
    --color-orange: #F15A24;
    --color-blue: #0071BC;

    /* タイポグラフィー */
    --font-main: "メイリオ", Meiryo, "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
    --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(37 / var(--base-width-break) * 100vw), 37px);

    /* 画面が広い時の左右センタリング余白 */
    /* 最大幅 --base-width-pc としたい場合*/
    /* --side-gap: calc((100vw - var(--base-width-pc) * 1px) / 2); */
    /* 最大幅 --base-width-pc - --section-padding-inline としたい場合*/
    --side-gap: calc((100vw - (var(--base-width-pc) - var(--section-padding-inline)) * 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: clamp(60px, calc(84/var(--base-width-break)*100vw), 84px);
        --margin-between-header: 15px;
    }
}