﻿@charset "utf-8";

body{
	font-family: 'Lato', 'Noto Sans JP', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
/* H1 - H6 font */
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-family: 'Lato', 'Noto Sans JP', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
.main-header .logo {
  font-family: 'Lato', 'Noto Sans JP', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

img{
    max-width: 100%;
}

/* 折り返し制限・改行の禁則処理 */
*{
    word-break: normal;
    line-break: strict;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

/* 半角のみ */
input.alphabet{
    ime-mode: disabled;
}

/* readonly（日付入力テキストボックス等） */
input[readonly] {
    background-color: #fff !important;

}

/* エラー画面 */
.error-page {
    margin: 0 auto;
    width: auto;
}
.error-page > .error-content{
    margin: 0;
}

/* 備考 */
.notes{
    font-size: .8em;
}

/* ローダー */
#loadingPage .loader {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 0;
}
#regist .loader ,
#entry .loader {
    display: none;
}
.ball-spin-fade-loader > div {
    background-color: #28A745;
    opacity: .65;
}
.ball-pulse > div {
    background-color: #28A745;
}
.ball-beat > div {
    background-color: #28A745;
}
.line-scale-pulse-out > div {
    background-color: #28A745;
}
.ball-spin-fade-loader > div {
    background-color: #28A745;
    opacity: .65;
}
.line-scale > div {
    background-color: #6c757d;
    height: 0.8em;
    width: 2px;
}

/* アラート */
.alert {
    margin-top: 1.25rem;
}
.alert p {
    margin: 0;
    padding-left: 2em;
    text-indent: -1em;
}

/* 画像選択 */
.form-group .select-file{
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    justify-content: space-around;
    border: 1px solid #ced4da;
    border-radius: .25rem;
    box-shadow: inset 0 0 0 transparent;
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}
.form-group .select-file label{
    width: 100%;
    margin:0;
    padding: 0.5em 3em;
    text-align:center;
}
.form-group .select-file label i{
    display: block;
    font-size: 300%;
}
.photo canvas{
    display: block;
    margin: 0 auto;
    max-width: 100%;
}

/* インストール、ホーム(モーダル) */
#how_to_install {
    height: auto;
    max-width: 800px;
}
#how_to_install .card {
    display: none;
}
#how_to_install .card-body{
    font-size: .8rem;
}
#appInfoArea{
    align-items: center;
}
#appInfoArea p{
    margin: 0;
}
#how_to_install h1 {
    font-size: 1.3em;
    font-weight: bold;
    margin: 0;
}
#how_to_install h2 {
    font-size: 1.5em;
    font-weight: bold;
}
#how_to_install h4 {
    font-size: 1em;
    font-weight: bold;
}
#how_to_install .browser img {
    margin-top: 1em;
    width: 50%;
    min-width: 60px;
}
#how_to_install .btn i {
    margin-right: 0;
}
#how_to_install .menu_icon {
    width: 1.5em;
    vertical-align: bottom;
}
#how_to_install ol {
    padding: 0 0 0 1em;
}

#connect #finish{
    font-size: .8rem;
    width: 90%;
    max-width: 768px;
}
#connect #finish .finish-logo{
    font-size: 1.8em;
    font-weight: 300;
    text-align: center;
    margin-bottom: 0.9rem;
}

/* ローディングページ */
#loadingPage{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    height: 100vh;
}
#loadingPage img{
    width: 10vw;
    min-width: 80px;
}
#loadingPage .ball-pulse{
    text-align: center;
    margin-top: 1em;
}
#loadingPage .ball-pulse > div {
    background-color: #0099ff;
    opacity: .65;
}
#loadingPage .ball-pulse.loading_2 > div {
    background-color: #ff0066;
}
#loadingPage .ball-pulse.loading_3 > div {
    background-color: #339933;
}

/* 新規登録 */
.register-box{
    margin: 10px auto 0;
/*    font-size: .8em; */
}
/*
.custom-control.custom-radio {
    padding-left: 1.5rem;
}
.custom-control.custom-radio .custom-control-label::before,
.custom-control.custom-radio .custom-control-label::after{
    left: -1.5rem;
}
*/
.register-card-body .input-group .row .form-control {
    border-right: 1px solid #ced4da;
}
.form-control::placeholder {
    color: #ddd;
}
/* 項目入力画面のみ、表示幅を広げる */
#regist .register-box{
    max-width: 800px;
    width: 90%;
}
.register-box dl dt{
    font-weight: normal;
}
.register-box dl dd{
    font-size: 1rem;
}
.register-box #login_id_disp{
    line-height: 1.2;
    font-family: serif;
    word-break: break-all;
}
/* 確認チェックボックス */
.custom-control.custom-checkbox.agree {
    padding-left: 0;
}
.custom-control.custom-checkbox.agree .custom-control-label{
    margin-left: 2.5rem;
}
.custom-control.custom-checkbox.agree .custom-control-label::before,
.custom-control.custom-checkbox.agree .custom-control-label::after{
    left: -2.5rem;
    top: 0;
    width: 1.5rem;
    height: 1.5rem;
}

/* ============================================================
   来場者登録フォーム リニューアル (2026-06)
   スコープ: #regist（登録画面）/ #user_edit（登録情報変更画面）。
   他画面に影響しないこと。
============================================================ */

/* ページ背景色 */
#regist { background: #f4f6f9; }
#user_edit { background: #f4f6f9; }

/* アカウント情報カード */
#regist .card.shadow-none:not(.bg-transparent),
#user_edit .card.shadow-none:not(.bg-transparent) {
    border: 1px solid #eef1f5;
    border-radius: 8px;
    overflow: hidden;
}
#regist .card.shadow-none:not(.bg-transparent) > .card-header,
#user_edit .card.shadow-none:not(.bg-transparent) > .card-header {
    background: #d1ecf1;
    border-bottom: 1px solid #bee5eb;
    padding: 18px 24px 14px;
}
#regist .card.shadow-none:not(.bg-transparent) > .card-header .card-title,
#user_edit .card.shadow-none:not(.bg-transparent) > .card-header .card-title {
    color: #0c5460;
    float: none;
}
#regist .card.shadow-none:not(.bg-transparent) > .card-header .card-title i,
#user_edit .card.shadow-none:not(.bg-transparent) > .card-header .card-title i {
    color: #17a2b8;
}
#regist .card.shadow-none:not(.bg-transparent) > .card-body,
#user_edit .card.shadow-none:not(.bg-transparent) > .card-body { padding: 24px; }

/* フォームコントロール（タッチターゲット44px確保） */
#regist .form-control,
#regist .custom-select,
#user_edit .form-control,
#user_edit .custom-select {
    height: auto;
    min-height: 44px;
    border-radius: 8px;
}

/* チェックボックス・ラジオ選択肢のカード風スタイル */
#regist .custom-control.custom-checkbox:not(.agree),
#regist .custom-control.custom-radio:not(.agree),
#user_edit .custom-control.custom-checkbox:not(.agree),
#user_edit .custom-control.custom-radio:not(.agree) {
    align-items: center;
    background: #fff;
    border: 1px solid #dfe5eb;
    border-radius: 8px;
    display: flex;
    margin-bottom: .5rem;
    min-height: 44px;
    padding: 8px 12px 8px 2.5rem;
}
#regist .custom-control.custom-checkbox:not(.agree) .custom-control-label,
#regist .custom-control.custom-radio:not(.agree) .custom-control-label,
#user_edit .custom-control.custom-checkbox:not(.agree) .custom-control-label,
#user_edit .custom-control.custom-radio:not(.agree) .custom-control-label {
    width: 100%;
}

/* 来場者情報セクション（枠なし・info色アンダーライン） */
#regist .visitor-section-header,
#user_edit .visitor-section-header { padding: 18px 0 12px; border-bottom: 2px solid #17a2b8; }
#regist .visitor-section-header .card-title,
#user_edit .visitor-section-header .card-title { float: none; }

/* 必須バッジ（アウトラインスタイル・ラベルとの縦中央揃え） */
#regist .badge.bg-danger,
#user_edit .badge.bg-danger {
    background-color: transparent !important;
    border: 1px solid #dc3545 !important;
    color: #dc3545 !important;
}
#regist label,
#user_edit label { display: flex; align-items: center; flex-wrap: wrap; }
#regist .badge,
#user_edit .badge { line-height: 1.4; }

/* 送信ボタン */
#regist .btn-primary,
#user_edit .btn-primary,
#regist .btn-default,
#user_edit .btn-default { border-radius: 6px; min-height: 44px; }

/* 確認画面: 確認内容リスト（dl/dt/dd） */
#regist dl { margin: 0; }
#regist dl dt { font-size: .8rem; color: #6c757d; font-weight: 400; margin-top: .9rem; }
#regist dl dt:first-child { margin-top: 0; }
#regist dl dd { font-size: 1rem; margin: 0 0 .6rem; padding-bottom: .6rem; border-bottom: 1px solid #dfe5eb; }

/* レスポンシブ */
@media (max-width: 575.98px) {
    #regist .card.shadow-none:not(.bg-transparent) > .card-header,
    #user_edit .card.shadow-none:not(.bg-transparent) > .card-header { padding: 16px 18px 12px; }
    #regist .card.shadow-none:not(.bg-transparent) > .card-body,
    #user_edit .card.shadow-none:not(.bg-transparent) > .card-body   { padding: 18px; }
    #regist .visitor-section-header,
    #user_edit .visitor-section-header                  { padding: 16px 0 10px; }
}

/* 評価(ラジオボタン) */
.ratingRadioList{
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
}
.ratingRadioList input[type='radio']{
    opacity: 0;
}
.ratingRadioList label {
    color: #adb5bd;
    cursor: pointer;
    margin-right: 0.25em;
}
.ratingRadioList label:hover,
.ratingRadioList label:hover ~ label,
.ratingRadioList input[type='radio']:checked ~ label{
    color: #ffc107;
}

/* ログイン */
.login-page {
    flex-direction: column;
    min-height: 0 !important;
}
.login-box {
    margin: 0;
    font-size: .8rem;
    z-index: 100;
}
.login-logo img{
    width: 100%;
}
.login-logo,
.register-logo {
    font-size: 1.8em;
}
.login-card-body{
    background: transparent;
}
.login-box .input-group-text {
    width: 2.5em;
}
.login-box .input-group-text .fa {
    margin: 0 auto;
}
.input-group-append {
    background: #eee;
    border-radius: .25rem;
}
.login-box .card a i{
    margin-right: .3em;
}
.custom-control-label {
    font-weight: normal !important;
/*    padding-top: .2em; */
}
.custom-control-label::before,
.custom-control-label::after {
    left: -1.5rem;
}
.custom-control.custom-checkbox {
    padding-left: 1.5rem;
    margin-bottom: .5em;
}
.custom-control.custom-checkbox .custom-control-label::before,
.custom-control.custom-checkbox .custom-control-label::after{
    left: -1.5rem;
}
.custom-control.custom-radio {
    padding-left: 1.5rem;
    margin-bottom: .5em;
}
.custom-control.custom-radio .custom-control-label::before,
.custom-control.custom-radio .custom-control-label::after{
    left: -1.5rem;
}

/* ホームに追加ボタン */
#btnAddHomeArea,
#btnAddHome {
    display: none;
}
.login-box #btnAddHome {
    font-size: .8rem;
}

/* トップ */
/* [2026-08-12] 背景を particles.js から CSSレイヤー＋軽量canvasへ刷新（#particles-js → #opening-bg）。
   canvas の描画は front/js/baseScript.js が行う。 */
#opening-bg{
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;   /* 子レイヤーの絶対配置の基準 */
    overflow: hidden;     /* はみ出した背景レイヤーを切り取る */
}
/* .login-box の z-index:100 は position 指定が無いと効かないため補う（削除不可） */
#opening-bg .login-box{
    position: relative;
}
/* 揺らぎは transform で動かす（background-position は毎フレーム paint が走るため） */
#opening-bg::before{
    content: "";
    position: absolute;
    inset: -25%;
    background: linear-gradient(125deg, #EAF7FF, #A9DDF7 35%, #58B4E8 65%, #1E7FC2 100%);
    animation: openingMeshShift 9s ease-in-out infinite;
    will-change: transform;
}
/* 回転する光の帯 */
#opening-bg .bg-sweep{
    position: absolute;
    inset: -40%;
    background: conic-gradient(
        from 0deg,
        transparent 0deg,
        rgba(255,255,255,.28) 40deg,
        transparent 110deg,
        transparent 220deg,
        rgba(140,220,255,.22) 260deg,
        transparent 320deg,
        transparent 360deg
    );
    mix-blend-mode: screen;
    animation: openingSweepRotate 16s linear infinite;
    will-change: transform;
}
/* 発光ブロブ3層。filter:blur() は使わない（radial-gradient のフェードで足り、GPU負荷を避けるため） */
#opening-bg .bg-blob{
    position: absolute;
    border-radius: 50%;
    mix-blend-mode: screen;
    opacity: .65;
    will-change: transform;
}
#opening-bg .bg-blob1{
    width: 55vmax; height: 55vmax;
    left: -15%; top: -10%;
    background: radial-gradient(circle, rgba(255,255,255,.55), transparent 70%);
    animation: openingBlobFloat1 8s ease-in-out infinite;
}
#opening-bg .bg-blob2{
    width: 45vmax; height: 45vmax;
    right: -10%; bottom: -15%;
    background: radial-gradient(circle, rgba(70,220,255,.55), transparent 70%);
    animation: openingBlobFloat2 11s ease-in-out infinite;
}
#opening-bg .bg-blob3{
    width: 38vmax; height: 38vmax;
    right: 5%; top: -5%;
    background: radial-gradient(circle, rgba(120,150,255,.45), transparent 70%);
    animation: openingBlobFloat3 13s ease-in-out infinite;
}
/* 粒子ネットワーク（背景レイヤーより前・ログインボックスより後ろ） */
#opening-bg #openingBgCanvas{
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}
@keyframes openingMeshShift{
    0%, 100%{ transform: translate(0,0) scale(1); }
    50%{ transform: translate(-8%, 6%) scale(1.15); }
}
@keyframes openingSweepRotate{
    from{ transform: rotate(0deg); }
    to{ transform: rotate(360deg); }
}
@keyframes openingBlobFloat1{
    0%,100%{ transform: translate(0,0) scale(1); }
    50%{ transform: translate(8%, 10%) scale(1.25); }
}
@keyframes openingBlobFloat2{
    0%,100%{ transform: translate(0,0) scale(1); }
    50%{ transform: translate(-10%, -8%) scale(1.3); }
}
@keyframes openingBlobFloat3{
    0%,100%{ transform: translate(0,0) scale(1); }
    50%{ transform: translate(-6%, 12%) scale(1.2); }
}
/* 「視差効果を減らす」設定時は停止（canvas 側も baseScript.js で同条件で描画しない） */
@media (prefers-reduced-motion: reduce){
    #opening-bg::before,
    #opening-bg .bg-sweep,
    #opening-bg .bg-blob{
        animation: none;
    }
}
#index {
    background: #1E7FC2;
    background: linear-gradient(125deg, #EAF7FF, #A9DDF7 35%, #58B4E8 65%, #1E7FC2 100%);
}
#index .sub-regist {
    color: #0056b3;
}
#index .sub-login {
    color: #218838;
}
/* アクションボタン共通スタイル（index.php, home.php モーダル等で使用） */
.btn-action {
    border-radius: 8px;
    padding: 14px 20px;
    font-size: 15px;
}

/* wrapper */
.content-wrapper > .content {
    overflow: hidden;
    padding-bottom: 3rem;
}

/* システム名 */
/*
.navbar-light .navbar-nav .nav-link,
.navbar-light .navbar-brand {
    color: #fff;
}
.navbar-light .navbar-nav .nav-link:focus,
.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-brand:focus,
.navbar-light .navbar-brand:hover{
    color: #DDD;
}
*/
.navbar-dark .navbar-nav .nav-link {
    color: rgba(255,255,255,1);
}
.navbar-dark .navbar-nav .nav-link:hover {
    color: rgba(255,255,255,.75);
}
.navbar-light .navbar-nav .nav-link {
    color: rgba(0,0,0,.9);
}
.navbar-light .navbar-nav .nav-link:hover {
    color: rgba(0,0,0,.5);
}
.logomark{
    position: absolute;
    top: 3px;
    left: .5em;
    width: 25px;
    margin: 0 5px 0 3px;
    width: 50px;
}
.navbar-brand{
/*
    margin-left: 2.8em;
*/
}
.elevation-3 {
    box-shadow: none;
}

.navbar-nav{
    max-width: CALC(100% - 3rem);
}
.navbar-nav.ml-auto{
    max-width: 3rem;
}

.main-header .navbar-nav .nav-item:last-child{
    overflow: hidden;
}
.navbar-brand{
    text-overflow: ellipsis;
    white-space: nowrap;
    width: 100%;
    overflow: hidden;
    padding: 0;
/*
    padding-bottom: 0; ←この指定があるとiPhoneで隙間が空いてしまうのでNG★★後で削除★★
*/
}

/* ヘッダ */
.main-header{
/*
    border: none !important;
*/
}
.main-header .nav-link{
    font-size: 1.2rem;
}

/* フッターメニュー */
.main-footer {
    padding: 0.5rem 0.5rem 1rem 0.5rem;
}
.main-footer a {
    display: block;
    line-height: 1.2;
    text-align: center;
    font-size: 1.5rem;
    color: #aaa;
}
.main-footer a span {
    display: block;
    font-size: .7rem;
}
.main-footer a.active {
    color: #007bff;
}
.main-footer .fa-ticket-alt {
    transform: rotate(-35deg);
}
.layout-footer-fixed .wrapper .content-wrapper {
    margin-bottom: calc(3.5rem + 1px);
}
.main-footer .btncol{
    display: flex;
    align-items: flex-end;
    justify-content: center;
}
.main-footer .btncol span{
    font-size: .9rem;
}

/* トップ画像 */
#topImageArea{
    text-align: center;
    padding: 1em 0 1.5em;
}
#topImageArea img {
    box-shadow: 0 5px 10px #bbb;
    border-radius: 10px;
}
/* 使い方 */
#linkInfoBox h3{
    position: relative;
    color: #1453A4;
    z-index: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.2rem;
}
/*
#linkInfoBox h3:before {
    content: attr(data-eng);
    position: absolute;
    top: -4px;
    left: 0;
    transform: rotate(-5deg);
    color: rgba(33,37,41,0.2);
    font-size: 1rem;
    font-style: italic;
    z-index: -1;
}
*/
#linkInfoBox h3:before,
#linkInfoBox h3:after {
    content: '';
    width: 2px;
    height: 28px;
    background-color: #1453A4;
}
#linkInfoBox h3:before {
  margin-right: 16px;
  transform: rotate(-35deg)
}
#linkInfoBox h3:after {
  margin-left: 16px;
  transform: rotate(35deg)
}

/* 受付数 */
#recepCntBox .info-box .info-box-number {
    font-size: 2em;
}
/* リスト */
.products-list{
    font-size: .8em;
}
.card-tools .btn-tool {
    font-size: .8rem;
}

/* 表組み */
.table td,
.table th {
    padding: .5rem 1.25rem;
    font-size: .8rem;
}
.card-body.p-0 .table tbody > tr > td:first-of-type,
.card-body.p-0 .table tbody > tr > th:first-of-type,
.card-body.p-0 .table thead > tr > td:first-of-type,
.card-body.p-0 .table thead > tr > th:first-of-type {
    padding: .5rem 1.25rem !important;
}
.card-body.p-0 .table tbody > tr > th:first-of-type {
    padding-right: 0 !important;
}

/* map */
#mapBox .mapOuter{
    width: 100%;
    height: calc(100vw * 2 / 3);
    overflow: hidden;
}
#mapBox .mapInner{
    height: calc((100vw * 2 / 3) + 300px);
}
#map-canvas {
    width: 100%;
/*    height: calc(100vw * 2 / 3); */
    height: calc((100vw * 2 / 3) + 300px);
    margin-top: -150px;
    border: none;
}

/* sns */
/*
.snsbtn{
    width: 2.5rem;
}
.snsbtnLine{
    width: 12rem;
}


#snsBox1 .list-inline-item i{
    vertical-align: middle;
    font-size: 1.8em;
}
#snsBox1 .btn{
    border-width: 2px;
    padding: .2rem 1rem;
}
#snsBox1 .btn span{
    font-weight: bold;
}

#snsBox2{
    font-size: 3em;
}
#snsBox2 a{
    color: #aaa;
}
#snsBox2 a:hover{
    color: #919191;
}
*/
#snsBox {
    border-top: 1px solid #aaa;
}
#snsBox .list-inline-item{
    vertical-align: middle;
}
#snsBox .list-inline-item{
    font-size: 3em;
}
#snsBox .list-inline-item:not(:last-child){
    margin-right: 0.75rem;
}
#snsBox .list-inline-item a span{
    color: #aaa;
}
#snsBox .list-inline-item a span:hover{
    color: #919191;
}

/* サイトURL */
.siteurl i{
    color: #aaa;
}

/* ポイント、距離表記 */
.num{
    font-size: 1.4rem;
    font-weight: bold;
}
.unit{
    font-weight: bold;
    font-size: 0.5em;
}

/* アイコン */
.list-group-item i{
    margin-right: .3em;
}
.btn i{
    margin-right: .3em;
}
.nav-item i{
    margin-right: .1em;
}

/* マイカード */
#mycard{
    margin-top: 1.5em;
}
#btn_logout{
    margin-bottom: 1em;
}

/* カード */
.card:first-child{
    margin-top: 1.5em;
}
.card-title i{
    margin-right: .3em;
}

/* Contactボタン */
#btnContact{
    position: absolute;
    top: -50px;
    left: 50%;
    transform: translate(-50%);
    color: #fff;

}
.footer-bg-warning #btnContact{
    color: rgba(0, 0, 0, .9);
}
.btn-real-dent {
    display: inline-block;
    position: relative;
    text-decoration: none;
    color: #aaa;
    width: 75px;
    height: 75px;
    border-radius: 50%;
    text-align: center;
    background: #fff;
}
/*    background: #f7f7f7; */
/*    box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.08); */
.btn-real-dent i {
    position: absolute;
    content: '';
    width: 65px;
    height: 65px;
    line-height: 65px;
    left: 5.5px;
    top: 4px;
    border-radius: 50%;
    font-size: 35px;
    text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.19);
    box-shadow: inset 0 2px 0 rgba(255,255,255,0.5), 0 2px 2px rgba(0, 0, 0, 0.19);
    border-bottom: solid 2px #b5b5b5;
}

/* QRエリア */
#qrArea{
    padding: 0.1em 1em 1em;
    margin-bottom: 1em;
}
#qrArea .card{
    margin: 0;
    padding: 1em;
}
#myqr{
    text-align: center;
}
#myqr img,
#myqr canvas{
    position: relative;
    max-width: 100%;
    z-index: 999;
}
#myqr .loader {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 0;
}
#timerArea {
    min-height: 40px;
    line-height: 1.2;
    margin: 0 auto;
    color: #666;
    text-align: center;
    font-size: 1em;
}
#timerArea p{
    margin: 0;
}
#timerArea p.expired{
    line-height: 1.5;
}
#timer .yyc-day,
#timer .yyc-hou{
    display: none;
}

/* ユーザ情報 */
#userInfoBox .abt{
    word-break: break-all;
}
#userInfoBox strong{
    font-size: 14px;
}
#userInfoBox p{
    font-size: 18px;
}

/*
#userInfoBox .list-group-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
#userInfoBox .list-group-item:first-child{
    border-top: none;
    padding-top: 0;
}
#userInfoBox .list-group-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}
#userInfoBox .list-group-item.imgList {
    display: flex;
    align-content: space-between;
    flex-direction: column;
    align-items: flex-start;
}
#userInfoBox .list-group-item p{
    margin: 0;
    min-width: 9em;
}
#userInfoBox .list-group-item span.abt{
    word-break: break-all;
}
#userInfoBox .list-group-item span.term{
    display: block;
    font-size: .8rem;
}
*/

/* バナー */
#bannerList{
    margin: 0;
    padding: 0;
    list-style: none;
}
#bannerList li{
    margin-bottom: 1em;
    text-align: center;
}

/* タブ */
.card-header .nav-item {
    width: 50%;
    text-align: center;
    font-size: .8em;
}
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
    background-color: #28A745;
}
.nav-pills .nav-link:not(.active):hover {
    color: #28A745;
}

/* 履歴パネル */
#history td{
    vertical-align: middle;
}
#history td:nth-child(1){
    width: 55%;
}
#history td:nth-child(2){
    width: 45%;
    min-width: 13em;
}
#history .ticket_num {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
#history .num {
    margin: 0 0.1em;
}
#history i.term{
    margin-right: 0.5rem;
    color: #6c757d;
}
#history .card-footer{
    font-size: .8em;
}
#history .card-footer p:last-child{
    margin: 0;
}

/* 履歴パネル 別ver. */
#history .callout.callout-original {
    border-left-color: #6c757d;
    padding: 0.75rem;
}
#history .callout:last-child {
    margin-bottom: 0 !important;
}

#history .callout .term{
    font-size: 0.8em;
}
#history .callout a.btn{
/*    color: #fff;
    background-color: #6c757d;
    border-color: #6c757d; */
    box-shadow: none;
    text-decoration: none;
}

/* モーダル */
.modal-open .modal {
    padding: 0 !important;
}

/* 添付ファイルアイコン */
.icostack{
    display: inline-block;
    position: relative;
    width: 1em;
    height: 1em;
    line-height: 1em;
    margin-right: 0.3em;
    font-size: 130%;
    vertical-align: middle;
}
.icon-file-empty {
    position: absolute;
    top: 0; /* 文字位置調整をリセット */
    color: #ccc;
}
.icon-file-type-text,
.icon-file-type-picture ,
.icon-file-type-pdf,
.icon-file-type-excel,
.icon-file-type-word {
    position: absolute;
    top: 0.31em;
    left: 0.21em;
    transform: scale(0.55);
    transform-origin: 0 0;
}
.icon-file-type-text {
    color: #cccccc;
}
.icon-file-type-picture {
    color: #ec851e;
}
.icon-file-type-pdf {
    color: #da2016;
}
.icon-file-type-excel {
    color: #247045;
}
.icon-file-type-word {
    color: #2b5590;
}

/* 規約、プライバシーポリシー、運営に関する情報提供 */
#policyModal,
#termsModal,
#operationModal {
    font-size: .8rem;
}
#policyModal ul,
#termsModal ul,
#operationModal ul{
    padding: 0 0 0 1em;
    list-style-type:none;/* リストマークなし */
}
#policyModal h1,
#termsModal h1,
#operationModal h1{
    font-size: 1.3em;
    font-weight: bold;
    margin: 0;
}
#policyModal h2,
#termsModal h2,
#operationModal h2{
    font-size: 1em;
    font-weight: bold;
}

/* 登録確認メールの受信、使い方マニュアル、トラブルシューティング、ホーム画面にアイコンを追加 */
#recvMailModal ,
#howToModal ,
#troubleModal ,
#addIconModal {
    font-size: .8rem;
}

#addIconModal .card {
    display: none;
}

#recvMailModal h1,
#howToModal h1,
#troubleModal h1,
#addIconModal h1{
    font-size: 1.3em;
    font-weight: bold;
    margin: 0;
}
#recvMailModal h2,
#troubleModal h2,
#howToModal h2 {
    font-size: 1.5em;
    font-weight: bold;
    background: #94CEF2;
    padding: 0.75rem;
    border-radius: 0.75rem 0 0 0;
}
#addIconModal h2{
    font-size: 1.5em;
    font-weight: bold;
}
#recvMailModal .modal-body h3,
#howToModal .modal-body h3,
#troubleModal .modal-body h3,
#addIconModal .modal-body h3{
    font-size: 1.2rem;
}
#addIconModal h4{
    font-size: 1em;
    font-weight: bold;
}
#recvMailModal .browser img,
#howToModal .browser img,
#troubleModal .browser img,
#addIconModal .browser img {
    margin-top: 1em;
    width: 50%;
    min-width: 60px;
}
#recvMailModal .btn i,
#howToModal .btn i,
#troubleModal .btn i,
#addIconModal .btn i {
    margin-right: 0;
}
#recvMailModal .menu_icon,
#howToModal .menu_icon,
#troubleModal .menu_icon,
#addIconModal .menu_icon {
    width: 1.5em;
    vertical-align: bottom;
}
#howToModal .modal-body h3 {
    padding: 0.5em 0 0;
    font-size: 1.1rem;
}
#howToModal .titNum {
    position: relative;
    text-align: center;
    font-weight: bold;
    margin: 0 0.25em;
    z-index: 0;
    font-size: 1.5rem;
    color: #212529;
    vertical-align: middle;
}
#howToModal .titNum:before {
    content: attr(data-eng);
    position: absolute;
    top: -4px;
    left: 50%;
    transform: translateX(-50%);
    color: rgba(33,37,41,0.2);
    font-size: 1rem;
    font-weight: bold;
    z-index: -1;
}

/* QRスキャン確認モーダル */
#qrConfirmModal .qrcm-icon{
    width: 64px;
    height: 64px;
}
#qrConfirmModal .qrcm-allow{
    padding: .05em .35em;
    border-radius: 4px;
    background: #e8f2ff;
}

/* スポット資料モーダル */
.videoArea {
    position: relative;
    display: block;
    margin: 0 auto;
    width: 100%;
    padding-top: 56.25%;
}
.videoArea iframe{
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
}


/* ホームに追加ポップアップ */
.tap_icon{
    width: 1.5em;
    vertical-align: bottom;
}
.swal2-popup.swal2-toast{
    width: 23em;
    background-color: rgba(255,255,255,.95);
}
.swal2-popup.swal2-toast .swal2-content{
    text-align: left;
    padding: 0 0 0 .75rem;
}

/* 処理中スピナー */
.snippet {
    position: relative;
    background: #fff;
    padding: 2rem 5%;
    /*
    margin: 1.5rem 0;
    box-shadow: 0 0.4rem 0.8rem -0.1rem rgb(0 32 128 / 10%), 0 0 0 1px #f0f2f7;
    border-radius: .25rem;
    */
}
.stage {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	padding: 2rem 0;
	margin: 0 -5%;
	overflow: hidden;
}

/* カメラ準備中 */
#loadingCamera{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    height: 50vh;
    text-align: center;
}
#loadingCamera img{
    width: 10vw;
    min-width: 80px;
    margin: 1em;
}
#loadingCamera p{
    margin: 0;
    font-size: 2em;
    font-weight: bold;
}
#loadingCamera .ball-pulse{
    text-align: center;
    margin-top: 1em;
}
#loadingCamera .ball-pulse > div {
    background-color: #0099ff;
    opacity: .65;
}
#loadingCamera .ball-pulse.loading_2 > div {
    background-color: #ff0066;
}
#loadingCamera .ball-pulse.loading_3 > div {
    background-color: #339933;
}

/* QRスキャン画面 */
/* 見出しロゴ(img)は recep_scan / recep_edit とも削除したため不要
#recep_scan .content-header h1 img ,
#recep_edit .content-header h1 img {
    max-height: 1em;
}
*/

/* QRスキャン */
#qrScanArea{
    display: flex;
    align-items: center;
    justify-content: center;
}
#qrScanArea #video,
#qrScanArea #canvas {
    display: block;
    width: 70vw;
    margin: 0 auto;
}

/* デバッグログ */
#logArea {
    margin-top: 1em;
}
#logArea p {
    margin: 0;
    font-size: .8em;
}

/* QR読み込み完了 */
.msg-complete{
    margin: .5em 0;
    text-align: center;
    font-size: 2rem;
    font-weight: bold;
    color: #6c757d;
}
#recep_complete .completeInfo .recepName{
    font-size: 1.5rem;
}

.btn-back{
    border-radius: .5em;
    text-align: center;
    font-size: 2rem;
    margin-bottom: 1em;
}

/**
 * ==============================================
 * Dot Spin
 * ==============================================
 */
 /* 色変更 #9880ff → #727272 rgb(152, 128, 255) → rgb(114, 114, 114) */
.dot-spin {
  position: relative;
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background-color: transparent;
  color: transparent;
  box-shadow: 0 -18px 0 0 #727272, 12.72984px -12.72984px 0 0 #727272, 18px 0 0 0 #727272, 12.72984px 12.72984px 0 0 rgba(114, 114, 114, 0), 0 18px 0 0 rgba(114, 114, 114, 0), -12.72984px 12.72984px 0 0 rgba(114, 114, 114, 0), -18px 0 0 0 rgba(114, 114, 114, 0), -12.72984px -12.72984px 0 0 rgba(114, 114, 114, 0);
  -webkit-animation: dot-spin 1.5s infinite linear;
  animation: dot-spin 1.5s infinite linear;
}

@-webkit-keyframes dot-spin {
  0%,
  100% {
    box-shadow: 0 -18px 0 0 #727272, 12.72984px -12.72984px 0 0 #727272, 18px 0 0 0 #727272, 12.72984px 12.72984px 0 -5px rgba(114, 114, 114, 0), 0 18px 0 -5px rgba(114, 114, 114, 0), -12.72984px 12.72984px 0 -5px rgba(114, 114, 114, 0), -18px 0 0 -5px rgba(114, 114, 114, 0), -12.72984px -12.72984px 0 -5px rgba(114, 114, 114, 0);
  }
  12.5% {
    box-shadow: 0 -18px 0 -5px rgba(114, 114, 114, 0), 12.72984px -12.72984px 0 0 #727272, 18px 0 0 0 #727272, 12.72984px 12.72984px 0 0 #727272, 0 18px 0 -5px rgba(114, 114, 114, 0), -12.72984px 12.72984px 0 -5px rgba(114, 114, 114, 0), -18px 0 0 -5px rgba(114, 114, 114, 0), -12.72984px -12.72984px 0 -5px rgba(114, 114, 114, 0);
  }
  25% {
    box-shadow: 0 -18px 0 -5px rgba(114, 114, 114, 0), 12.72984px -12.72984px 0 -5px rgba(114, 114, 114, 0), 18px 0 0 0 #727272, 12.72984px 12.72984px 0 0 #727272, 0 18px 0 0 #727272, -12.72984px 12.72984px 0 -5px rgba(114, 114, 114, 0), -18px 0 0 -5px rgba(114, 114, 114, 0), -12.72984px -12.72984px 0 -5px rgba(114, 114, 114, 0);
  }
  37.5% {
    box-shadow: 0 -18px 0 -5px rgba(114, 114, 114, 0), 12.72984px -12.72984px 0 -5px rgba(114, 114, 114, 0), 18px 0 0 -5px rgba(114, 114, 114, 0), 12.72984px 12.72984px 0 0 #727272, 0 18px 0 0 #727272, -12.72984px 12.72984px 0 0 #727272, -18px 0 0 -5px rgba(114, 114, 114, 0), -12.72984px -12.72984px 0 -5px rgba(114, 114, 114, 0);
  }
  50% {
    box-shadow: 0 -18px 0 -5px rgba(114, 114, 114, 0), 12.72984px -12.72984px 0 -5px rgba(114, 114, 114, 0), 18px 0 0 -5px rgba(114, 114, 114, 0), 12.72984px 12.72984px 0 -5px rgba(114, 114, 114, 0), 0 18px 0 0 #727272, -12.72984px 12.72984px 0 0 #727272, -18px 0 0 0 #727272, -12.72984px -12.72984px 0 -5px rgba(114, 114, 114, 0);
  }
  62.5% {
    box-shadow: 0 -18px 0 -5px rgba(114, 114, 114, 0), 12.72984px -12.72984px 0 -5px rgba(114, 114, 114, 0), 18px 0 0 -5px rgba(114, 114, 114, 0), 12.72984px 12.72984px 0 -5px rgba(114, 114, 114, 0), 0 18px 0 -5px rgba(114, 114, 114, 0), -12.72984px 12.72984px 0 0 #727272, -18px 0 0 0 #727272, -12.72984px -12.72984px 0 0 #727272;
  }
  75% {
    box-shadow: 0 -18px 0 0 #727272, 12.72984px -12.72984px 0 -5px rgba(114, 114, 114, 0), 18px 0 0 -5px rgba(114, 114, 114, 0), 12.72984px 12.72984px 0 -5px rgba(114, 114, 114, 0), 0 18px 0 -5px rgba(114, 114, 114, 0), -12.72984px 12.72984px 0 -5px rgba(114, 114, 114, 0), -18px 0 0 0 #727272, -12.72984px -12.72984px 0 0 #727272;
  }
  87.5% {
    box-shadow: 0 -18px 0 0 #727272, 12.72984px -12.72984px 0 0 #727272, 18px 0 0 -5px rgba(114, 114, 114, 0), 12.72984px 12.72984px 0 -5px rgba(114, 114, 114, 0), 0 18px 0 -5px rgba(114, 114, 114, 0), -12.72984px 12.72984px 0 -5px rgba(114, 114, 114, 0), -18px 0 0 -5px rgba(114, 114, 114, 0), -12.72984px -12.72984px 0 0 #727272;
  }
}

@keyframes dot-spin {
  0%,
  100% {
    box-shadow: 0 -18px 0 0 #727272, 12.72984px -12.72984px 0 0 #727272, 18px 0 0 0 #727272, 12.72984px 12.72984px 0 -5px rgba(114, 114, 114, 0), 0 18px 0 -5px rgba(114, 114, 114, 0), -12.72984px 12.72984px 0 -5px rgba(114, 114, 114, 0), -18px 0 0 -5px rgba(114, 114, 114, 0), -12.72984px -12.72984px 0 -5px rgba(114, 114, 114, 0);
  }
  12.5% {
    box-shadow: 0 -18px 0 -5px rgba(114, 114, 114, 0), 12.72984px -12.72984px 0 0 #727272, 18px 0 0 0 #727272, 12.72984px 12.72984px 0 0 #727272, 0 18px 0 -5px rgba(114, 114, 114, 0), -12.72984px 12.72984px 0 -5px rgba(114, 114, 114, 0), -18px 0 0 -5px rgba(114, 114, 114, 0), -12.72984px -12.72984px 0 -5px rgba(114, 114, 114, 0);
  }
  25% {
    box-shadow: 0 -18px 0 -5px rgba(114, 114, 114, 0), 12.72984px -12.72984px 0 -5px rgba(114, 114, 114, 0), 18px 0 0 0 #727272, 12.72984px 12.72984px 0 0 #727272, 0 18px 0 0 #727272, -12.72984px 12.72984px 0 -5px rgba(114, 114, 114, 0), -18px 0 0 -5px rgba(114, 114, 114, 0), -12.72984px -12.72984px 0 -5px rgba(114, 114, 114, 0);
  }
  37.5% {
    box-shadow: 0 -18px 0 -5px rgba(114, 114, 114, 0), 12.72984px -12.72984px 0 -5px rgba(114, 114, 114, 0), 18px 0 0 -5px rgba(114, 114, 114, 0), 12.72984px 12.72984px 0 0 #727272, 0 18px 0 0 #727272, -12.72984px 12.72984px 0 0 #727272, -18px 0 0 -5px rgba(114, 114, 114, 0), -12.72984px -12.72984px 0 -5px rgba(114, 114, 114, 0);
  }
  50% {
    box-shadow: 0 -18px 0 -5px rgba(114, 114, 114, 0), 12.72984px -12.72984px 0 -5px rgba(114, 114, 114, 0), 18px 0 0 -5px rgba(114, 114, 114, 0), 12.72984px 12.72984px 0 -5px rgba(114, 114, 114, 0), 0 18px 0 0 #727272, -12.72984px 12.72984px 0 0 #727272, -18px 0 0 0 #727272, -12.72984px -12.72984px 0 -5px rgba(114, 114, 114, 0);
  }
  62.5% {
    box-shadow: 0 -18px 0 -5px rgba(114, 114, 114, 0), 12.72984px -12.72984px 0 -5px rgba(114, 114, 114, 0), 18px 0 0 -5px rgba(114, 114, 114, 0), 12.72984px 12.72984px 0 -5px rgba(114, 114, 114, 0), 0 18px 0 -5px rgba(114, 114, 114, 0), -12.72984px 12.72984px 0 0 #727272, -18px 0 0 0 #727272, -12.72984px -12.72984px 0 0 #727272;
  }
  75% {
    box-shadow: 0 -18px 0 0 #727272, 12.72984px -12.72984px 0 -5px rgba(114, 114, 114, 0), 18px 0 0 -5px rgba(114, 114, 114, 0), 12.72984px 12.72984px 0 -5px rgba(114, 114, 114, 0), 0 18px 0 -5px rgba(114, 114, 114, 0), -12.72984px 12.72984px 0 -5px rgba(114, 114, 114, 0), -18px 0 0 0 #727272, -12.72984px -12.72984px 0 0 #727272;
  }
  87.5% {
    box-shadow: 0 -18px 0 0 #727272, 12.72984px -12.72984px 0 0 #727272, 18px 0 0 -5px rgba(114, 114, 114, 0), 12.72984px 12.72984px 0 -5px rgba(114, 114, 114, 0), 0 18px 0 -5px rgba(114, 114, 114, 0), -12.72984px 12.72984px 0 -5px rgba(114, 114, 114, 0), -18px 0 0 -5px rgba(114, 114, 114, 0), -12.72984px -12.72984px 0 0 #727272;
  }
}

/* テーマ（追加設定） */
.bg-navy{
    background-color: #0F4C81 !important;
}
.bg-brown{
    background-color: #a66e5a !important;
}
.bg-beige{
    background-color: #d2b48c !important;
}

.bg-navy, .bg-navy > a ,
.bg-brown, .bg-brown > a ,
.bg-beige, .bg-beige > a {
    color: #fff !important;
}

/* テーマ */
.main-header.bg-primary{border-color: #007bff;}
.main-header.bg-navy{border-color: #0F4C81;}
.main-header.bg-purple{border-color: #6f42c1;}
.main-header.bg-pink{border-color: #e83e8c;}
.main-header.bg-danger{border-color: #dc3545;}
.main-header.bg-orange{border-color: #fd7e14;}
.main-header.bg-warning{border-color: #ffc107;}
.main-header.bg-success{border-color: #28a745;}
.main-header.bg-olive{border-color: #3d9970;}
.main-header.bg-brown{border-color: #a66e5a;}
.main-header.bg-beige{border-color: #d2b48c;}
.main-header.bg-white{border-color: #dee2e6;}
.main-header.bg-secondary{border-color: #6c757d;}
.main-header.bg-gray-dark{border-color: #343a40;}
.main-header.bg-black{border-color: #000;}

.main-footer.footer-bg-primary .btn-real-dent i {background: #007bff;}
.main-footer.footer-bg-navy .btn-real-dent i {background: #0F4C81;}
.main-footer.footer-bg-purple .btn-real-dent i {background: #6f42c1;}
.main-footer.footer-bg-pink .btn-real-dent i {background: #e83e8c;}
.main-footer.footer-bg-danger .btn-real-dent i {background: #dc3545;}
.main-footer.footer-bg-orange .btn-real-dent i {background: #fd7e14;}
.main-footer.footer-bg-warning .btn-real-dent i {background: #ffc107;}
.main-footer.footer-bg-success .btn-real-dent i {background: #28a745;}
.main-footer.footer-bg-olive .btn-real-dent i {background: #3d9970;}
.main-footer.footer-bg-brown .btn-real-dent i {background: #a66e5a;}
.main-footer.footer-bg-beige .btn-real-dent i {background: #d2b48c;}
.main-footer.footer-bg-white .btn-real-dent i {background: rgba(0,0,0,.9);}
.main-footer.footer-bg-secondary .btn-real-dent i {background: #6c757d;}
.main-footer.footer-bg-gray-dark .btn-real-dent i {background: #343a40;}
.main-footer.footer-bg-black .btn-real-dent i {background: #000;}

.main-footer.footer-bg-primary a.active {color: #007bff;}
.main-footer.footer-bg-navy a.active {color: #0F4C81;}
.main-footer.footer-bg-purple a.active {color: #6f42c1;}
.main-footer.footer-bg-pink a.active {color: #e83e8c;}
.main-footer.footer-bg-danger a.active {color: #dc3545;}
.main-footer.footer-bg-orange a.active {color: #fd7e14;}
.main-footer.footer-bg-warning a.active {color: #ffc107;}
.main-footer.footer-bg-success a.active {color: #28a745;}
.main-footer.footer-bg-olive a.active {color: #3d9970;}
.main-footer.footer-bg-brown a.active {color: #a66e5a;}
.main-footer.footer-bg-beige a.active {color: #d2b48c;}
.main-footer.footer-bg-white a.active {color: rgba(0,0,0,.9);}
.main-footer.footer-bg-secondary a.active {color: #6c757d;}
.main-footer.footer-bg-gray-dark a.active {color: #343a40;}
.main-footer.footer-bg-black a.active {color: #000;}

.tab-bg-primary.nav-pills .nav-link.active, .tab-bg-primary.nav-pills .show > .nav-link { background-color: #007bff;}
.tab-bg-navy.nav-pills .nav-link.active, .tab-bg-navy.nav-pills .show > .nav-link { background-color: #0F4C81;}
.tab-bg-purple.nav-pills .nav-link.active, .tab-bg-purple.nav-pills .show > .nav-link { background-color: #6f42c1;}
.tab-bg-pink.nav-pills .nav-link.active, .tab-bg-pink.nav-pills .show > .nav-link { background-color: #e83e8c;}
.tab-bg-danger.nav-pills .nav-link.active, .tab-bg-danger.nav-pills .show > .nav-link { background-color: #dc3545;}
.tab-bg-orange.nav-pills .nav-link.active, .tab-bg-orange.nav-pills .show > .nav-link { background-color: #fd7e14;}
.tab-bg-warning.nav-pills .nav-link.active, .tab-bg-warning.nav-pills .show > .nav-link { background-color: #ffc107;}
.tab-bg-success.nav-pills .nav-link.active, .tab-bg-success.nav-pills .show > .nav-link { background-color: #28a745;}
.tab-bg-olive.nav-pills .nav-link.active, .tab-bg-olive.nav-pills .show > .nav-link { background-color: #3d9970;}
.tab-bg-brown.nav-pills .nav-link.active, .tab-bg-brown.nav-pills .show > .nav-link { background-color: #a66e5a;}
.tab-bg-beige.nav-pills .nav-link.active, .tab-bg-beige.nav-pills .show > .nav-link { background-color: #d2b48c;}
.tab-bg-white.nav-pills .nav-link.active, .tab-bg-white.nav-pills .show > .nav-link { background-color: #000;}
.tab-bg-secondary.nav-pills .nav-link.active, .tab-bg-secondary.nav-pills .show > .nav-link { background-color: #6c757d;}
.tab-bg-gray-dark.nav-pills .nav-link.active, .tab-bg-gray-dark.nav-pills .show > .nav-link { background-color: #343a40;}
.tab-bg-black.nav-pills .nav-link.active, .tab-bg-black.nav-pills .show > .nav-link { background-color: #000;}

.tab-bg-primary.nav-pills .nav-link:not(.active):hover { color: #007bff;}
.tab-bg-navy.nav-pills .nav-link:not(.active):hover { color: #0F4C81;}
.tab-bg-purple.nav-pills .nav-link:not(.active):hover { color: #6f42c1;}
.tab-bg-pink.nav-pills .nav-link:not(.active):hover { color: #e83e8c;}
.tab-bg-danger.nav-pills .nav-link:not(.active):hover { color: #dc3545;}
.tab-bg-orange.nav-pills .nav-link:not(.active):hover { color: #fd7e14;}
.tab-bg-warning.nav-pills .nav-link:not(.active):hover { color: #ffc107;}
.tab-bg-success.nav-pills .nav-link:not(.active):hover { color: #28a745;}
.tab-bg-olive.nav-pills .nav-link:not(.active):hover { color: #3d9970;}
.tab-bg-brown.nav-pills .nav-link:not(.active):hover { color: #a66e5a;}
.tab-bg-beige.nav-pills .nav-link:not(.active):hover { color: #d2b48c;}
.tab-bg-white.nav-pills .nav-link:not(.active):hover { color: #000;}
.tab-bg-secondary.nav-pills .nav-link:not(.active):hover { color: #6c757d;}
.tab-bg-gray-dark.nav-pills .nav-link:not(.active):hover { color: #343a40;}
.tab-bg-black.nav-pills .nav-link:not(.active):hover { color: #000;}

.content .btn-bg-primary,   .modal-content .btn-bg-primary   {background: #007bff;}
.content .btn-bg-navy,      .modal-content .btn-bg-navy      {background: #0F4C81;}
.content .btn-bg-purple,    .modal-content .btn-bg-purple    {background: #6f42c1;}
.content .btn-bg-pink,      .modal-content .btn-bg-pink      {background: #e83e8c;}
.content .btn-bg-danger,    .modal-content .btn-bg-danger    {background: #dc3545;}
.content .btn-bg-orange,    .modal-content .btn-bg-orange    {background: #fd7e14;}
.content .btn-bg-warning,   .modal-content .btn-bg-warning   {background: #ffc107;}
.content .btn-bg-success,   .modal-content .btn-bg-success   {background: #28a745;}
.content .btn-bg-olive,     .modal-content .btn-bg-olive     {background: #3d9970;}
.content .btn-bg-brown,     .modal-content .btn-bg-brown     {background: #a66e5a;}
.content .btn-bg-beige,     .modal-content .btn-bg-beige     {background: #d2b48c;}
.content .btn-bg-white,     .modal-content .btn-bg-white     {background: #fff;}
.content .btn-bg-secondary, .modal-content .btn-bg-secondary {background: #6c757d;}
.content .btn-bg-gray-dark, .modal-content .btn-bg-gray-dark {background: #343a40;}
.content .btn-bg-black,     .modal-content .btn-bg-black     {background: #000;}

.content .btn-bg-primary,   .modal-content .btn-bg-primary   {border-color: #007bff;}
.content .btn-bg-navy,      .modal-content .btn-bg-navy      {border-color: #0F4C81;}
.content .btn-bg-purple,    .modal-content .btn-bg-purple    {border-color: #6f42c1;}
.content .btn-bg-pink,      .modal-content .btn-bg-pink      {border-color: #e83e8c;}
.content .btn-bg-danger,    .modal-content .btn-bg-danger    {border-color: #dc3545;}
.content .btn-bg-orange,    .modal-content .btn-bg-orange    {border-color: #fd7e14;}
.content .btn-bg-warning,   .modal-content .btn-bg-warning   {border-color: #ffc107;}
.content .btn-bg-success,   .modal-content .btn-bg-success   {border-color: #28a745;}
.content .btn-bg-olive,     .modal-content .btn-bg-olive     {border-color: #3d9970;}
.content .btn-bg-brown,     .modal-content .btn-bg-brown     {border-color: #a66e5a;}
.content .btn-bg-beige,     .modal-content .btn-bg-beige     {border-color: #d2b48c;}
.content .btn-bg-white,     .modal-content .btn-bg-white     {border-color: #dee2e6;}
.content .btn-bg-secondary, .modal-content .btn-bg-secondary {border-color: #6c757d;}
.content .btn-bg-gray-dark, .modal-content .btn-bg-gray-dark {border-color: #343a40;}
.content .btn-bg-black,     .modal-content .btn-bg-black     {border-color: #000;}

.modal-content .bg-primary{border-color: #007bff;}
.modal-content .bg-navy{border-color: #0F4C81;}
.modal-content .bg-purple{border-color: #6f42c1;}
.modal-content .bg-pink{border-color: #e83e8c;}
.modal-content .bg-danger{border-color: #dc3545;}
.modal-content .bg-orange{border-color: #fd7e14;}
.modal-content .bg-warning{border-color: #ffc107;}
.modal-content .bg-success{border-color: #28a745;}
.modal-content .bg-olive{border-color: #3d9970;}
.modal-content .bg-brown{border-color: #a66e5a;}
.modal-content .bg-beige{border-color: #d2b48c;}
.modal-content .bg-white{border-color: #dee2e6;}
.modal-content .bg-secondary{border-color: #6c757d;}
.modal-content .bg-gray-dark{border-color: #343a40;}
.modal-content .bg-black{border-color: #000;}

.content [class^="btn-bg"], .modal-content [class^="btn-bg"], .modal-content [class^="bg-"] {color: #fff !important;}
.content .btn-bg-white, .modal-content .btn-bg-white, .modal-content .bg-white {color: rgba(0,0,0,.9) !important;}
.content .btn-bg-warning, .modal-content .btn-bg-warning, .modal-content .bg-warning {color: rgba(0,0,0,.9) !important;}

/*  ページャー（original）
------------------------------------------------------------ */
#pageArea {
    position: relative;
    font-family: 'Roboto', sans-serif;
}
#pageArea .pagination {
    justify-content: center;
}
#pageArea button{
    transition: all .6s linear;
}
#pageArea button,
#pageArea .current {
    height: 50px;
    line-height: 50px;
    padding: 0 1.7em;
    color: #333;
    font-size: .8em;
}
#pageArea .current {
    background-color: #e9ecef;
    border-color: #dee2e6;
    font-weight: bold;
}

@media screen and (max-width:768px){ /*768px 以下の画面幅で適用する CSS*/

    /*  ページャー（original）
    ------------------------------------------------------------ */
    #pageArea {
        height: 50px;
    }
    #pageArea .inner {
        position: relative;
        display: flex;
        justify-content: flex-start;
        width: 100%;
        margin: 0;
    }
    #pageArea .page-of {
        position: absolute;
        left: 30%;
        width: 40%;
        line-height: 50px;
        background-color: #e9ecef;
        border-color: #dee2e6;
        font-size: .8em;
    }
    #pageArea .pagination {
        overflow: hidden;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 50px;
        margin: 0;
    }    
    #pageArea .page-link {
        position: absolute;
        width: 14%;
        padding: 0;
    }
    #pageArea .m-prev {
        left: 0%;
    }
    #pageArea .pn-prev {
        left: 15%;
    }
    #pageArea .pn-next {
        left: 71%;
    }
    #pageArea .m-next {
        left: 86%;
    }
    #pageArea .current,
    #pageArea .pn-numbers {
        display: none;
    }
}
