@charset "utf-8";

/* フォント読み込み */
@font-face {
    font-family: 'Open Sans Bold';
    src: url('../fonts/OpenSans-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}


:root {
    /* 基本サイズ */
    --base-width-pc: 1440;
    --base-width-break: 768;
    --base-width-sp: 661;
    --section-padding-inline: 150;
    --section-padding-inline2: 120;

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

    /* カラー */
    --color-main: #00418E;
    --color-sub1: #F5851F;
    --color-sub2: #324473;

    /* タイポグラフィー */
    --font-main: "Yu Gothic", "游ゴシック体", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    /* --font-sub1: "Graduate", "Yu Gothic", "游ゴシック体", sans-serif; */
    --font-sub1: "Open Sans Bold", "Yu Gothic", "游ゴシック体", sans-serif;
    --font-sub2: "Hiragino Kaku Gothic ProN", "Yu Gothic", "游ゴシック体", 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);

    /* 画面が広い時の左右センタリング余白 */
    /* 最大幅 --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: 600px) {
    :root {
        /* 共通レイアウト */
        --header-height: 40px;
        --margin-between-header: 15px;
    }
}