/*====================================================================
  ロゴ全体の余白リセット
====================================================================*/
.logo {
    margin: 0%;
    /* ロゴの外側余白を完全に0に */
}

/*====================================================================
  リストのデフォルトスタイルを消す
====================================================================*/
ul {
    list-style-type: none;
    /* リストの先頭記号（●など）を非表示 */
    margin: 0;
    /* ブラウザデフォルトの外側余白を削除 */
    padding: 0
        /* ブラウザデフォルトの内側余白を削除 */
}

/*====================================================================
  通常の箇条書き（disc）が必要な箇所だけ有効化
====================================================================*/
ul.disc {
    list-style-type: disc;
    /* ●の箇条書きを表示 */
    padding-left: 16px
        /* 左側に少しインデントを入れる */
}

/*====================================================================
  ヘッダー全体（固定ヘッダー）
====================================================================*/
header {
    backface-visibility: hidden;
    /* Webkit系でハードウェアアクセラレーション時のチラつき防止 */
    font-family: Orbitron;
    /* ロゴ・メニューに科幻風フォント「Orbitron」適用 */
    height: 54px;
    /* モバイル時のヘッダー高さ */
    z-index: 10;
    /* 他の要素より手前に表示 */
    position: fixed;
    /* 画面上部に固定 */
    width: 100%;
    /* 横幅100% */
    transition: 0.3s;
    /* transformなどの変化を0.3秒で滑らかに */
}

/* ヘッダー内の黒いバー */
header #hed-bar {
    display: flex;
    /* ロゴとナビを横並びに */
    width: 100%;
    height: 54px;
    /* background: rgb(0, 0, 0); */
    background-image: url(../img/bg_btn\ \(Copy\).png);
    background-size: cover;
    /* 背景を真っ黒に */
    position: absolute;
    top: 0;
    left: 0;
    z-index: 3
        /* ナビより少し下に */
}

header #hed-bar.fixed {
    position: fixed;
    /* スクロールしても上部に固定 */
    top: 0
}

/*====================================================================
  ロゴ部分
====================================================================*/
header .logo {
    display: block;
    width: 188px;
    /* モバイル時のロゴ幅 */
    height: 100%;
    text-indent: 102%;
    /* 文字を画面外に追いやって非表示（アクセシビリティ対策） */
    white-space: nowrap;
    overflow: hidden;
    /* はみ出した文字を隠す */
    position: relative
}

/* ロゴ画像を疑似要素で背景表示 */
header .logo:after {
    content: '';
    display: block;
    position: absolute;
    margin: auto;
    width: 176px;
    height: 16px;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    /* 縦横中央揃え */
    background: url(../img/ict-pg.png) center center/100% auto no-repeat
        /* 実際のロゴ画像 */
}

/*====================================================================
  メインメニュー全体（PC時は表示、モバイル時は非表示）
====================================================================*/
header nav#fskjh {
    height: 100%;
    /* background: rgb(0, 0, 0); */
    background-image: url(../img/bg_btn\ \(Copy\).png);
    background-size: cover;
    /* 黒背景 */
}

/*====================================================================
  メインメニュー1階層のリンク
====================================================================*/
header nav#fskjh>ul>li>a {
    display: flex;
    justify-content: center;
    /* 文字を横中央揃え */
    align-items: center;
    /* 文字を縦中央揃え */
    text-decoration: none;
    width: 100%;
    height: 100%;
    color: #ffffff;
    /* background: rgb(0, 0, 0); */
    /* background-image: url(../img/bg_btn\ \(Copy\).png);
    background-size: cover; */
    transition: 0.3s;
    position: relative
}

header nav#fskjh>ul>li:hover a {
    /* background: linear-gradient(-110deg, transparent 10%, #0099ff 10%, #0099ff 90%, transparent 90%); */
    /* 斜め方向に透明→青→透明のストライプで動きを表現 */
    color: white;
    background-image: url(../img/abg_btn\ \(Copy\).png);
    background-size: cover;
}

/*====================================================================
  ドロップダウンメニュー（2階層目）全体
====================================================================*/
header nav#fskjh>ul>li .down-menu {
    position: absolute;
    height: 0;
    /* 初期状態は高さ0で非表示 */
    background: #0099ff;
    /* 青背景 */
    z-index: 5;
    visibility: hidden;
    /* 表示も完全に隠す */
    opacity: 0;
    left: 0;
    top: 72px;
    /* PC時のヘッダーバー下に配置 */
    display: flex;
    width: 100%;
    transition: 0.2s;
    /* 高さ・透明度の変化を0.7秒で */
}

/*====================================================================
  ドロップダウン左側の大きなタイトル画像エリア
====================================================================*/
header nav#fskjh>ul>li .down-menu .title {
    display: flex;
    background: url("../img/部室1.jpg") center center/cover no-repeat;
    /* デフォルト背景画像 */
    margin-right: 2.5%;
    /* 初期非表示 */
    align-items: center;
    width: 30%;
    position: relative;
    overflow: hidden;
}

/* タイトルエリアの斜めライン装飾（青い帯） */
header nav#fskjh>ul>li .down-menu .title::before,
header nav#fskjh>ul>li .down-menu .title::after {
    content: '';
    display: block;
    position: absolute;
}

/* 青い斜め帯 */
/* -20度回転で斜めライン作成 */
/* header nav#fskjh>ul>li .down-menu .title::after {
    top: -32px;
    right: -80px;
    width: 90px;
    height: 180%;
    transform-origin: top right;
    background: #0099ff;
    transform: rotate(20deg);
} */

/* タイトル文字 */
header nav#fskjh>ul>li .down-menu .title span {
    font-size: 24px;
    color: #fff;
    position: relative;
    z-index: 2;
    padding-left: 10%;
    /* 左に少し余白 */
}

/*====================================================================
  ドロップダウン右側のメニュー一覧
====================================================================*/
header nav#fskjh>ul>li .down-menu ul.menu {
    display: flex;
    flex-wrap: wrap;
    /* 折り返し可能 */
    padding: 24px 2.5% 24px 0;
    box-sizing: border-box;
    align-self: flex-start;
    align-items: flex-end;
    width: 67.5%;
}

header nav#fskjh>ul>li .down-menu ul.menu li {
    width: 30%;
    /* 3列レイアウト */
    margin-right: 5%;
    /* 右側に5%の余白 */
}

header nav#fskjh>ul>li .down-menu ul.menu li a {
    text-decoration: none;
    border-bottom: 1px solid #fff;
    /* 下線（白） */
    display: flex;
    align-items: flex-end;
    min-height: 30px;
    color: #fff;
    padding: 10px 12px;
    background: transparent;
}

/* メニューの項目のホバーしたときの色 */
/* header nav#fskjh>ul>li .down-menu ul.menu li a:hover {
    background: #0071ba;
} */
/* 対象のメニュー（ここでは例として .menu0 a を使用） */
header nav#fskjh>ul>li .down-menu ul.menu li a {
    display: block;
    padding: 12px 20px;
    /* 好みの余白 */
    color: #fff;
    text-decoration: none;
    text-align: center;
    position: relative;
    overflow: hidden;
    transition: color 0.3s ease;
    z-index: 1;
}

/* 背景を::beforeで作る（下線と同じ原理） */
header nav#fskjh>ul>li .down-menu ul.menu li a::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* ホバー時の背景色 */
    /* background: #0071ba; */
    background: linear-gradient(-110deg, transparent 10%, #0071ba 10%, #0071ba 90%, transparent 90%);
    transform: scaleX(0);
    /* 初期状態：幅0 */
    transform-origin: right;
    /* ← 最初は右側を基準（左から伸びる準備） */
    transition: transform 0.45s ease;
    z-index: -1;
}

/* ホバー時：左から右に背景が伸びる */
header nav#fskjh>ul>li .down-menu ul.menu li a:hover::before {
    transform: scaleX(1);
    transform-origin: left;
    /* ← 縮むときは左側を基準にする */
}

/* ホバー解除時：右から左に背景が縮む（超自然！） */
header nav#fskjh>ul>li .down-menu ul.menu li a::before {
    transition: transform 0.45s ease;
    /* 戻るときも同じ時間 */
}

header nav#fskjh>ul>li .down-menu ul.menu li a:hover::before {
    transition: transform 0.45s ease;
}


/* header nav#fskjh>ul>li .down-menu ul.menu li a .small {
    font-size: 11px;
    line-height: 16px
} */

/* 3列目の余白をなくす（3n番目） */
header nav#fskjh>ul>li .down-menu ul.menu li:nth-child(3n) {
    margin-right: 0
}

/*====================================================================
  各メニューごとのタイトル背景画像上書き
====================================================================*/
header nav#fskjh>ul>li .down-menu.daido .title {
    background: url("../img/ヘッダー.png");
    background-size: cover;
}

header nav#fskjh>ul>li .down-menu.shinro .title {
    background: url("../img/bt2-white.png") center center/cover no-repeat
}

header nav#fskjh>ul>li .down-menu.nyuushi .title {
    background: url("../img/bt2-white.png") center center/cover no-repeat
}

/*====================================================================
  現在は5メニューなので幅を20%に上書き
====================================================================*/
header nav#fskjh>ul>li {
    width: 20%;
    /* 5メニュー均等割り */
}

/*====================================================================
  ホバー時のエフェクト
====================================================================*/

header nav#fskjh>ul>li:hover .down-menu {
    visibility: visible;
    min-height: 240px;
    /* 最低でも240pxの高さを確保 */
    height: auto;
    opacity: 1.0
}

/*====================================================================
  スクロール時に固定表示用のクラス
====================================================================*/
header nav#fskjh.fixed {
    position: fixed;
    top: 0
}

header nav#fskjh.fixed .down-menu {
    top: 72px
        /* 固定時もドロップダウンの位置を調整 */
}

/*====================================================================
  タブレットサイズ（768px〜1024px）
====================================================================*/
@media screen and (max-width: 1024px) and (min-width: 768px) {
    header .logo {
        width: 320px
            /* ロゴを少し大きく */
    }

    header .logo::after {
        width: 302px
            /* ロゴ画像も調整 */
    }
}

/*====================================================================
  PCサイズ（768px以上）
====================================================================*/
@media screen and (min-width: 768px) {

    header nav#fskjh>ul {
        width: 96%;
        height: 100%;
        display: flex;
        /* PCではメニュー横並び表示 */
        margin: 0 0 0 auto
            /* 右寄せ */
    }

    header nav#fskjh {
        width: calc(100% - 378px)
            /* ロゴ幅を引いた残りをナビ幅に */
    }

    header {
        height: 120px
            /* PC時のヘッダー高さ */
    }

    header #hed-bar {
        height: 72px;
        /* メニューバーの高さ */
        top: 48px;
        /* 上部に48pxの余白（ロゴの高さ分） */
    }

    header .logo {
        width: 378px
            /* PC時のロゴ幅 */
    }

    header .logo:after {
        width: 360px;
        height: 100%
            /* ロゴ画像を縦いっぱいに */
    }
}
/*====================================================================
  ドロップダウンメニュー（2階層目）全体
====================================================================*/
header nav#fskjh>ul>li .down-menu {
    position: absolute;
    height: 0;
    overflow: hidden; /* アニメーション中の内容ちらつき防止 */
    background: #0099ff;
    /* 青背景 */
    z-index: -5;
    visibility: hidden;
    /* 表示も完全に隠す */
    opacity: 0;
    left: 0;
    top: 72px;
    /* PC時のヘッダーバー下に配置 */
    display: flex;
    width: 100%;
    transition: transform 0.4s ease, opacity 0.4s ease, height 0.4s ease, overflow 0s 0.4s; /* 滑らかなスライド + 透明度 + 高さ */
    transform: translateY(-50px); /* 初期位置：上から隠れた状態 */
}

/*====================================================================
  ホバー時のエフェクト（上から降りてくるアニメーション）
====================================================================*/
header nav#fskjh>ul>li:hover .down-menu {
    visibility: visible;
    min-height: 240px;
    /* 最低でも240pxの高さを確保 */
    height: auto;
    opacity: 1.0;
    overflow: visible; /* 表示後は内容が見えるように */
    transform: translateY(0); /* 元の位置に戻る（降りてくる） */
    transition: transform 0.4s ease, opacity 0.4s ease, height 0.4s ease, overflow 0s 0s; /* 戻るときも滑らか */
}