/* 画面幅が480pxまでの時 ========================================================================================== 画面幅が480pxまでの時 */

@media screen and (max-width: 480px) {

    body {
        min-width: 99svw;
        min-height: 99svh;
        max-width: 480px;
        font-size: 16pt;
        line-height: 24pt;
    }

    /* 文章DIV */
    .text_r,
    .text_c,
    .text_l,
    .footer {
        width: auto;
    }

    /* タイトルロゴ */
    .title {
        width: 50svw;
        text-align: center;
    }

    /* コンテンツボタン */
    .c_button {
        width: 100px;
        box-sizing: border-box;
    }

    /* 枠内余白 */
    .padding {
        padding: 10px 10px 10px 10px;
    }

    /* 枠外余白 */
    .margin {
        margin: 10px 10px 10px 10px;
    }

    /* 引用 */
    .indent {
        padding: 0 10px 0 10px;
    }

    /* フッター */
    .md-flex,
    .copyright {
        text-align: center;
    }

    .none_s {
        display: none;
    }
}

.con_area {
    width: 100%;
    padding: 10px;

}

/* 画面幅が481～750pxまでの時 ===================================================================================== 画面幅が481～750pxまでの時 */

@media screen and (min-width: 481px) and (max-width: 750px) {

    body {
        min-width: 99svw;
        min-height: 99svh;
        max-width: 750px;
        font-size: 14pt;
        line-height: 21pt;
    }

    /* 文章DIV */
    .text_r,
    .text_c,
    .text_l,
    .footer {
        width: auto;
        box-sizing: border-box;
        /* ボーダーとpaddingを含める */
    }

    /* タイトルロゴ */
    .title {
        width: 70svw;
    }

    /* コンテンツボタン */
    .c_button {
        width: 125px;
        box-sizing: border-box;
    }

    /* 枠内余白 */
    .padding {
        padding: 30px 30px 30px 30px;
    }

    /* 枠外余白 */
    .margin {
        margin: 30px 30px 30px 30px;
    }

    /* 引用 */
    .indent {
        padding: 0 30px 0 30px;
    }

    /* フッター */
    .md-flex,
    .copyright {
        text-align: center;
    }

    .none_m {
        display: none;
    }
}

.con_area {
    width: 80%;
    padding: 10px;

}

/* 画面幅が751px以上の時 ========================================================================================== 画面幅が751px以上の時 */

@media screen and (min-width: 751px) {

    body {
        min-width: 99svw;
        min-height: 99svh;
        max-width: 1200px;
        font-size: 12pt;
        line-height: 18pt;
    }

    /* 文章DIV */
    .text_r,
    .text_c,
    .text_l,
    .footer {
        width: auto;
        box-sizing: border-box;
        /* ボーダーとpaddingを含める */
    }

    /* タイトルロゴ */
    .title {
        width: 50svw;
    }

    /* コンテンツボタン */
    .c_button {
        width: 150px;
        box-sizing: border-box;

    }

    /* 非表示 */
    .h_l {
        display: none;
    }

    /* 枠内余白 */
    .padding {
        padding: 50px 50px 50px 50px;
    }

    /* 枠外余白 */
    .margin {
        margin: 50px 50px 50px 50px;
    }

    /* 引用 */
    .indent {
        padding: 0 50px 0 50px;
    }

    /* フッター */
    .footer {
        display: flex;
        justify-content: space-between;
    }

    .md-flex {
        display: flex;
        text-align: left;
    }

    .copyright {
        display: flex;
        justify-content: right;
        align-items: right;
    }

    .none_l {
        display: none;
    }

    .con_area {
        width: 80%;
        padding: 30px;

    }

}

/* ===================================================
	パソコン画面用の配置（画面横幅が769px以上の場合）
=================================================== */
@media screen and (min-width: 1101px) {

    html,
    body {
        overflow: hidden !important;
    }

    .title_img {
        top: 350px;
        right: 400px;
        margin: auto;
        position: absolute;
        transform: translate(-50%, -50%);
        z-index: 1;
    }

    .menu_1 {
        top: 100px;
        right: 50px;
        position: absolute;
        z-index: 2;
    }

    .menu_2 {
        top: 250px;
        right: 50px;
        margin: 0 auto;
        position: absolute;
        z-index: 2;
    }

    .menu_3 {
        top: 400px;
        right: 50px;
        margin: 0 auto;
        position: absolute;
        z-index: 2;
    }

    .menu_4 {
        top: 500px;
        right: 50px;
        margin: 0 auto;
        position: absolute;
        z-index: 2;
    }

    .menu_5 {
        bottom: 50px;
        left: 50px;
        position: absolute;
        z-index: 2;
    }

    .menu_6 {
        top: 50px;
        left: 50px;
        position: absolute;
        z-index: 2;
    }

    .menu_7 {
        bottom: 30px;
        right: 600px;
        margin: 0 auto;
        position: absolute;
        z-index: 2;
    }
}

/* ===================================================
	スマホ・タブレット画面用の配置（画面横幅が768px以下の場合）
=================================================== */
@media screen and (max-width: 1100px) {

    html,
    body {
        height: auto !important;
        /* 縦スクロールできるようにする */
        overflow-y: auto !important;
    }

    .t_area {
        display: flex !important;
        flex-direction: column !important;
        /* 上から下に縦並びにする */
        align-items: center !important;
        /* 中央寄せ */
        gap: 20px !important;
        /* 画像同士のすき間 */
        padding: 40px 20px !important;
        height: auto !important;
    }

    /* スマホ時は絶対配置をすべて解除して重なりを防ぐ */
    .title_img,
    .menu_1,
    .menu_2,
    .menu_3,
    .menu_4,
    .menu_5,
    .menu_6,
    .menu_7 {
        position: static !important;
        transform: none !important;
        max-width: 80% !important;
        /* スマホ画面に収まるサイズ */
    }

    /* タイトル画像を一番上に表示したい場合の順序調整 */
    .title_img {
        order: -1 !important;
        width: 250px !important;
    }
}