@charset "UTF-8";

html,
body {
    background-color: #fff;
    color: #636b6f;
    font-family: 'Lato', 'Noto Sans JP', '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

.btn {
    width: 90px;
    height: unset;
}

.btn-primary {
    background-color: rgb(38, 173, 223);
    border-color: rgb(38, 173, 223);
}

.btn-primary:hover {
    background-color: rgb(18, 153, 203);
    border-color: rgb(18, 153, 203);
}

.table a {
    color: rgb(18, 153, 203);
}

.table .fa-solid {
    font-size: 22px;
}

select {
    -moz-appearance: none;
    border-radius: 3px;
    margin: 0;
    padding: 0;
    background: none transparent;
    vertical-align: middle;
}

input {
    border: thin solid rgb(163, 163, 163);
    border-radius: 3px;
    padding: 0 12px;
}

.table>:not(caption)>*>* {
    padding: 12px 0.5rem;
}

body {
    padding-top: 90px;
}

.container {
    min-width: 768px;
}

.input_table .small {
    font-size: 12px;
}

.selected {
    background-color: rgba(255, 255, 255, .3);
    margin: 0;
    padding: 3px 2%;
}

input,
select {
    height: 30px;
    vertical-align: bottom;
}

.label--checkbox {
    line-height: 28px;
}

.label--camp {
    text-align: right;
    line-height: 25px;
}

.ak-style__reset {
    line-height: 13px;
    margin-left: 5px;
}

.ak-style__color {
    width: 24px;
    height: 24px;
}

.t-color--a {
    color: rgb(104, 104, 104);
}

.m-color--a {
    background-color: rgb(104, 104, 104);
    border-color: rgb(104, 104, 104);
}

/* .h-color--a:hover {
    background-color:rgb(12, 112, 169);
    border-color: rgb(12, 112, 169);
} */

.header {
    padding: .3rem 0;
}

.t-color--b {
    color: rgb(38, 173, 223);
}

.m-color--b {
    background-color: rgb(38, 173, 223);
    border-color: rgb(38, 173, 223);
}

.h-color--b:hover {
    background-color: rgb(76, 167, 8);
    border-color: rgb(76, 167, 8);
}

.shadow_thick {
    box-shadow: 0 10px 25px 0 rgba(0, 0, 0, .5);
}

.cover {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .2);
    z-index: 50;
}

.cover.act {
    display: flex;
}

.cover .pop {
    background-color: #fff;
    padding: 20px;
}

.c-menu-button {
    background-color: #131834;
    position: relative;
    width: 24px;
    height: 24px;
    display: block;
    border-radius: 50%;
    cursor: pointer;
}

.c-menu-button span {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    width: 18px;
    height: 3px;
    display: block;
    overflow: hidden;
}

.c-menu-button.white {
    background-color: #fff;
}

.c-menu-button__line--01 {
    -webkit-transform: translateY(-5px);
    transform: translateY(-5px);
}

.c-menu-button__line--02 {
    -webkit-transform: translateY(5px);
    transform: translateY(5px);
}

.login {
    min-width: 285px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin-top: -20px;

}

.menu ul {
    padding: 0;
    margin: 0;
}

.header-wrapper {
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    font-weight: bold;
    box-shadow: darkgrey 0px 1px 5px;
    z-index: 50;
}

.header a,
.menu a {
    color: #fff;
    text-decoration: none;
}

.menu--burger li {
    margin-top: 10px;
}

.header--burger a,
.menu--burger a {
    color: #636b6f;
}

.header a:hover,
.menu a:hover {
    text-decoration: underline;
}

.table {
    white-space: nowrap;
}

.table td,
.table th {
    text-align: left;
    font-size: 13px;
}

.table-hover>tbody>tr:hover {
    background-color: rgb(221, 235, 247);
}

.menu li {
    display: block;
    padding: 0.3rem 1rem;
    list-style: none;
}

.fieldset {
    padding: 0 1rem;
    border: thin #636b6f solid;
    font-size: 13px;
}

legend {
    float: unset;
    width: auto;
    margin: 0;
    padding: 0;
}

.text-right {
    text-align: right;
}

.text-short {
    width: 80px;
}

.nowrap {
    white-space: nowrap;
}

.search-items--camp {
    flex-direction: column;
    justify-content: center;
    align-items: end;
}

.search--mid {
    justify-content: center;
}

.search-items--manual {
    justify-content: center;
}

.search-items--manual .label--camp {
    width: 120px;
    padding-right: 10px;
}

.search-items--manual a {
    margin-left: 15px;
}

.search-items>div {
    margin-bottom: 10px;
    padding: 0 5px;
    vertical-align: top;
}

.search-items>div input,
.search-items>div select {
    height: 26px;
}

.search-items input,
.search-items select {
    vertical-align: unset;
}

.output_table tr,
.input_table tr {
    border-bottom: thin solid rgb(163, 163, 163);
}

.output_table tr:first-child,
.input_table tr:first-child {
    border-top: thin solid rgb(163, 163, 163);
}

.output_table th,
.input_table th {
    text-align: right;
    padding: 24px 3%;
    width: 16%;
    min-width: 225px;
}

/* .output_table tr {
    height: 28px;
 } */

/* .output_table tr:first-child,
.input_table tr:first-child, .input_table tr:last-child {
   height: 80px;
} */

.campaign-detail {
    cursor: pointer;
}

.campaign-detail:hover {
    text-decoration: underline;
}

.js-type_manual--target,
.js-type_csv--target {
    display: none;
}

.js-type_manual--target.act,
.js-type_csv--target.act {
    display: block;
}

.br {
    display: none
}

.oneline {
    width: 16%;
    white-space: nowrap;
}

.oneline--2 {
    width: 24%;
    white-space: nowrap;
}

.oneline--3 {
    width: 44%;
}

@media only screen and (max-width: 576px) {
    .br {
        display: block
    }

    .left-border {
        border-left: thin solid
    }

}

@media only screen and (max-width: 992px) {
    .search--mid {
        justify-content: end;
    }

    .search-items--camp {
        flex-direction: row;
        justify-content: end;
        align-items: end;
        flex-wrap: wrap;
    }

    .search-items--manual {
        justify-content: end;
    }

    .oneline {
        width: 24.5%;
        white-space: nowrap;
    }

    .oneline--3 {
        white-space: nowrap;
        width: 40%;
    }
}

.hint {
    color: rgb(52, 152, 218);
    border: 2px solid rgb(52, 152, 218);
    border-radius: 50%;
    width: 24px;
    height: 24px;
    display: inline-block;
    text-align: center;
    vertical-align: text-bottom;
    line-height: 22px;
    font-weight: bold;
    margin: 0 7px;
    cursor: pointer;
}

#js-ans {
    display: none;
}

#js-ans__cover {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

#js-ans__box {
    width: 300px;
    height: 200px;
    overflow-y: auto;
    padding: 10px;
    border-radius: 4px;
    background-color: #fff;
    position: absolute;
    top: 0;
    left: 0;
    border: thin solid #636b6f;
    box-shadow: 5px 5px rgba(0, 0, 0, .2);
    z-index: 5;
}

#js-ans__box h5 {
    font-weight: bold;
}

#js-alert {
    display: none;
}

#js-alert__cover {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

#js-alert__box {
    font-size: 14px;
    width: 300px;
    overflow-y: auto;
    padding: 5px;
    border-radius: 4px;
    background-color: #fff;
    position: absolute;
    top: 0;
    left: 0;
    border: thin solid #ff1111;
    box-shadow: 5px 5px rgba(0, 0, 0, .2);
}

.js-validate--target {
    height: 20px !important;
}

#js-table,
#js-hover {
    height: unset;
}

.pointer {
    cursor: pointer;
}

.policy {
    height: unset !important;
}

.page-item.active .page-link {
    background-color: rgb(38, 173, 223);
    border-color: rgb(38, 173, 223);
}

caption {
    padding: 0
}

/**************************
 タブ部品
***************************/

/* タブリスト */
.tab-items {
    display: flex;
    gap: 0 10px;
    list-style: none;
    padding: 20px 0 20px 0;
}

/* タブのデザイン */
.tab-label {
    order: -1;
    opacity: .5;
    min-width: 70px;
    padding: .8em 1em;
    border-radius: 5px 5px 0 0;
    background-color: #999fad;
    color: #fff;
    font-size: .9em;
    text-align: center;
    cursor: pointer;
}

/* アクティブ時のタブ背景色 */
.tab-switch-checked {
    background-color: #2589d0;
}

/**************************
 対象者一覧
***************************/

/* キャンペーンラベル名 */
.target-list-campaign-label {
    text-align: right;
    white-space: nowrap;
    margin: 0 20px 0 0;
}

/* 詳細リンク */
.target-list-campaign-detail {
    cursor: pointer;
    white-space: nowrap;
    margin: 0 0 0 30px;
}

/* 詳細リンク */
.target-list-campaign-detail:hover {
    text-decoration: underline;
}

/* メニコンIDセクション */
.menicoin-id-section {
    display: flex;
    line-height: 25px;
}

/* メニコンIDラベル */
.menicoin-id-label {
    margin-left: 26px;
}

/* 付与開始年月セクション */
.grant-start-period-section {
    display: flex;
    line-height: 30px;
}

/* メニコンテキストボックス */
.menicoinid-input-text {
    margin-left: 20px;
    margin-right: 30px;
    width: 125px;
}

/* 対象者キャンペーンセクション */
.campaign-section {
    padding: 0px 0px 0px 15px;
    display: flex;
}

/* キャンペーンプルダウン */
.campaign-select {
    width: 615px;
}

/* キャンペーンセクションの対象タグ高さ */
.campaign-section>div,
.campaign-section>a {
    line-height: 25px;
}

/* 重複マークとステータス */
.duplication-status-section {
    display: flex;
    padding: 10px 0px 0px 15px;
}

/* 重複マークラベル */
.duplication-label {
    margin-left: 88px;
    white-space: nowrap;
}

/* 重複マークプルダウン */
.duplication-select {
    margin-left: 19px;
    width: 53px;
}

/* 重複マークとステータスセクション */
.duplication-status-section>div {
    line-height: 25px;
}

/* ステータスラベル */
.status-label {
    margin-left: 14px;
    white-space: nowrap;
}

/* ステータスプルダウン */
.status-select {
    margin-left: 23px;
    width: 53px;
}

/* 付与開始年月 */
.grant-start-period-label {
    margin-left: 18px;
}

/* 付与開始年月プルダウン */
.grant-start-period-select {
    margin-left: 9px;
}

/* 対象者一覧チェックステータス */
.target-list-check-status-section {
    display: flex;
    padding: 0 0 0 8px;
    height: 50px;
    transform: translateY(-16px);
}

/* 対象者一覧チェック済みのステータス */
.target-list-check-status-checked-section {
    display: flex;
    padding: 0 0 0 8px;
    background-color: rgb(0 0 0 / 20%);
    transform: translateY(-16px);
    height: 50px;
}

/* 活性時の無効化ボタン */
.target-list-checkbox {
    margin-top: 10px;
}

/* 対象者一覧削除ボタン */
.target-delete-btn {
    width: 90px;
    height: 36px;
    background-color: rgb(38, 173, 223);
    border-color: rgb(38, 173, 223);
    padding: 0.25rem 0.5rem;
    font-size: .875rem;
    border-radius: 0.2rem;
    margin: 10px 0 0 10px;
}

/* 無効化ボタン */
.invalid-btn {
    margin-left: 8px;
    width: 90px;
    height: 36px;
    margin-top: 10px;
    font-size: .875rem;
}

/* 有効化ボタン */
.valid-btn {
    height: 36px;
    font-size: .875rem;
    margin: 10px 0 0 10px;
}

/* 削除ボタン */
.delete-btn {
    height: 36px;
    font-size: .875rem;
    margin: 10px 0 0 10px;
}


/* 対象者一覧のチェックボックス活性時のセクション */
.target-list-select-count-section {
    display: flex;
    line-height: 49px;
}


/* 対象者一覧のチェックボックス非活性時の選択件数 */
.target-list-disabled-select-count {
    padding: 0 0 0 10px;
    color: rgb(190, 190, 190);
}

/* 対象者一覧のチェックボックス非活性時の選択件数の文字 */
.target-list-disabled-select-count-label {
    font-size: small;
    color: rgb(190, 190, 190);
    padding: 0 0 0 5px
}

/* 対象者一覧のチェックボックス活性時の選択件数 */
.target-list-select-count {
    padding: 0 0 0 10px;
}

/* 対象者一覧のチェックボックス活性時の選択件数の文字 */
.target-list-select-count-label {
    font-size: small;
    padding: 0 0 0 5px
}

/* 対象者一覧テーブルヘッダー */
.target-list-table-header {
    display: flex;
}

/* 対象者一覧表示件数 */
.target-type-view-select {
    margin-right: 0;
    margin-left: auto;
}

/* X軸に30px移動 */
.translateX30 {
    transform: translateX(30px);
}

/* 会員ステータスと付与状態のセクション */
.member-grant-status-section {
    display: flex;
}

/* 会員ステータスと付与状態の高さ */
.member-grant-status-section>div {
    line-height: 25px;
}

/* 会員ステータスラベル */
.member-status-label {
    margin-left: 5px;
    white-space: nowrap;
}

/* 会員ステータスプルダウン */
.member-status-select {
    margin-left: 18px;
}

/* メルスラベル */
.mels-label {
    margin-left: 90px;
    white-space: nowrap;
}

/* 付与状態プルダウン */
.mels-select {
    margin-left: 21px;
    width: 125px;
}

/* 付与状態ラベル */
.grant-status-label {
    margin-left: 40px;
    white-space: nowrap;
}

/* 付与状態プルダウン */
.grant-status-select {
    margin-left: 21px;
    width: 125px;
}

.conditions-section {
    display: flex;
    line-height: 30px;
}

/**************************
 ファイルアップロード
***************************/

/* 対象タイプセクション */
.target-type-section {
    display: flex;
}

/* 対象タイプラベル */
.target-type-label {
    width: 11%;
    text-align: right;
    line-height: 25px;
}

/* 対象タイププルダウン */
.target-type-select {
    transform: translateX(18px);
    width: 118px
}

/* キャンペーンラベル */
.upload-file-campaign-label {
    text-align: right;
    margin: 0 17px 0 36px;
    white-space: nowrap;
}

/* ファイル選択セクション */
.upload-file-section {
    padding: 10px 0px 0px 22px;
    display: flex;
}

/* ファイルラベル */
.upload-file-label {
    width: 10%;
    text-align: right;
    line-height: 25px;
}

/* ファイルアップロードボタン */
.upload-file-btn {
    transform: translateX(20px);
}

/* ファイルアップロードステータス */
.upload-file-status {
    text-align: right;
    padding: 5px 0px 0 30px;
}

/* アップロードテーブルヘッダー */
.file-upload-table-header {
    display: flex;
}

/* ファイルアップロードテーブルヘッダーのラジオボタンセクション */
.file-upload-radio-section {
    display: flex;
    margin-right: 0;
    margin-left: auto;
}

/* 対象者タイプのラベル */
.target-type-status-label {
    width: 7em;
    height: 2em;
    line-height: 2em;
    background-color: #C3E4D4;
    border-radius: 0.2rem;
    text-align: center;
    transform: translateY(-3px);
}

/* 非対象者タイプのラベル */
.untarget-type-status-label {
    width: 7em;
    height: 2em;
    line-height: 2em;
    background-color: #F8BABA;
    border-radius: 0.2rem;
    text-align: center;
    transform: translateY(-3px);
}

/* 無効会員の場合の背景色 */
.invalid-member-line {
    background-color: #6c757da6;
}

/* 
 無効会員の場合の背景色
 背景色のグレート青の色が2色重なってしまうので、1枚目の背景を透明化して、2枚目の色を表示させる */
.table-striped>tbody>tr:nth-of-type(odd).invalid-member-line {
    --bs-table-accent-bg: transparent;
}

/**************************
 非対象者一覧
***************************/

/* 非対象タイプセクション */
.untarget-type-menicoin-id-section {
    display: flex;
    line-height: 25px;
}

/* 非対象タイプラベル */
.untarget-menicoin-id-label {
    /* width: 10.9%; */
    text-align: right;
    width: 120px;
}

/* 非対象タイプラベル */
.untarget-type-menicoin-id-validation-section {
    margin: 5px 0 0 140px;
}

/* 非対象タイプテキストボックス */
.untarget-menicoin-id-input-text {
    width: 125px;
    margin-left: 23px;
}

/* 非対象者キャンペーンセクション */
.untarget-type-campaign-section {
    padding: 0px 0px 10px 15px;
    display: flex;
    line-height: 25px;
}

/* 非対象者キャンペーンラベル */
.untarget-type-campaign-label {
    text-align: right;
    white-space: nowrap;
    width: 120px;
    margin-right: 20px;
}

/* 非対象者キャンペーンプルダウン */
.untarget-type-campaign-select {
    width: 615px;
}

/* 非対象者重複マークセクション */
.untarget-type-duplication-section {
    padding: 10px 0px 0px 15px;
    display: flex;
    line-height: 25px;
}

/* 非対象者重複マークラベル */
.untarget-type-duplication-label {
    /* width: 10.5%; */
    text-align: right;
    width: 120px;
}

/* 非対象者重複マークプルダウン */
.untarget-type-select {
    margin-left: 20px;
}

/* 対象者一覧の通常時のラベル */
.target-list-label-center {
    width: 7em;
    height: 2em;
    line-height: 2em;
    border-radius: 0.2rem;
    text-align: center;
    transform: translateY(-3px);
}

/**************************
 対象者・非対象者画面共通
***************************/

/* 選択している行の背景色 */
.selected-line {
    background-color: rgb(38 173 223 / 20%);
}

/* 背景色のグレート青の色が2色重なってしまうので、1枚目の背景を透明化して、2枚目の色を表示させる */
.table-striped>tbody>tr:nth-of-type(odd).selected-line {
    --bs-table-accent-bg: transparent;
}

/**************************
  来店企画詳細画面ガチャ設定
***************************/
.gacha-setting-th {
    border: 1px solid #333 !important;
    padding: 5px !important;
    text-align: center !important;
    background-color: #f5f5f5 !important;
    font-size: small !important;
}

.gacha-setting-td {
    border: 1px solid #333;
    padding: 5px;
    text-align: center;
    vertical-align: top;
}

.gacha-setting-text-align-left {
    width: 100%;
    text-align: left;
    font-size: 12px;
}

.gacha-setting-text-align-right {
    width: 100%;
    text-align: right;
    font-size: 12px;
}

.js-validate--target--noheight {
    font-size: 12px;
    text-align: left;
}
