html,
body {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 14px;
}

/*
*/
/* ボディーのBackgroundに薄いグレー */
.bg-base {
    background-color: #EEEFF3;
}


/*
----------------------------------------- */
.w800px {
    width: 600px !important;
}

.w700px {
    width: 600px !important;
}

.w600px {
    width: 600px !important;
}

.w500px {
    width: 500px !important;
}

.w450px {
    width: 450px !important;
}

.w400px {
    width: 400px !important;
}

.w350px {
    width: 350px !important;
}

.w300px {
    width: 300px !important;
}

.w290px {
    width: 290px !important;
}

.w280px {
    width: 280px !important;
}

.w270px {
    width: 270px !important;
}

.w260px {
    width: 260px !important;
}

.w250px {
    width: 250px !important;
}

.w240px {
    width: 240px !important;
}

.w230px {
    width: 230px !important;
}

.w220px {
    width: 220px !important;
}

.w210px {
    width: 210px !important;
}

.w200px {
    width: 200px !important;
}

.w190px {
    width: 190px !important;
}

.w180px {
    width: 180px !important;
}

.w170px {
    width: 170px !important;
}

.w160px {
    width: 160px !important;
}

.w150px {
    width: 150px !important;
}

.w140px {
    width: 140px !important;
}

.w130px {
    width: 130px !important;
}

.w120px {
    width: 120px !important;
}

.w110px {
    width: 110px !important;
}

.w100px {
    width: 100px !important;
}

.w90px {
    width: 90px !important;
}

.w80px {
    width: 80px !important;
}

.w70px {
    width: 70px !important;
}

.w60px {
    width: 60px !important;
}

.w50px {
    width: 50px !important;
}

.w40px {
    width: 40px !important;
}

.w30px {
    width: 30px !important;
}

.w20px {
    width: 20px !important;
}

.h600px {
    height: 600px !important;
}

.h550px {
    height: 550px !important;
}

.h500px {
    height: 500px !important;
}

.h400px {
    height: 400px !important;
}

.h300px {
    height: 300px !important;
}


.h130px {
    height: 130px !important;
}

.h120px {
    height: 120px !important;
}

.h110px {
    height: 110px !important;
}

.h100px {
    height: 100px !important;
}

.h90px {
    height: 90px !important;
}

.h80px {
    height: 80px !important;
}

.h70px {
    height: 70px !important;
}

.h60px {
    height: 60px !important;
}

.h50px {
    height: 50px !important;
}

.h40px {
    height: 40px !important;
}

.h30px {
    height: 30px !important;
}

.w-calc-20 {
    width: calc(100% - 20px);
}

.h-calc-20 {
    height: calc(100% - 10px);
}

/** required mark */
label.required::after {
    content: " *";
    color: red;
    vertical-align: middle;
}


/**
*/
.row-5 {
    height: calc(1.3em * 5) !important;
    line-height: 1.3;
}

.row-10 {
    height: calc(1.3em * 10) !important;
    line-height: 1.3;
}


/* table */
th {
    text-align: center !important;
    vertical-align: middle !important;
    font-weight: normal !important;
}

td {
    vertical-align: middle !important;
    background-color: #fff !important;
}

.info-header {
    padding: 0.5rem 0.5rem 0.5rem 0.5rem;
    min-height: 50px;

    border-radius: 5px 5px 0px 0px;
    border-bottom-color: #0cc4a2 !important;
    background-color: white;
}

.info-footer {
    padding: 0.5rem 0.5rem 0.5rem 0.5rem;
    min-height: 40px;

    border-radius: 0px 0px 5px 5px;
    border-top-color: #0cc4a2 !important;
    background-color: white;
}

.info-table {
    background-color: #fff;
    width: 100%;
}

.info-table th {
    padding-top: 0.2rem !important;
    padding-bottom: 0.2rem !important;

    padding-right: 0.2rem !important;
    padding-left: 0.2rem !important;

    /* background-color:blanchedalmond; */
    font-weight: normal;
    background-color: #012970;
    color: white;
}

.info-table th.required::after {
    content: " *";
    color: white;
    vertical-align: middle;
}

.info-table td {
    padding-right: 0.3rem !important;
    padding-left: 0.3rem !important;
}


.div-overflow {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.td-overflow {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    max-width: 0;
}



/**
*/
.icon-small {
    font-size: 1.6em;
}

/**
*/
.bg-other {
    background-color: #ffffee;
}

/* ファイル選択 file_select.js と併せて使用 */
.custom-file {
    max-width: 20rem;
    overflow: hidden;
}

.custom-file-label {
    white-space: nowrap;
}

/**
* ==========================================
* dragdocument
* ==========================================
*/
#inputFile {
    position: relative;
    padding: 65px 0 20px;
    text-align: center;
}

#dropArea {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 10px 0 0;
    border: 2px dashed #494949;
    background: rgba(22, 165, 191, 0);
    transition: all 0.25s cubic-bezier(0.21, 0.51, 0.51, 1);
}

#dropArea.dragover {
    border: 2px solid #16a5bf;
    background: rgba(22, 165, 191, 0.6);
}

#document_file {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    display: block;
    width: 280px;
    height: 50px;
    opacity: 0;
}

#inputFileWrap {
    position: relative;
    display: inline-block;
}

#btnInputFile,
#btnChangeFile {
    display: table;
    width: 300px;
}

#btnChangeFile {
    display: none;
}

#btnInputFile span,
#btnChangeFile span {
    position: relative;
    z-index: 2;
    display: table-cell;
    width: 280px;
    height: 50px;
    border: 1px solid #333;
    border-radius: 4px;
    background: #333;
    text-decoration: none;
    color: #fff;
    font-size: 22px;
    line-height: 1;
    font-weight: bold;
    vertical-align: middle;
}

#upFileWrap.selected #btnInputFile {
    display: none;
}

#upFileWrap.selected #btnChangeFile {
    display: table;
}

/**
* ==========================================
* drag file area end
* ==========================================
*/


/**
* ==========================================
	https://webparts.cman.jp/button/onoff/
* ==========================================
*/

/* === ボタンを表示するエリア ============================== */
.switchArea {
    line-height: 32px;
    /* 1行の高さ          */
    letter-spacing: 0;
    /* 文字間             */
    text-align: center;
    /* 文字位置は中央     */
    font-size: 13px;
    /* 文字サイズ         */

    position: relative;
    /* 親要素が基点       */
    /* margin         : auto; */
    /* 中央寄せ           */
    width: 76px;
    /* ボタンの横幅       */
    background: #fff;
    /* デフォルト背景色   */
}

/* === チェックボックス ==================================== */
.switchArea input[type="checkbox"] {
    display: none;
    /* チェックボックス非表示 */
}

/* === チェックボックスのラベル（標準） ==================== */
.switchArea label {
    display: block;
    /* ボックス要素に変更 */
    box-sizing: border-box;
    /* 枠線を含んだサイズ */
    height: 32px;
    /* ボタンの高さ       */
    border: 2px solid #adb5bd;
    /* 未選択タブのの枠線 */
    border-radius: 16px;
    /* 角丸               */
}

/* === チェックボックスのラベル（ONのとき） ================ */
.switchArea input[type="checkbox"]:checked+label {
    border-color: #007bff;
    /* 選択タブの枠線     */
}

/* === 表示する文字（標準） ================================ */
.switchArea label span:after {
    content: "OFF";
    /* 表示する文字       */
    padding: 0 0 0 19px;
    /* 表示する位置       */
    color: #adb5bd;
    /* 文字色             */
}

/* === 表示する文字（ONのとき） ============================ */
.switchArea input[type="checkbox"]:checked+label span:after {
    content: "ON";
    /* 表示する文字       */
    padding: 0 19px 0 0;
    /* 表示する位置       */
    color: #007bff;
    /* 文字色             */
}

/* === 丸部分のSTYLE（標準） =============================== */
.switchArea #swImg {
    position: absolute;
    /* 親要素からの相対位置*/
    width: 24px;
    /* 丸の横幅           */
    height: 24px;
    /* 丸の高さ           */
    background: #adb5bd;
    /* カーソルタブの背景 */
    top: 4px;
    /* 親要素からの位置   */
    left: 4px;
    /* 親要素からの位置   */
    border-radius: 12px;
    /* 角丸               */
    transition: .2s;
    /* 滑らか変化         */
}

/* === 丸部分のSTYLE（ONのとき） =========================== */
.switchArea input[type="checkbox"]:checked~#swImg {
    transform: translateX(44px);
    /* 丸も右へ移動       */
    background: #007bff;
    /* カーソルタブの背景 */
}

.breadcrumb {
    margin-bottom: 1px !important;
}

/* カスタムページネーション */
.custom-pagination {
    display: flex;
    width: 100%;
    margin: 0;
    padding: 0;
}

.custom-pagination .page-item {
    flex: 1;
    text-align: center;
}

.custom-pagination .page-link {
    padding: 0.5rem 0.25rem;
    border-radius: 4px;
    width: 100%;
    font-size: 1.0rem;
}

.custom-pagination .prev-page .page-link {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.custom-pagination .next-page .page-link {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.custom-pagination .current-page .page-link {
    border-radius: 0;
}

.custom-pagination .page-item.disabled .page-link {
    color: #adb5bd;
    background-color: #f8f9fa;
    border-color: #dee2e6;
    pointer-events: none;
}

.custom-pagination .page-item.active .page-link {
    background-color: #007bff;
    border-color: #007bff;
    color: white;
}

/* スマートフォン向けページネーション最適化 */
@media (max-width: 576px) {
    .pagination {
        margin: 0;
        flex-wrap: nowrap;
    }

    .pagination .page-link {
        padding: 0.4rem 0.6rem;
        font-size: 0.875rem;
    }

    /* コンテナーの調整 */
    .container {
        padding-left: 10px;
        padding-right: 10px;
    }

    /* ページネーションコンテナーの調整 */
    nav[aria-label="店舗リストのページ送り"],
    nav[aria-label="商品リストのページ送り"] {
        display: flex;
        justify-content: center;
        width: 100%;
        overflow-x: auto;
    }
}

/*
=========================================================
style override
=========================================================
*/

/*
===============================
card
===============================
*/
.echo-card {
    margin-bottom: 1px;
}

.echo-card-body {
    padding-top: 0px !important;
    padding-bottom: 0px !important;

}

/*
===============================
table
===============================
*/

.echo-table {
    background-color: #fff;
    width: 100%;
    font-weight: normal;
    font-size: 14px;

    margin-top: 1rem;
}

.echo-table th {
    /* color: #495057; */
    font-weight: normal;

    font-weight: normal;
    background-color: #012970;
    color: white;
}


.list {
    width: 100%;
    text-align: center;
    border-collapse: collapse;
    table-layout: fixed;
}

/* CSS for Product Display Section */
.container.container-sm {
    max-width: 600px;
    margin: 0 auto;
    padding: 0;
}

.card {
    border-radius: 12px;
}

.card-title {
  font-weight: 600;
}

.text-secondary {
    font-size: 0.9rem;
}

.card-body {
    padding: 1.5rem;
}

.border-dashed {
    border: 2px dashed #6c757d;
}

.modal-header {
    background-color: #f1f1f1;
    border-bottom: 1px solid #dee2e6;
}

.modal-title {
    font-weight: bold;
}

.btn-close {
    background: none;
    border: none;
}

/* Addition Card Style */
.circle-add-btn {
    font-family: 'Arial', sans-serif;
    font-size: 2.11rem;
    font-weight: 400;
    width: 20%;
    height: auto;
    aspect-ratio: 1;
    max-width: 50px;
    border-radius: 50%;
    padding: 0;
    align-items: center;
    justify-content: center;
    box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .500) !important;
}

.circle-add-btn::before {
    content: "+";
}

.card.border-dashed {
    background-color: transparent;
}

.badge-circle {
    display: inline-flex;         /* 中央揃えのため */
    align-items: center;         /* 垂直中央揃え */
    justify-content: center;     /* 水平中央揃え */
    width: 24px;                 /* 縦横同じサイズ */
    height: 24px;                /* 縦横同じサイズ */
    border-radius: 50%;          /* 完全な円形に */
    font-size: 14px;             /* テキストのサイズを調整 */
    transform: translate(-50%, -50%) !important;
    position: absolute !important; /* 他要素との干渉防止 */
}

/* edited-badge固有のスタイル */
[edited] .badge-circle.edited-badge {
    background-color: #28a745;   /* 背景色を成功（緑色）に */
    color: white;                /* 白い文字 */
    font-weight: bold;             /* 太字 */
    box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .500) !important;
}

/* チェックマークを疑似要素で追加 */
[edited] .edited-badge::before {
    content: "✓";        /* チェックマークを表示 */
    display: block;       /* インラインブロックとして表示 */
}

.card.select-card[selected] {
    box-shadow: 0 0 10px rgba(0, 123, 255, 0.7); /* 青い光のエフェクト */
    transform: scale(1.03); /* 少し大きくなる */
    transition: all 0.3s ease; /* アニメーションの滑らかさ */
}

.company-name {
    font-size: 1.1rem;
    font-weight: 500;
}
