@charset "utf-8";

#header img{
    width: 140px;
}
#home img{
    width: 50%;
}
#footer img{
    width: 50px;
}
/* navigation dropdown */
/* navigation top menu set as flex */
nav ul{
    display: flex;
}

/* nabigation 2nd lebvel set as block */
nav ul ul{
    display: block;
}

/* navigation link a settings */
nav ul li a{
    display: block;
    color:#000;
    padding:0 15px;
}

nav ul li.current a,
nav ul li a:hover
{
    color:#C03;
}

/* child menu settings*/
nav li.has-child ul{
    position: absolute;
    text-align: left;
    z-index: 4;
    background:rgba(0,20,30,0.8);
    /* border-radius: 10px; */
    width:130px;
    /* hidden at start */
    visibility: hidden;
    opacity: 0;
    transition: all .3s;
}

nav li.has-child ul.current a,
nav li.has-child ul a:hover{
    color:#C03;
}

/* visible when hover */
nav li.has-child:hover > ul,
nav li.has-child:active > ul{
  visibility: visible;
  opacity: 1;
}

/* navigation a tag */
nav li.has-child ul li a{
    color: #CCC;
    border-bottom: solid 1px rgba(255,255,255,1);
}
nav li.has-child ul li:last-child a{
    border-bottom:none;
}

/* navigation a tag when :hover */
nav li.has-child ul li a:hover
/* nav li.has-child ul li a:active */
{
    background:rgba(255,255,255,0.8);
}

/* Humberger Menu */
.hamberger{
    position:fixed;
    z-index: 9999;
    top:0;
    right: 0;
    cursor: pointer;
    width: 80px;
    height:60px;
    border-left:2px solid #333;
}
.hamberger.active{
    border-left:0px;
}
.hamberger span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
}
.hamberger span:nth-of-type(1),
.hamberger span:nth-of-type(2),
.hamberger span:nth-of-type(3) {
    height: 4px;
    background: #333;
    width:40%;
    opacity: 1;
    /* top:20px; */
    left:20px;
}
.hamberger span:nth-of-type(1) { top:20px; }
.hamberger span:nth-of-type(2) { top:30px; }
.hamberger span:nth-of-type(3) { top:40px; }
.hamberger.active span:nth-of-type(1),
.hamberger.active span:nth-of-type(3) { opacity:1; }
.hamberger.active span:nth-of-type(1) {
    top: 24px;
    left: 20px;
    background: #FFF;
    transform: translateY(6px) rotate(-225deg);
}
.hamberger.active span:nth-of-type(2) { opacity:0; }
.hamberger.active span:nth-of-type(3){
    top: 36px;
    left: 20px;
    background: #FFF;
    transform: translateY(-6px) rotate(225deg);
}

/* クリックしたらナビが右から出現 */
#g-nav{
    /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
    position:fixed;
    z-index: 999;
    /*ナビのスタート位置と形状*/
    /* bottom:-100%; */
    top:-100%;
    width:0%;
    height: 100vh;/*ナビの高さ*/
    background:#000;
    opacity: 0.9;
    /*動き*/
    transition: all 0.6s;
}

/*アクティブクラスがついたら位置を0に*/
#g-nav.panelactive{
    top: 0;
    /* bottom: 0; */
    /* right: 0; */
}

/*ナビゲーションの縦スクロール*/
#g-nav #g-nav-list{
    /*ナビの数が増えた場合縦スクロール*/
    position: fixed;
    z-index: 998;
    width: 60%;
    left: 40%;
    height: 100vh;/*表示する高さ*/
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

/*ナビゲーション*/
#g-nav ul{
    margin: 0, 20%;
    /* margin-top: 50px; */
    /* position: absolute; */
    /* z-index: 999; */
    /* top:80%; */
    /* left:50%; */
    /* transform: translate(-50%,-50%); */
}

#g-nav li.has-child ul{
    position: fixed;
    text-align: left;
    z-index: 999;
    background:rgba(255,255,255,1);
    box-shadow: 0 0 20px #ccc;
    padding: 5px 0;
    /* border-radius: 10px; */
    width:40%;
    /* hidden at start */
    visibility: hidden;
    opacity: 0;
    transition: all .3s;
}
/*リストのレイアウト設定*/
/* .display-none{
    display:block;
} */

#g-nav li{
    list-style: none;
    text-align: right;
    border: solid 1px rgba(255,255,255,1);
    /* margin: 1px; */
    background:#000;
}

#g-nav li:hover{
    background:#666;
}

#g-nav li a{
    color: #CCC;
    text-decoration: none;
    font-size: 1.5rem;
    padding:10px 10%;
    display: block;
    /* text-transform: uppercase; */
    letter-spacing: 0.1em;
    font-weight: bold;
}

@media screen and (max-width:768px) {
#g-nav #g-nav-list{
    width: 75%;
    left: 25%;
}
#g-nav li a{
    font-size: 1rem;
    padding:10px 20%;
}
#g-nav li.has-child ul{
    width: 40%;
}
}

@media screen and (max-width:550px) {
#g-nav #g-nav-list{
    width: 100%;
    left: 0%;
}
#g-nav li a{
    font-size: 1rem;
    padding:10px 20%;
}
#g-nav li.has-child ul{
    width: 50%;
}
}

@media screen and (max-width:380px) {
#g-nav li a{
    font-size: 0.6rem;
    padding:10px 20%;
}
#g-nav li.has-child ul{
    width:60%;
}
}

/* visible when hover */
#g-nav li.has-child:hover > ul{
  visibility: visible;
  opacity: 1;
}

/* #g-nav ul ul{
    position: fixed;
    display: block;
    text-align: center;
    width: 50%;
    right: 50%;
} */

#g-nav li li{
    background:#333;
    /* position: absolute; */
    display: block;
}

/* end of text */
