@CHARSET "UTF-8";

.container-fluid {
    max-width: 1170px;
}

body {
    font-family: "Helvetica Neue",
        Arial,
        "Hiragino Kaku Gothic ProN",
        "Hiragino Sans",
        "BIZ UDPGothic",
        Meiryo,
        sans-serif !important;
    background-color:#fff !important;
    overflow-y: auto !important;
}
/* ラベルのポインタを指に */
label {
    cursor: pointer;
    font-weight: bold;
}

/* プレースホルダの色を薄く */
::placeholder {
    color: #ccc !important;
}
/* Edge */
::-ms-input-placeholder {
    color: #ccc !important;
}
/* IE */
:-ms-input-placeholder {
    color: #ccc !important;
}

/* ラジオとチェックボックスを大きく */
input[type=radio],
input[type=checkbox] {
    -ms-transform: scale(1.2, 1.2);
    -webkit-transform: scale(1.2, 1.2);
    -webkit-transform-origin:left center;
    transform: scale(1.2, 1.2);
    transform-origin:left center;
    margin-right: 4px;
}
input {
    z-index: 1;
}

/* アンカー無効をグレー */
a.disabled {
    color: #eee !important;
}
option:disabled {
    color: #eee !important;
}

hr {
    margin: 3em 0;
    border-color: #eee;
}

/* Bootboxやダイアログを上下中央 */
/*.modal-dialog {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 100%;
    margin: auto;
    pointer-events: none;
}
.modal-dialog .modal-content {
    pointer-events: all;
}*/


/* ヘッダー */
header .col,
header .col-auto {
    height: 50px;
    line-height: 50px;
}
/*
* ハンバーガー
*/
header #hamburger {
    font-size: 40px;
}

/*
* スライドメニュー
*/
#menu {
    background-color: #f8f8f8;
}
#menu ul {
    list-style-type: none;
    color: #333;
    background-color: #ccc;
}
#menu ul li {
    font-size: 1.25em;
    line-height: 2em;
    border-bottom: 1px solid #333;
}
#menu ul li a {
    display: block;
    line-height: 2em;
    text-decoration: none;
}

/* メイン */
main {
    padding-top: 1em;
}

.h5 {
    font-weight: bold;
}

/* 上に戻る */
#totop {
    position: fixed;
    bottom: 5px;
    right: 5px;
    font-size: 20px;
    z-index: 50;
}
#totop a {
    display: block;
    padding: 5px;
    width: 40px;
    color: #fff;
    background: #666;
    text-decoration: none;
    text-align: center;
    border-radius: 2px;
    opacity: 0.5;
}
#totop a:hover {
    text-decoration: none;
    background: #999;
}

/* パスワード表示/非表示 */
.password-wrapper {
    position: relative;
}
.password-input {
    padding-right: 2.5rem;
}
.password-toggle {
    position: absolute;
    top: 0.375rem;
    right: 0.75rem;
    width: 1.5rem; /* 固定幅でズレを防止 */
    height: calc(100% - 0.75rem);
    display: flex;
    align-items: center;
    justify-content: center; /* アイコンを中央に */
    cursor: pointer;
    z-index: 5;
    color: #999;
}
.password-toggle i {
    width: 1.25rem; /* 追加：アイコンの占有幅を固定 */
    text-align: center;
}
/* エラー時に右を少し広く */
.is-invalid + .password-toggle {
    right: 2.25rem;
}