body{
    position: relative;
}

div.inner{
    max-width: 1200px;
    margin: auto;
    
}

div#totalContainer{
    position: relative;
    max-width: 1200px;
    margin: auto;

}
#nav2022wrap{
    position: relative;
    top:0;
    z-index: 10;
}

div#nav2022{
    position: absolute;
    top:0;
    left: 0;
    background-color: rgba(45,13,15,0.82);
    max-width: 240px;
    min-height: 300px;
    padding: 1rem 1rem 4rem 1rem;
    transition:0.1s linear all;
}

div#nav2022 ul.headMenu li:last-child{
    border-bottom: none;
}

div#nav2022 ul.headMenu{
    margin: 0.5rem;
    padding: 0;
}

#rUpMenu li a:hover,
div#nav2022 li a:hover{
/*    filter:drop-shadow(1px 1px 3px rgba(255,255,255,0.3));
    color:#ffffee;*/
}

#rUpMenu li a,
div#nav2022 li a{
    text-decoration: none;
    /*line-height: 1.0;*/
    font-size: 0.9rem;
    transition:0.1s linear all;
}

#rUpMenu li,
#rUpMenu li a,
div#nav2022 li,
div#nav2022 li a{
    color: white;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    text-align: left;
    line-height: 1.2;
}

div#nav2022 li{
    padding:0.5rem 0.15rem;
    border-bottom: 0.25px solid #fff;
    text-align: left;
    list-style-type: none;

}

#logo_vt_white{
    max-width: 38px;
    margin: 2rem auto;
    filter:drop-shadow(3px 3px 3px rgba(0,0,0,0.7));
    display: block;

}

#rUpMenuWrap{
    position: absolute;
    right:0rem;
    top:2rem;

}

#rUpMenu{
    margin: auto;
    padding:0;
    display: flex;
    flex-wrap: wrap;
    max-width: 300px;
    width: 300px;
    background: url(../img/common/upMenuChecker.svg) left 7px  top 7px no-repeat;
    background-size: 1.75rem;    
    padding-left: 10%;
    background-color: rgba(45,13,15,0.82);
}


#rUpMenu li a{ 
    white-space: nowrap;
    line-height: 3;
    padding: 0.2rem 0.75rem;
}
#rUpMenu li:nth-child(1) a,
#rUpMenu li:nth-child(2) a {
    border-right: 0.25px solid white;
    
}

#rUpMenu li{
/*    flex: 0 0 30%;
    max-width: 30%;*/
    text-align: center;
    list-style-type: none;
}

#cont2022wrap div#container{
    margin-top: 0;
    padding-left: 239px;

}

#cont2022wrap{
    
}
body.othNav100vh div#nav2022{
/*    min-height: 100vh;
    height: 100%;*/
}

body.othNav100vh nav #spNav2022 div.dropdown-menu a{ background-image: none; padding-left: 1rem; }
body.othNav100vh nav #spNav2022 div.dropdown-menu.show{ background-color: #653434; }
body.othNav100vh nav #spNav2022 div.dropdown-menu{
    transition: all 0.15s  ease;
    background-color: #351515;
    padding: 0.5rem;
    margin: auto -0.25rem;
    border-top: 1px solid rgba(255,255,255,0.4);
}
#nav2022 .headMenu li.nav-item.show a:after{transform: rotate(-90deg);  }
.nav-item.show a:after{ transform: rotate(-180deg);  }
.nav-item.show{
    z-index: 1050;
    
}

footer{
    position: relative;
    z-index: 10;
}
p#page-top{ z-index: 15; }

#nav2022 a.dropdown-item:hover{ background-color: transparent; font-weight: bold; }
#nav2022 .headMenu li.nav-item > a:after{
    display: inline-block;
    width: 0;
    height: 0;
    margin-left: 0.255em;
    vertical-align: 0.255em;
    content: "";
    border-top: 0.3em solid;
    border-right: 0.3em solid transparent;
    border-bottom: 0;
    border-left: 0.3em solid transparent;
}

#nav2022 .headMenu li{
    position: relative;
}

#nav2022 div.dropdown-menu a:first-child{
            background: url(../img/common/mark_sakura.svg) left 10px center no-repeat;
}
#nav2022 div.dropdown-menu  a{
    padding:0.5rem 1.5rem 0.5rem 3.5rem;
}
#nav2022 div.dropdown-menu{
    /*background-color: transparent;*/
    background-color: rgba(45,13,15,0.82);
    top:0;
    left: 180px;
    border:3px solid white;
    position: absolute;
 
}
#headMenu2022_bottom li{
    margin-left: 0;
    margin-right: 0;
}






@media all and (max-width:1200px) {
    #logo_vt_white{
        max-width: calc(36px - 1vw);
        margin: 1rem auto;
    }
    /*#rUpMenu li, #rUpMenu li a,*/ 
    div#nav2022 li, div#nav2022 li a{
        line-height: 1;
    }
    #rUpMenu li a, div#nav2022 li a{
        font-size: 13px;
    }
}


@media all and (min-width:990px) {
    #spNav{ display: none; }
    #footer_navmenu li:last-child:after{ content: ""; }
    #footer_navmenu li:after{
        padding-left: 0.5rem;
        content: "|";
        color: #666;
    }
}

@media all and (max-width:991px) {
    #nav2022,
    #rUpMenuWrap{ display: none; }
    
}

@media all and (max-width:321px) {
    #spNav a.navbar-brand{
        width: 79%;
    }
        #spNav a.navbar-brand h1 img{ max-width: 90%; }
        html body #bodyWrap #spNav2022 li a{ font-size: 8px; padding-right: 1rem; }
        html body #bodyWrap #spNav2022 li {
            max-height: 4rem;
            line-height: 1.25rem;
        }
        #bodyWrap #headClose, 
        #bodyWrap #headOpenLogo{ max-height: 22px; vertical-align: middle; margin-top: 0.15rem; }
        #bodyWrap  #openLogoWrap a{ margin: auto 0.4rem; }
        html #bodyWrap #container{ padding-top: 1rem; }
        #menuGokitou br,
        #menuSakura br{ display: none; }
}


/*================================================================== sp2022 ========================*/
@media all and (max-width:376px) {
    html body.othNav100vh #spNav2022 li a.nav-link { font-size: 10px; }
}

@media all and (max-width:768px) {
    html body footer{
            /*background-size: 125%;*/
            background-size: 153%;
    }
    html body  #bodyWrap #container{ padding-top: 1rem; }
    h1 img#sp-logo{
        /*height: fit-content;*/
        height: auto;
        width: 29vw;
        margin-left: 0.25rem;
        margin-bottom: 0.5rem;
    }
    
    #navbarNav{
        position: absolute;
        background: #351515;
        top: 0;
        left: 0;
        width: 100%;
        max-height: 100vh;
        z-index: 20;
    }
    html body #spNav2022{ 
        /*margin-top: 4rem;*/
        max-height: 100vh;
        flex-wrap: wrap;
        display: flex;
        flex-direction: row;
        padding: 0; 
    }
    
    html body #spNav2022 li:nth-child(odd){
        border-right: 1px solid #fff;
    }
    
    html body #spNav2022 li {
        flex: 0 0 50%;
        max-width: 50%;
        width: 50%;
        flex-direction: unset;
        margin:  auto;
        border-bottom: 1px solid #fff;
        padding: 0.25rem;
        height: 4.5rem;
        background: url(../img/common/arrow_right.svg) center right 7px no-repeat;
        background-size: 10px;
    }
    
    html body #spNav2022 li a.line1{
        line-height: 3.0rem;
    }
    
    html body #spNav2022 li a{
        color: white !important;
        text-align: left;
        font-size: 11px;
        padding-left: 35px;
        background: url(../img/common/mark_sakura.svg) left 0px center no-repeat;
        background-size: 1.75rem;
        font-weight: bold; 
    }
    #openLogoWrap a{ 
        padding: 0 0.5rem;
        display: block;
        text-align: center;
    }
    #openLogoWrap div{ text-align: center; }
    #openLogoWrap{
        background-color: white;
        display: flex;
        flex-wrap: inherit;
        padding: 1rem 0.5rem 1.2rem 1rem;
    }
    #headClose,#headOpenLogo{ height: 30px;  }
    #rUpMenuSp a{ 
        font-size: 8px;
        color: white;
        /*padding: 0.0rem 0px;*/
    }
    #rUpMenuSp li{
        padding: 0.5rem 0;
    }
    
    #rUpMenuSp{
        display: flex;
        flex-wrap:  wrap;
        background-color: #351515;
        padding: 0 0 0 14px;
        margin: auto;
        margin-left: 0.5rem;
        margin-bottom: 0.25rem;
        top: -0.2rem;
        right:0px;
        position: absolute;
        background: url(../img/common/upMenuChecker.svg) left 7px  top 7px no-repeat,#351515;
        background-size: 1.0rem;    
    }
    #headToggle{ border: none;padding: 0;margin: auto; }
    
    #spHeadContactBox{
        position: relative;
        flex-grow: 3; 
    }
    #rUpMenuSp li:first-child+li a{  
        border:1px solid rgba(255,255,255,0.4);
        border-style: none solid;
        padding: 0 0.5rem;
    }
    
    div.description h2 { margin-bottom: 2rem; }
    #sp_txtArea  p  br,
    div.description h2 + p > br,
    div.description > p > br{ display: none; }
    
    html body footer div.ad_area{ margin: auto; padding: 2rem 0; }
    html body #cont2022wrap div#container{ padding-top: 2rem; }
    
    html body #cont2022wrap div.commonArea div.sectionArea{
        height: auto;
    }
    
    html body #cont2022wrap div.submenuArea02,
    html body #cont2022wrap div.w80,
    html body div#container div.commonArea.w80{
            max-width: 94%;
            width: 100%;
            margin-left: 3%;
            margin-right: 3%;
    }
    
    html body div.commonArea div.sectionArea div{
        position: inherit;
        top:auto;
        left:  auto;
        transform:  none;
    }
    html body div.commonArea div.sakura02 div{
        position:  initial;
        top:auto;
        left: auto;
    }
    html body #cont2022wrap div.commonArea div.sakura02 img,
    html body #cont2022wrap div.commonArea div.sakura02 div, 
    html body #cont2022wrap div.commonArea div.ryakuengi02 div{
        left: auto;
        position:  inherit;
        width: auto;
    }
    html body #cont2022wrap div.commonArea div.sakura02 img{
        
    }
    #cont2022wrap #container .opacityFigTx{ padding: 1rem; }
    div.commonArea div.sectionArea div{ width: 100%; }
    div.fade-in.opacityFigTx{        border:1px solid #e0e0e0; margin: 1rem auto;    }
    #container div.fade-in.opacityFigTx > span{     font-size: 5vw;  }
    html body  #cont2022wrap div.sectionArea02+div.sectionArea02{ margin-top: 2rem; }
    html body #cont2022wrap .mb16{ margin-bottom: 4rem !important; }
    
    #container .description.pc-only{ display: inline-block !important; }
    #container #sp_txtArea,
    #container .description+#sp_txtArea,
    #container .description+div.sp-only{ display: none; }
}

/*================================================================== //sp2022 ========================*/


#omoiWrap{
    border-color: #f1f1f1;
}