
/* -----------------------------
   ■全体設定■
------------------------------ */

/*全体フォント設定
    サイト全体のフォントを指定*/
body {
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
    transition: background 0.5s;
    display: flex;
    flex-direction: column;
    overflow-x: hidden;
    background: transparent;
}

/*画面いっぱい使えるようにする設定*/
html, body {
    height: 100%;
}

main {
    /*フッターを下に押し下げる*/
    flex: 1;
    position: relative;
    z-index: 1;
    padding-top: 80px;
}

/* 背景動画 */
.bg-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1;
}

/* フィルター */
main::before {
    content: "";
    position: absolute; 
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* TODO：色変更（背景？） */
    background: rgba(255,255,255,0.6);
    z-index: -1;
}


/* -----------------------------
   ■ナビ系（ヘッダー）■
------------------------------ */
/*ナビゲーションバー（ヘッダー色）
    ヘッダーの背景色*/
.custom-nav {
    /*background: linear-gradient(90deg, #9C8CBF, #6F5A8E);*/
    position: fixed !important;
    top: 0;
    left: 0;
    width: 100%;
    background: transparent;
    z-index: 9999;
}

/*メニューボタン*/
.dropdown-menu {
    /* TODO：色変更（ヘッダードロップダウンメニュー背景色） */
    background: #f4f2f8; /* 薄い紫 */
    border: none;
    border-radius: 10px;
    box-shadow: 0 8px 20px rgba(0,0,0,0.15);
    padding: 8px;
}
/*スマホ用調整*/
@media (max-width: 1199px) {

    .dropdown-menu {
        display: block;
        position: static;
        border: none;
        box-shadow: none;
    }
}

/* 未使用 */
.dropdown-item {
    color: #333;
    border-radius: 6px;
    padding: 8px 14px;
    transition: 0.2s;
}
    /* 未使用 */
    .dropdown-item:hover {
        background: #6F5A8E;
        color: white;
    }

/* メガメニュー */
.mega-menu {
    width: 420px;
    border-radius: 12px;
    border: none;
    box-shadow: 0 10px 25px rgba(0,0,0,0.15);
}

@media (max-width: 1199px) {

    .mega-menu .row {
        flex-direction: column;
    }

    .mega-menu .col-md-6 {
        width: 100%;
        margin-bottom: 10px;
    }
}

/* メニューカード */
.menu-card {
    display: block;
    padding: 15px;
    border-radius: 10px;
    text-decoration: none;
    /* TODO：色変更（ヘッダーのメニューカードの文字色） */
    color: #333;
    transition: all 0.25s ease;
}

    .menu-card h5 {
        margin-bottom: 5px;
        /* TODO：色変更（ヘッダーのメニューカードの見出しの色） */
        color: #6F5A8E;
        font-weight: 600;
    }

    .menu-card p {
        font-size: 13px;
        /* TODO：色変更（ヘッダーのメニューカードの文字色） */
        color: #777;
    }

    /* hover */
    .menu-card:hover {
        /* TODO：色変更（ヘッダーのメニューカードにマウスを当てた時の背景色） */
        background: #eaf4ff;
        /* TODO：色変更（ヘッダーのメニューカードにマウスを当てた時の文字色） */
        color: #333;
        transform: translateY(-3px);
    }



/* -----------------------------
   ■動画エリア■
------------------------------ */
/*メインエリアのスタイル*/
.hero {
    position: relative;
    height: 100vh;
    overflow: hidden;
}

/* 動画 */
.hero-video {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: translate(-50%, -50%);
}

/* タブレット */
@media (max-width:992px) {
    .hero {
        height: 55vh;
    }
}

/* スマホ */
@media (max-width:768px) {
    .hero {
        height: 40vh;
    }
}
/* スマホ縦 */
@media (max-width: 768px) and (orientation: portrait) {
    /*.hero-video {
        object-fit: contain;
        background: #f5f2ff;
    }*/
}
/* スマホ横 */
@media (orientation: landscape) and (max-width: 768px) {
    .hero {
        height: 100vh;
    }

    .hero-video {
        height: 100%;
        width: 100%;
        object-fit: cover;
    }
}
/* タブレット縦 */
@media (max-width: 1024px) and (orientation: portrait) {
    /*.hero-video {
        object-fit: contain;
        background: #f5f2ff;
    }*/
}

/* 画像の高さ固定 */
.hero-img {
    height: 500px;
    object-fit: cover;
}

/* スライド文字を中央に配置 */
.carousel-caption {
    top: 50%;
    transform: translateY(-50%);
    bottom: auto;
}


/* -----------------------------
   ■セクション系■
------------------------------ */
/*セクションタイトル
    各ページ見出し
*/
.section-title {
    /* TODO：色変更（見出しの文字色） */
    color: #6F5A8E;
    margin-bottom: 30px;
    font-weight: bold;
}

/* -----------------------------
   ■NEWS周り■
------------------------------ */
.news-date {
    /* TODO：色変更（お知らせの日付の文字色） */
    color: #6F5A8E;
    font-weight: bold;
    margin-right: 10px;
}

.btn-outline-primary {
    /* TODO：色変更（ボタンの線の色） */
    border-color: #6F5A8E;
    /* TODO：色変更（ボタンの文字色） */
    color: #6F5A8E;
}

    .btn-outline-primary:hover {
        /* TODO：色変更（ボタンにカーソルを当てた時の背景色） */
        background: #6F5A8E;
        /* TODO：色変更（ボタンにカーソルを当てた時の線の色） */
        border-color: #6F5A8E;
    }




.logo img {
    height: 40px;
}

/* TOPボタン */
#pageTop {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 50px;
    height: 50px;
    border: none;
    border-radius: 50%;
    background: #6F5A8E;
    color: white;
    font-size: 20px;
    cursor: pointer;
    display: none;
}


/*画像フェード*/
.fade-in {
    opacity: 0;
    transform: translateY(40px);
    transition: all 0.8s ease;
}

    .fade-in.show {
        opacity: 1;
        transform: translateY(0);
    }

.btn {
    padding: 12px 20px;
    font-size: 1rem;
}

/* トップページ　お知らせ欄 */
.news-category {
    /* TODO：色変更（お知らせのカテゴリーの背景色） */
    background: #c8b6ff;
    /* TODO：色変更（お知らせのカテゴリーの文字色） */
    color: white;
    font-size: 0.8rem;
    padding: 4px 10px;
    border-radius: 20px;
    margin-right: 20px;
    margin-left: 10px;
    min-width: 70px;
    text-align: center;
}

/* -----------------------------
   ■トップページ■
    セクションタイトル(h2)英語表記
------------------------------ */
.section-title1 {
    display: flex;
    justify-content: center; /* 横中央 */
    align-items: center; /* 縦中央 */
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-style: italic;
    font-size: 4rem;
    /* TODO：色変更（見出しの文字色） */
    color: #222222; /* 濃いグレー（ほぼ黒） */
    font-weight: bold;
    animation: subtle-wobble 4s ease-in-out infinite;
    /* ぴょこっとアニメーション */
    opacity: 0;
    transform: translateY(40px);
    transition: 0.6s ease;
}
    /* ぴょこっとアニメーション */
    .section-title1.show,
    .section-title2.show {
        opacity: 1;
        transform: translateY(0);
    }
/* ■トップページ■ セクションタイトル(h2)英語表記のアニメーション*/
@keyframes subtle-wobble {
    0% {
        transform: translateY(0) rotate(0deg);
    }

    25% {
        transform: translateY(-1px) rotate(-0.3deg);
    }

    50% {
        transform: translateY(0) rotate(0.3deg);
    }

    75% {
        transform: translateY(1px) rotate(-0.2deg);
    }

    100% {
        transform: translateY(0) rotate(0deg);
    }
}


/* -----------------------------
   ■トップページ■
    セクションタイトル(h3)日本語表記表記
------------------------------ */
.section-title2 {
    /*font-family: "Noto Sans JP", sans-serif;  読みやすく丸みのあるフォント */
    font-family: 'Shippori Mincho', serif;
    font-weight: 500;
    font-size: 2rem;
    /* TODO：色変更（サブ見出しの文字色）※効いてない */
    color: #555555; /* 最初は落ち着いたグレー */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    letter-spacing: 0.04em;
    line-height: 1.8;
    margin-top: 5px;
    margin-bottom: 30px;
    position: relative;
    /* ぴょこっとアニメーション */
    opacity: 0;
    transform: translateY(40px);
    transition: 0.6s ease;
    transition-delay: 0.2s;
}

/* アニメーション：ふわっと出て軽く跳ねる */
@keyframes fadeInBounce {
    0% {
        opacity: 0; /* 最初は透明 */
        transform: translateY(20px); /* 下から登場 */
        font-size: 1rem; /* 基本サイズ */
        /* TODO：色変更（サブ見出しの文字色） */
        color: #a663cc; /* 薄紫 */
    }

    50% {
        opacity: 1; /* 半分で完全に表示 */
        transform: translateY(-5px); /* 軽く跳ねる */
        font-size: 1.05rem; /* 少し大きめ */
        /* TODO：色変更（サブ見出しの文字色） */
        color: #a663cc; /* 薄紫 */
    }

    70% {
        transform: translateY(2px); /* 少し揺れる */
        font-size: 1.03rem; /* 少し縮む */
        /* TODO：色変更（サブ見出しの文字色） */
        color: #a663cc;
    }

    100% {
        opacity: 1; /* ここが重要：必ず表示 */
        transform: translateY(0); /* 元の位置に落ち着く */
        font-size: 1.2rem; /* 元の大きさに固定 */
        /* TODO：色変更（サブ見出しの文字色） */
        color: #555555; /* 濃いグレーで固定 */
    }
}

/* ホバーで軽くピョコッと跳ねる */
.section-title2:hover {
    transform: translateY(-3px); /* 上に少し動く */
    transition: transform 0.25s ease;
}

/* スクロールで入ったときにアニメーションするクラス */
.animate-fadeIn {
    animation: fadeInBounce 1.8s ease forwards;
}

/* ■トップページ■ セクションタイトル下線*/
.section-title2::before {
    content: "";
    display: block;
    width: 180px;
    height: 5px;
    /* TODO：色変更（サブ見出しの線の色） */
    background: #c8b6ff; /* 薄い紫 */
    margin: 0 auto 10px auto;
}

/* タブレット */
@media (max-width: 992px) {
    .section-title1 {
        font-size: 2.8rem;
    }

    .section-title2 {
        font-size: 1.6rem;
    }
}

/* スマホ */
@media (max-width: 768px) {
    .section-title1 {
        font-size: 2rem;
    }

    .section-title2 {
        font-size: 1.3rem;
        line-height: 1.5;
    }

        .section-title2::before {
            width: 120px; /* 下線も短く */
            height: 4px;
        }
}


/* -----------------------------
   ■News■
------------------------------ */
/* ■トップページ■ NEWS(お知らせ)*/
#newsList .list-group-item {
    padding: 18px 12px; /* ← 縦 横 */
    line-height: 1.6;
}

/* 共通（PC） */
.news-item {
    display: flex;
    align-items: center;
    gap: 15px;
}

.news-date {
    min-width: 120px;
}


/* タブレット スマホ 縦並び*/
@media (max-width: 992px) {
    .news-item {
        display: block;
        flex-direction: column;
        align-items: flex-start;
        gap: 5px;
    }

    .news-category,
    .news-date,
    .news-title {
        display: block;
    }


    .news-category,
    .news-date {
        font-size: 0.8rem;
    }

    .news-category {
        margin-left: -2px;
        display: inline-block;
        width: 80px;
        text-align: center;
    }

    .news-title {
        margin-top: 5px;
        font-weight: 600;
    }
}



/* -----------------------------
   ■WhyChooseUs■
------------------------------ */
/* 3つの間隔を広げる */
.row.g-4 > div {
    padding-left: 50px;
    padding-right: 50px;
}

.row img {
    /* 画像を小さく */
    width: 200px;
    height: auto;
    /* 上下に余白 */
    margin: 20px 25px;
}

/* 中央寄せ */
.col-md-4 {
    text-align: center;
    max-width: 360px;
    margin: 0 auto;
}

/* スクロールした時の動き */
.animate-feature {
    opacity: 0;
    transform: translateY(40px);
    transition: 0.6s ease;
}

    .animate-feature.show {
        opacity: 1;
        transform: translateY(0);
    }


.news-page .section-title1 {
    margin-bottom: 10px;
}

.news-page .section-title2 {
    margin-bottom: 5px;
}

/* タブレット（992px以下） */
@media (max-width: 992px) {
    .row.g-4 > div {
        padding-left: 20px; /* 中間サイズ：少しコンパクトに */
        padding-right: 20px;
    }

    /* 画像：少しコンパクトに */
    .row img {
        width: 160px;
        margin: 15px auto;
    }

    /* タイトル */
    .col-md-4 h5 {
        font-size: 1.05rem;
    }

    /* 本文 */
    .col-md-4 p {
        font-size: 0.9rem;
        line-height: 1.6;
    }

    /* 横余白は既存のままでOK */
    .row.g-4 > div {
        padding-left: 20px;
        padding-right: 20px;
    }
}

/* スマホ（768px以下） */
@media (max-width: 768px) {
    .row.g-4 > div {
        padding-left: 10px; /* 最小余白：縦スクロール前提で省スペース */
        padding-right: 10px;
    }
    /* 画像：しっかり小さく */
    .row img {
        width: 120px;
        margin: 10px auto;
    }

    /* タイトル */
    .col-md-4 h5 {
        font-size: 0.95rem;
    }

    /* 本文 */
    .col-md-4 p {
        font-size: 0.8rem;
        line-height: 1.5;
    }

    /* 横余白さらに圧縮 */
    .row.g-4 > div {
        padding-left: 10px;
        padding-right: 10px;
    }
}

/* -----------------------------
   ■Service■
    セクションタイトル(h3)日本語表記表記
------------------------------ */
#service {
    position: relative;
    overflow: hidden;
}

    /* 動画を背景として配置 */
    #service .bg-video {
        position: absolute;
        top: 50%;
        left: 50%;
        min-width: 100%;
        min-height: 100%;
        transform: translate(-50%, -50%);
        object-fit: cover;
        z-index: 0;
    }

    /* コンテンツを動画の上に出す */
    #service .container {
        position: relative;
        z-index: 2;
    }


.service.grid-box {
    display: grid;
    grid-template-columns: repeat(2, 440px); /* PC・タブレットは同じ */
    justify-content: center;
    gap: 30px;
    padding: 20px;
}

/* 箱 */
.service li {
    list-style: none;
    /* TODO：背景色（サービスの背景色） */
    background: white;
    padding: 25px 30px;
    border-radius: 18px;
    min-height: 260px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-shadow: 0 6px 20px rgba(0,0,0,0.08);
    transition: 0.3s;
    text-align: center; /* 文字中央 */
    align-items: center; /* flex中央 */
    position: relative;
}

    /* hoverアニメーション追加 */
    .service li:hover {
        transform: translateY(-10px) scale(1.05);
        box-shadow: 0 25px 50px rgba(0,0,0,0.2);
    }
    /* 箱の中のタイトル */
    .service li h3 {
        font-size: 2rem;
        font-weight: 600;
        margin-top: 5px;
        margin-bottom: 50px;
    }

    .service li a {
        text-decoration: none; /* 下線消す */
        color: inherit; /* 親の色を使う（黒のまま） */
        display: block; /* 全体クリックOKにする */
    }

/* 箱の中のイラスト */
.service-icon {
    width: 60%;
    height: auto;
    margin-bottom: 20px;
}
/* 矢印 */
.more-arrow {
    position: absolute;
    bottom: 20px;
    right: 25px;
    font-size: 1.2rem;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    /* TODO：色変更（サービスの→ボタンの背景色） */
    background: #f2f2f2; /* 薄グレー */
    /* TODO：色変更（サービスの→ボタンの文字色） */
    color: #6F5A8E;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.3s ease;
}

.service li:hover .more-arrow {
    transform: translateX(6px);
    /* TODO：色変更（サービスの→ボタンにカーソルを当てた時の背景色） */
    background: #6F5A8E;
    /* TODO：色変更（サービスの→ボタンにカーソルを当てた時の文字色） */
    color: white;
}

/* スマホは一列*/
@media (max-width: 768px) {

    /* 1列にする＋少し小さく */
    .service.grid-box {
        grid-template-columns: 1fr;
        gap: 15px; /* ← 間隔も少し詰める */
        padding: 10px; /* ← 外側もコンパクト */
    }

    /* 箱サイズ調整 */
    .service li {
        min-height: 200px; /* ← 小さくする */
        padding: 18px 20px; /* ← 中の余白も減らす */
    }

        /* タイトルも縮小 */
        .service li h3 {
            font-size: 1.4rem;
            margin-bottom: 25px;
        }

    /* アイコンも縮小 */
    .service-icon {
        width: 45%;
    }
}
/* タブレットは箱の幅を小さく表示*/
@media (max-width: 1024px) and (min-width: 769px) {

    .service.grid-box {
        grid-template-columns: repeat(2, 1fr); /* ← 可変にする */
        gap: 20px;
        padding: 15px;
    }

    .service li {
        min-height: 220px; /* 少しコンパクト */
        padding: 20px;
    }

        .service li h3 {
            font-size: 1.6rem;
            margin-bottom: 30px;
        }

    .service-icon {
        width: 50%;
    }
}




/* -----------------------------
   ■ヘッダー■
------------------------------ */
/* ヘッダー文字　ナビ通常 */
.navbar-nav .nav-link {
    opacity: 0.8;
    /* TODO：色変更（ヘッダーの文字色） */
    color: #2f2540; /* 黒に近い紫 */
    font-size: 1.1rem;
    padding: 8px 16px;
    transition: 0.3s;
}

    /* ヘッダー文字　ナビhover */
    .navbar-nav .nav-link:hover {
        opacity: 0.8;
        /* TODO：色変更（ヘッダーの文字にマウスを当てた時の文字色） */
        color: #6f5a8e; /* 濃い紫 */
        font-size: 1.2rem;
        letter-spacing: 0.05em;
    }
/* ヘッダー背景楕円 */
.navbar-nav {
    /* TODO：色変更（ヘッダーの背景色） */
    background: rgba(255,255,255,0.4);
    backdrop-filter: blur(12px);
    border-radius: 999px;
    padding: 10px 10px;
}

    .navbar-nav .nav-link:focus,
    .navbar-nav .nav-link:active,
    .navbar-nav .show > .nav-link {
        /* TODO：色変更（ヘッダーの文字をクリックした時の文字色）※効いてない？ */
        color: #2f2540 !important; /* 黒に近い紫のまま */
        background: transparent !important;
    }

/* ロゴ */
.navbar-brand {
    height: 60px;
    display: flex;
    align-items: center;
    overflow: hidden;
}

    .navbar-brand img {
        height: 95px; /* 見た目だけ大きく */
        width: auto;
    }

/* ロゴ背景楕円 */
.glass-logo {
    background: rgba(255,255,255,0.4);
    backdrop-filter: blur(12px);
    border-radius: 999px;
    padding: 16px 8px 10px 8px;
}

/* 固定ヘッダー */
.site-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: white;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    background: transparent;
    z-index: 1000;
    transition: all 0.3s;
}

.header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 80px;
}

/* スマホ・タブレット対応*/
@media (max-width: 1199px) {

    /* ナビ背景リセット 
    .navbar-nav {
        background: none;
        border-radius: 0;
        padding: 0;
    }*/

    /* ロゴ背景 */
    .glass-logo {
        background: rgba(255,255,255,0.4);
        backdrop-filter: blur(12px);
        border-radius: 999px;
        padding: 16px 8px 10px 8px;
        display: flex;
        align-items: center;
    }

    /* ロゴ画像 */
    .navbar-brand img {
        height: 60px;
        width: auto;
    }

    .navbar-brand img {
        height: 70px; /* ロゴサイズ調整 */
    }

    /* スマホヘッダー固定*/
    .site-header {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        z-index: 99999;
    }

    /*body {
        padding-top: 80px;
    } */

    /* 開いたメニューの箱 */
    .navbar-collapse {
        width: 85%; /* ← 少し広げて安定 */
        margin: 0 auto; /* ← 中央寄せ（ズレ防止） */
        background: rgba(255,255,255,0.95);
        padding: 15px;
        border-radius: 10px;
        max-height: 80vh;
        overflow-y: auto;
    }



    /* メニュー文字 */
    .nav-link {
        font-size: 0.95rem;
        padding: 8px 0;
        padding: 12px 0;
        font-size: 1.1rem;
    }

    /* ハンバーガー */
    .navbar-toggler {
        border: none;
    }

        .navbar-toggler:focus {
            box-shadow: none;
        }

    .navbar-dark .navbar-toggler-icon {
        filter: brightness(0.4);
    }

    /* ドロップダウン */
    .mega-menu {
        width: 100%;
        padding: 10px;
    }

    .menu-card {
        padding: 10px;
    }

        .menu-card h5 {
            font-size: 0.95rem;
        }

        .menu-card p {
            font-size: 0.75rem;
        }
}



/* -----------------------------
   ■フッター■
------------------------------ */
.footer {
    /* TODO：色変更（フッター背景色） */
    background: #1a1a1a;
    /* TODO：色変更（フッター文字色） */
    color: #ccc;
    padding-top: 60px;
}

.footer-inner {
    max-width: 1200px;
    margin: auto;
    display: flex;
    justify-content: space-between;
    gap: 60px;
    padding: 0 20px;
    align-items: flex-end;
}

@media (max-width:768px) {
    .footer-inner {
        flex-direction: column;
        gap: 40px;
    }
}

.footer-company {
    max-width: 300px;
}

.footer-logo {
    /* TODO：色変更（フッターのロゴ文字色） */
    color: white;
    font-weight: bold;
}

.footer-menu ul {
    list-style: none;
    padding: 0;
    display: flex;
    gap: 20px; /* 間隔調整 */
    margin: 0;
    list-style: none;
}

.footer-menu li {
    margin-bottom: 10px;
}

.footer-menu a {
    /* TODO：色変更（フッターのメニューの文字色） */
    color: #bbb;
    text-decoration: none;
    transition: 0.3s;
}

    .footer-menu a:hover {
        /* TODO：色変更（フッターのメニューにカーソルを当てた時の文字色） */
        color: white;
        padding-left: 5px;
    }

.footer-bottom {
    text-align: center;
    /* TODO：色変更（フッターの下線の色） */
    border-top: 1px solid #333;
    margin-top: 50px;
    padding: 20px;
    font-size: 14px;
}

/*フッター文字が薄くなる対応*/
.footer p {
    color: #ccc !important;
}

/* タブレット */
@media (max-width: 992px) {
    .footer-inner {
        flex-direction: column;
        align-items: flex-start; /* 左寄せにする */
        gap: 30px;
    }

    .footer-menu ul {
        flex-wrap: wrap; /* メニュー折り返す */
        gap: 15px;
    }

}

/* スマホ */
@media (max-width: 768px) {
    .footer {
        padding-top: 40px;
    }

    .footer-inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 25px;
    }

    .footer-company {
        max-width: 100%;
    }

    .footer-menu ul {
        flex-direction: column; /* 縦並びにする */
        gap: 10px;
    }

    .footer-menu a {
        display: block;
        font-size: 0.95rem;
    }

    .footer-bottom {
        font-size: 12px;
        padding: 15px;
    }

}


/* ===== 文章の改行対応 ===== */
.sp-only {
    display: none;
}
/* ▼ スマホ */
@media (max-width: 768px) {
    .sp-only {
        display: inline;
    }
}


/* ===== ボタンを押したとき背景青になる対応 ===== */
.btn-outline-primary:active {
    background-color: transparent !important;
    border-color: #6F5A8E !important;
    color: #6F5A8E !important;
}

/* ===== タッチ端末時にchromeで2回タップしないと遷移しない対応 ===== */
/* タッチ端末ではhover無効 */
@media (hover: none) {
    .footer-menu a:hover {
        /* ホバー打消し */
        color: #bbb;
        text-decoration: none;
    }
}
