/* Bootstrapの場合は不要
body {
	margin: 0px;
	padding: 0px;
}
*/

/** メニューを中央に配置するためのインナー */
.section-inner {
    width: 1000px;
    max-width: 100%;
    margin: auto;
}

/** PC 用 */
@media (min-width: 1001px) {

    .global_menu {
        background-color: #FFE8DC;
    }

    .g_menu_hr {
        padding: 22px 0px;
        color: #CCCCCC;
    }

    /** グローバルナビリスト (1階層目) */
    .g_menu_list {
        display: flex;
        justify-content: space-between;
    }

    /** グローバルナビ項目 (1階層目) */
    .g_menu {
        display: flex;
        position: relative;
        /* background-color: #E7BCBD; */
        margin: 5px;
        text-align: center;
    }

    .g_menu>a {
        display: block;
        position: relative;
        width: 100%;
        padding: 15px;
        font-size: 18px;
        font-weight: 700;
        color: #424242;
        text-decoration: none;
        transform: rotate(0.05deg);
    }

    .g_menu>a::after {
        display: block;
        content: '';
        position: absolute;
        bottom: 0;
        right: 0;
        left: 0;
        height: 3px;
        background: #008042;
        opacity: 0;
        transition: 0.2s opacity;
    }

    .g_menu:hover>a::after {
        opacity: 1;
    }

    /** グローバルナビリスト (2階層目) */
    .g_menu2_list {
        position: absolute;
        top: 100%;
        width: calc(100% + 30px);
        min-width: 240px;
        left: 50%;
        border-radius: 2px;
        background: white;
        box-shadow: 0 5px 10px rgba(0, 0, 0, 0.15);
        overflow: hidden;
        opacity: 0;
        transform: translateX(-50%);
        transition: 0.2s opacity;
        pointer-events: none;
        z-index: 100;
    }

    .g_menu:hover>.g_menu2_list,
    .g_menu2_list:hover {
        opacity: 1;
        pointer-events: all;
    }

    /** グローバルナビ項目 (2階層目) */
    .g_menu2>a {
        display: flex;
        align-items: center;
        position: relative;
        padding: 15px 30px 15px 20px;
        border-top: 1px dotted #333333;
        font-size: 15px;
        color: #008042;
        font-weight: 700;
        text-align: left;
        text-decoration: none;
        transform: rotate(0.05deg);
    }

    .g_menu2>a::before {
        box-sizing: border-box;
        content: "";
        display: block;
        margin-right: 5px;
        width: 7px;
        height: 7px;
        border: solid #CCCCCC;
        border-width: 0 3px 3px 0;
        transform-origin: center;
        transform: translateX(-25%) rotate(-45deg);
    }

    .g_menu2:first-child>a {
        border-top: none;
    }

    .g_menu2>a:hover {
        background: #008042;
        outline: 1px solid #FFFFFF;
        /* 線幅、線のスタイル、カラー */
        outline-offset: -1px;
        /* 対象の要素からの距離、マイナス(内側)にも対応 */
    }

    .global_menu_toggle {
        display: none;
    }
}



@media (max-width: 1200px) {
    .section-inner {
        width: 800px;
        max-width: 100%;
        margin: auto;
    }
}





/** スマホ 用 */
@media (max-width: 1000px) {
    .g_menu_hr {
        display: none;
    }

    /** グローバルナビリスト (1階層目) */
    .g_menu_list {
        width: 100%;
        height: 100vh;
        position: fixed;
        top: 0;
        left: 100%;
        margin: auto;
        overflow: auto;
        z-index: 100;
        background: rgba(37, 37, 37, 0.9);
        transition: 0.2s all;
        pointer-events: none;
    }

    .global_menu.open .g_menu_list {
        left: 0;
        pointer-events: all;
    }

    /** グローバルナビ項目 (1階層目, 2階層目) のリンク */
    .g_menu a {
        display: flex;
        align-items: center;
        box-sizing: border-box;
        position: relative;
        width: 100%;
        padding: 15px 20px 15px;
        font-size: 18px;
        font-weight: 700;
        color: #008042;
        text-decoration: none;
        transform: rotate(0.05deg);
        transition: 0.2s all;
        border-bottom: 1px solid #CCCCCC;
        background-color: #FFFFFF;
    }

    .g_menu a:hover {
        background: #f9f9f9;
    }

    .g_menu>a::before,
    .g_menu2_list.open a::before {
        box-sizing: border-box;
        content: "";
        display: block;
        margin-right: 10px;
        width: 7px;
        height: 7px;
        border: solid #CCCCCC;
        border-width: 0 3px 3px 0;
        transform-origin: center;
        transform: translateX(-25%) rotate(-45deg);
        transition: 0.2s all;
    }

    .g_menu>a.open::before {
        transform: translate(-25%, -2.5px) rotate(45deg);
    }

    .g_menu2 a {
        font-size: 14px;
        padding: 10px 0px 10px 35px;
    }

    /** グローバルナビリスト (2階層目) */
    .g_menu2_list:not(.open),
    .g_menu2_list:not(.open) * {
        overflow: hidden;
        opacity: 1;
        margin-top: 0;
        margin-bottom: 0;
        padding-top: 0;
        padding-bottom: 0;
        border-top-width: 0;
        border-bottom-width: 0;
        color: transparent;
        line-height: 0;
        transition: 0.2s margin, 0.2s padding, 0.2s border-width, 0.2s line-height, 0.2s opacity;
    }

    .g_menu2_list.open,
    .g_menu2_list.open * {
        transition: 0.2s margin, 0.2s padding, 0.2s border-width, 0.2s line-height, 0.2s opacity;
    }





    /** トグルボタン */
    .g_btn {
        box-sizing: border-box;
        position: fixed;
        top: 16px;
        right: 20px;
        width: 45px;
        height: 45px;
        border-radius: 4px;
        background: #008042;
        z-index: 101;
        cursor: pointer;
    }

    .g_btn_icon {
        position: absolute;
        top: calc(50% - 1px);
        left: 0;
        width: calc(100% - 18px);
        height: 2px;
        margin-left: 9px;
        background: white;
        z-index: 100;
    }

    .g_btn_icon::before {
        position: relative;
        top: -8px;
        display: block;
        content: "";
        height: 2px;
        background: white;
        transition: 0.1s all;
    }

    .g_btn_icon::after {
        position: relative;
        top: 6px;
        display: block;
        content: "";
        height: 2px;
        background: white;
        transition: 0.1s all;
    }

    .g_btn.open .g_btn_icon {
        background: transparent;
    }

    .g_btn.open .g_btn_icon::before {
        top: -6px;
        transform: translateY(6px) rotate(45deg);
    }

    .g_btn.open .g_btn_icon::after {
        top: 3px;
        transform: translateY(-5px) rotate(-45deg);
    }
}