/* ==============================
   メガドロップダウンメニュー　
=================================  
※🍔メニューはこのファイルの下部に記載があります*/

/*参考 https://theorthodoxworks.com/web-design/drop-down-menu-multi-css/*/

.megamenu {
    position: relative;
    width: 100%;
    height: 50px;    
    margin: 0 auto;
    padding-left: 0;
    font-size:15px;
    margin:10px 0;   
    background: #fcfcfc;
    z-index: 999; /*トップメイン画像他との重なりを防ぐため*/     
}

/*サイドの空白*/
.menu_mega_leftside {
    float: left;
    width: 2.5%; 
    height: 50px;
    line-height: 50px;
}

/*ヘッドメニュー*/
.menu > li.menu_mega {
    float: left; /*ヘッドメニューの横ならべ*/
    width: 18%; 
    height: 50px;
    line-height: 50px;
    border-left: 2px solid rgba(219, 216, 216, 0.95);
    list-style: none;   
}

.menu > li a {
    display: block;
    color: #333333;
    font-weight: bolder; 
    text-decoration: none;
    text-align: center;     
}
.menu_mega_top {
    text-align: center;
}
.menu > li a:hover {
    color: #fcfcfc;
}
li.menu_mega_top a{
    background-color: #fcfcfc;
}
.menu_mega_top {
    text-align: center;
}
.menu > li.menu_mega_top {
    float: left;
    width: 5%; 
    height: 50px;
    line-height: 50px;
    /* background: white; */
    list-style: none;
}


/*サブメニュー*/
ul.menu_second-level {
    visibility: hidden;
    text-align: left;
    width:100%;
    opacity: 1;
    z-index: 990;
}

.menu > li:hover {
    background: #0025c0;
    opacity: 0.9;
    -webkit-transition: all .0s;
    transition: all .0s;
    height:60px;
}

.menu_secont-list-flex {
    display: flex;
    justify-content: space-around;
    list-style: none;
    width: 100%
}
.menu_second-list { 
   display:flex;
   flex-direction: column;
   width: 33.3%;
   padding: 0 20px;
} 

li.menu_second-list-maintitle {
    border-bottom: 1px solid rgb(197, 195, 195);
    padding-bottom: 10px;
}
.menu_second-level li a {
    text-align: left;
    /* padding-left: 15px; */
    color: #fcfcfc; 
    height: 40px;    
}
.menu_second-level li a:hover {
    color: skyblue; 
}

/* floatクリア */
.menu:before,
.menu:after {
    content: " ";
    display: table;
}
.menu:after {
    clear: both;
}
.menu {
    *zoom: 1;
}

li.menu_mega ul.menu_second-level {
    position: absolute;
    left: 0; 
    box-sizing: border-box;
    width: 100%;
    padding: 40px 2%; /*ドロップダウンしたメニューの高さ調整 paddingで*/    
    padding-top: 20px;
    background: #0025c0;
    opacity: 0.9;
    -webkit-transition: all .0s ease;
    transition: all .0s ease;
}
li.menu_mega:hover ul.menu_second-level {
    top: 60px;
    visibility: visible;
    opacity: 1;
}



/*ハンバーガーメニュー*/

.nav{
    position: absolute;
    height: 100vh;
    width: 100%;
    left: -100%;
    background: rgba(28, 62, 252, 0.74);
    -webkit-transition: 1.0s;
    transition: 1.0s;
    margin-top: 44px;
}

nav ul{
    margin: 0;
    padding: 0;
}

nav li{
    height: calc(70vh/7);
    line-height: 100px;
    list-style-type: none;
    font-size: 1.4em;
    text-align: center;
}

nav a{
    display: block;
    text-decoration: none;
    color: #fff;
    line-height: 50px;
}

/* hamburger_line */
#target {
    width: 32px;
    height: 25px;
    position: absolute;
    top:-8px;
    cursor: pointer;
    display: block;
    -webkit-transition: 1.0s;
    transition: 1.0s;
}

.target_inner{
    width: 32px;
    height: 25px;
    position: relative;
}

.target_inner_line {
    display: block;
    width: 32px;
    height: 5px;
    background: rgb(37, 64, 216);
    -webkit-transition: 1.0s;
    transition: 1.0s;
    border-radius: 50px;
    position: absolute;
}

.target_inner_1 {
    top: 0;
}

.target_inner_2 {
    top: 12px;
}

.target_inner_3 {
    top: 24px;
}

/* 動き */
.fadein{
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
}

.linea,.lineb,.linec{
    background: rgb(37, 64, 216);
}

.linea {
    -webkit-transform: rotate(225deg);
    transform: rotate(225deg);
    top: 13px;
}

.lineb {
    opacity: 0;
}

.linec {
    -webkit-transform: rotate(-225deg);
    transform: rotate(-225deg);
    top: 13px;
}


