/*
スマホ用メニュー *************/
@media(max-width:896px){
 #g_nav {
    width:100%;
    height: 100%;
    max-width: 100%;
    position: fixed;
    top:0;
    left: 0;
    z-index: 99999999 !important;
    border-top: none;
    -webkit-border-radius: 0px;
    border-radius: 0px;
    padding: 0;
    opacity: 0;
    visibility: hidden;

    /* ▼▼▼ 修正箇所：回転を削除し、少し上に配置(-30px) ▼▼▼ */
    -webkit-transform: translateY(-30px);
    -moz-transform: translateY(-30px);
    -o-transform: translateY(-30px);
    -ms-transform: translateY(-30px);
    transform: translateY(-30px);
    /* ▲▲▲▲▲▲ */

    /* transform-originは不要なので削除またはコメントアウトでもOKですが、影響ないのでそのままでも可 */
    /* transform-origin: 0 50%; */ 
    
    -webkit-transition: all 500ms cubic-bezier(0.115, 0.710, 0.325, 0.965); 
    -moz-transition: all 500ms cubic-bezier(0.115, 0.710, 0.325, 0.965); 
    -o-transition: all 500ms cubic-bezier(0.115, 0.710, 0.325, 0.965); 
    transition: all 500ms cubic-bezier(0.115, 0.710, 0.325, 0.965);
    
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;  
    background:#fff; /* メニュー内の背景色 */
    color:#222; /* メニュー内の文字色 */
    padding-top:48px;
}

.open #g_nav{
    visibility: visible;
    opacity: 1;

    /* ▼▼▼ 修正箇所：元の位置(0)に戻す ▼▼▼ */
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -o-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);     
    /* ▲▲▲▲▲▲ */

    z-index: 60;
    -webkit-overflow-scrolling: touch;
    overflow: auto;
    font-weight: bold;
}


/* 以下は変更なし（そのまま利用） */
#g_header:before{
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0);
    position: fixed;
    top: 0;
    left: 0;
    content: '';
    visibility: hidden;
}

.open #g_header:before{
    background: rgba(0,0,0,0.6); 
    visibility: visible;
    -webkit-transition: all 0.1s 0.1s;
    transition: all 0.1s 0.1s;
}
    
#g_header{
    position: relative;
    z-index: 9999999;
}

button {
    background: transparent;
    border: none;
    outline: none;
}

button.menu-trigger{
    background:none; /* ボタンの色 */
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}

.menu-trigger,
.menu-trigger span {
    display: inline-block;
    transition: all .4s;
    box-sizing: border-box;
}

.btn_tbsp{
    width: 50px;
    height: 44px;
    display: block;
    position: fixed;
    top: 4px !important;
    right: 10px !important;
    z-index: 20;
}

@media screen and (max-width: 896px) {
.btn_tbsp{
    top:24px;
    right:20px; 
    z-index: 999999999 !important;
    }
}

@media screen and (max-width: 480px) { 
.btn_tbsp{
    top: 8px;
    right: 8px; 
    }
}

.menu-trigger {
    width: 100%;
    height: 44px;
    position: relative;
}

.menu-trigger span {
    width: -webkit-calc(100% - 20px);
    width: calc(100% - 20px);
    height: 2px;
    position: absolute;
    left: 10px;
    background: #C4A5C7; /* 三の色 */
}

.menu-trigger span:nth-of-type(1) {
    top: 10px;
}

.menu-trigger span:nth-of-type(2) {
    top: 21px;
}

.menu-trigger span:nth-of-type(3) {
    bottom: 10px;
}

.menu-trigger.active span:nth-of-type(1) {
    -webkit-transform: translateY(12px) rotate(-45deg);
    transform: translateY(12px) rotate(-45deg);
    background:#C4A5C7;
}
.menu-trigger.active span:nth-of-type(2) {
    opacity: 0;
}
.menu-trigger.active span:nth-of-type(3) {
    -webkit-transform: translateY(-10px) rotate(45deg);
    transform: translateY(-10px) rotate(45deg);
    background:#C4A5C7;
}

}

@media all and (min-width: 896px) {
.btn_tbsp {
    display: none;  
}
}