@charset "utf-8";
/*ハンバーガーメニュー用データ*/
#headersp_div{display: none;}
@media screen and (max-width: 1200px) {
    /*PCヘッダー消す*/
    .headerpc_div{display: none;}
    /*SPメニューを出す*/
    #headersp_div{
        z-index: 997;
        display: block;
        position: relative;
    }
    .headersp_menu_img{
        width: 75px;height: 75px;
        position: fixed;
        top:20px;right: 20px;
        cursor: pointer;
    }
    .headersp_menuclose_img{
        z-index: 999;
    }
    /*全画面メニュー*/
    #menu_div{
        display: none;
        opacity: 0;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        text-align: center;
        width: 100%;
        height: 100vh;
        position: fixed;
        top:0;left: 0;
        z-index: 999;
        background-color: #FFF;
        background-image: url("../images/bg_menu.webp");
        background-size: 100% auto;
        background-repeat: no-repeat;       
        background-position: center;
        overflow: hidden;
    }
    .menu_nav_ul li{
        text-align: center;
        font-size: 26px;
        text-shadow:2px 2px 0 #FFF, -2px -2px 0 #FFF,
              -2px 2px 0 #FFF, 2px -2px 0 #FFF,
              0px 2px 0 #FFF,  -2px 0 #FFF,
              -2px 0 0 #FFF, 2px 0 0 #FFF;
        filter: drop-shadow(0 0 4px #FFF);
        font-family: "M PLUS 1p", sans-serif;
        font-style: normal;
        font-weight: 900;
        line-height: 200%;
    }
    .menu_sns_div{
        width: 320px;
        max-width: 320px;
        margin: 0 auto;
        margin-top: 30px;
    }
    .menu_copy{
        text-align: right;
        width: 100%;
        position: fixed;
        font-size: 11px;
        bottom: 20px;right: 20px;
        text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,
              -1px 1px 0 #FFF, 1px -1px 0 #FFF,
              0px 1px 0 #FFF,  -1px 0 #FFF,
              -1px 0 0 #FFF, 1px 0 0 #FFF;
    }
    /*メニューアニメ*/
    .anime_han_menuin{animation: ani_han_menuin 1s forwards;}
    @keyframes ani_han_menuin {
        0% {opacity: 0;}
        100%{opacity: 1;}
    }
    .anime_han_menuout{animation: ani_han_menuout 0.8s forwards;}
    @keyframes ani_han_menuout {
        0% {opacity: 1;}
        100%{
            opacity: 0;          
            display: none;
        }
    }

}
@media screen and (max-width: 430px) {
    #menu_div{height: 105vh;}        
}
@media screen and (max-width: 375px) {
    .menu_sns_div .footer_flex_img{
        height: 100px;
    }
    .menu_copy{
        bottom: 0px;right: 4px;
    }
    /*iPhoneSE2,3は狭いので微調整*/
    .menu_sns_div{margin-top: 6px;
        width: 270px;
    }
    #menu_div{height: 106vh;
    justify-content: flex-start;}
    .menu_nav_ul{padding-top: 16px;}
    .menu_nav_ul li{font-size: 20px;}
    .menu_sns_div .footer_flex_img{width: 80px;}
}
@media screen and (max-width: 360px) {
    /*iPhoneSE用の調整終了*/
    #menu_div{height: 106vh;}
    .menu_nav_ul{padding-top: 20px;}
    .menu_sns_div{margin-top: 16px;}

}
@media screen and (max-width: 320px) { 
    .menu_sns_div{
        width: 70%;
        max-width: 70%;
    }
    .menu_copy{font-size: 10px !important;}
}
@media screen and (max-width: 280px) { 
    .menu_sns_div{
        margin-top: 6px;
        width: 90%;
    }
    .menu_sns_div .footer_flex_img {
    width: 90%;height: auto;
    }
    .menu_copy{font-size: 10px !important;}
}
@media screen and (max-height: 620px) { 
    #menu_in_div{
        overflow-y: scroll;
    }
}

