/* --- 基本設定 --- */
html {
    font-size: 16px;
    position: relative;
    min-height: 100%;
}

body {
    min-width: 320px;
}

/* --- Bootstrap 基本要素カスタマイズ --- */
.btn:focus, .btn:active:focus, .btn-link.nav-link:focus,
.form-control:focus, .form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

.container {
    max-width: 700px !important;
    margin-right: auto;
    margin-left: auto;
}

/* カードの浮き上がりエフェクト */
.hover-lift {
    display: block; /* リンクとして機能させるため */
    transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
    text-decoration: none !important;
}

    .hover-lift:hover {
        transform: translateY(-3px);
        box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.1) !important;
    }

.icon-circle {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 0.5rem;
    background-color: #f8f9fa;
    color: #0d6efd;
    font-size: 1.2rem;
}


.link-icon-circle {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #f8f9fa; /* 薄いグレー */
    color: #0d6efd; /* Bootstrapのprimary */
    font-size: 1.2rem;
    /* 以前の margin を削除。横並びの間隔は gap で付けるので不要 */
    /* margin: 0 auto 0.5rem; */
    flex: 0 0 auto; /* アイコンのサイズを固定（伸縮しない） */
}

.card-title {
    font-size: 1rem !important;
    line-height: 1.3;
}

.small-desc,
.text-muted.small {
    font-size: 1rem !important;
    line-height: 1.4;
}

/* --- フォーム関連 --- */
.form-floating > .form-control-plaintext::placeholder,
.form-floating > .form-control::placeholder {
    color: var(--bs-secondary-color);
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder,
.form-floating > .form-control:focus::placeholder {
    text-align: start;
}

/* Bootstrapのデフォルトマージンを打ち消す */
.footer-links .list-inline-item {
    margin-right: 0 !important;
}

/* フッター内リンクの縦棒区切り */
.footer-links.list-inline .list-inline-item + .list-inline-item::before {
    content: "|";
    color: #adb5bd; /* 縦棒の色（Bootstrapのsecondary系） */
    margin: 0 0.5rem; /* 縦棒の左右余白 */
    position: relative;
    top: -0.5px; /* 微調整（フォントによりずれたら調整） */
    /* 任意: フォントウェイトやサイズを変えるならここで */
}

/* フッターのバナー画像：表示幅300px、縦横比維持、はみ出し防止 */
.footer-banner {
    width: 220px; /* 表示幅を固定 */
    max-width: 100%; /* 親が狭い場合は縮む（レスポンシブ） */
    height: auto; /* 縦横比維持 */
    object-fit: contain; /* 念のため（imgなら通常は不要） */
    display: block;
    margin: auto; /* 中央寄せ＋少し余白 */
}

.footer-banner-wrapper {
    width: 200px;
    margin: 0 auto; /* カラムの中でこの箱自体を中央に置く場合 */
}