/* ==================================================
   Header（PC）
================================================== */

header{

    position:fixed;

    top:0;
    left:0;

    width:100%;

    background:#fff;

    z-index:999;

    box-shadow:0 2px 10px rgba(0,0,0,.08);

    transition:.3s;

}

/* ==================================================
   Header Main
   （ロゴ＋第一メニュー）
================================================== */

.header-main{

    display:flex;

    justify-content:space-between;

    align-items:center;

    max-width:1400px;

    margin:0 auto;

    height:90px;

    padding:0 40px;

}

/* ==================================================
   Logo
================================================== */

.header-logo{

    opacity:0;

    transform:translateY(-10px);

    animation:logoFade .8s ease forwards;

    transition:.3s;

}

.header-logo img{

    display:block;

    height:80px;

    width:auto;

}

.header-logo:hover{

    transform:translateY(0) scale(1.05);

}

header.shrink .header-logo{

    transform:translateY(0) scale(.92);

}

/* ==================================================
   Menu 1
================================================== */

.header-menu-1{

    display:flex;

    align-items:center;

    gap:0;

    height:100%;

}

/* ==================================================
   Menu Button
================================================== */

.menu-btn{

    position:relative;

    display:flex;

    justify-content:center;

    align-items:center;

    height:90px;

    padding:0 28px;

    background:none;

    border:none;

    color:#333;

    text-decoration:none;

    font-size:16px;

    font-weight:500;

    white-space:nowrap;

    cursor:pointer;

    transition:.3s;

}

.menu-btn:hover{

    color:#0077ff;

}

.menu-btn.active{

    color:#0077ff;

}

/* 下線 */

.menu-btn::after{

    content:"";

    position:absolute;

    left:50%;

    bottom:18px;

    width:0;

    height:2px;

    background:#0077ff;

    transform:translateX(-50%);

    transition:.3s;

}

.menu-btn:hover::after,
.menu-btn.active::after{

    width:60%;

}

/* ==================================================
   Menu 2
================================================== */

.header-menu-2{

    width:100%;

}

/* ==================================================
   Sub Navigation
================================================== */

.sub-nav{

    display:flex;

    justify-content:center;

    gap:50px;

    background:#f4f4f4;

    overflow:hidden;

    max-height:0;

    opacity:0;

    transition:
        max-height .35s,
        opacity .35s,
        padding .35s;

}

.sub-nav.show{

    max-height:220px;

    padding:20px;

    opacity:1;

}

.sub-nav.hide{

    max-height:0;

    padding:0;

    opacity:0;

}

.sub-nav a{

    position:relative;

    display:flex;

    flex-direction:column;

    align-items:center;

    color:#333;

    text-decoration:none;

    font-size:14px;

    opacity:0;

    transform:translateY(10px);

    animation:submenuFade .4s ease forwards;

    transition:.3s;

}

.sub-nav a:hover{

    color:#0077ff;

}

.sub-nav a::after{

    content:"";

    position:absolute;

    left:50%;

    bottom:-5px;

    width:0;

    height:2px;

    background:#0077ff;

    transform:translateX(-50%);

    transition:.3s;

}

.sub-nav a:hover::after{

    width:100%;

}

.icon{

    display:block;

    margin-bottom:6px;

    font-size:24px;

}

/* ==================================================
   TOP Button
================================================== */

#topBtn{

    position:fixed;

    right:20px;

    bottom:20px;

    display:none;

    z-index:9999;

    transition:.3s;

}

#topBtn img{

    display:block;

    width:70px;

    height:70px;

}

#topBtn:hover{

    transform:translateY(-5px);

}

/* ==================================================
   Animation
================================================== */

@keyframes submenuFade{

    from{

        opacity:0;

        transform:translateY(15px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

@keyframes logoFade{

    from{

        opacity:0;

        transform:translateY(-10px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}