﻿@charset "utf-8";

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;
}

/* ローダー */
#loadingPage .loader {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 0;
}
#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 p {
    margin: 0;
    padding-left: 2em;
    text-indent: -1em;
}

/* インストール */
#how_to_install{
    height: auto;
}
#how_to_install h1{
    font-size: 1.3em;
    font-weight: bold;
    margin: 0;
/*
    font-size: 2em;
    text-align: center;
*/
}
#how_to_install h2{
    font-size: 1em;
    font-weight: bold;
}
#how_to_install ol{
    padding: 0 0 0 1em;
}
#how_to_install img.icon{
/*
    max-width: 80px;
*/
}


/* ローディングページ */
#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: #ff00ff;
    opacity: .65;
}
#loadingPage .ball-pulse.loading_2 > div {
    background-color: #ff6666;
}
#loadingPage .ball-pulse.loading_3 > div {
    background-color: #0099ff;
}

/* 新規登録 */
.register-page{
}
.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;
}

/* ログイン */
.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-box .card ,
.register-box .card {
    border-radius: 0 0 .25rem .25rem;
    box-shadow: 0 3px 5px rgba(0,0,0,.125);
}
*/
.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;
}
.login-box .btn-default {
    font-size: .8rem;
}
.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-label {
    font-weight: normal !important;
    padding-top: .2em;
}

/* ホームに追加ボタン */
#btnAddHomeArea,
#btnAddHome {
    display: none;
}
.login-box #btnAddHome {
    font-size: .8rem;
}

/* ホームに追加ポップアップ */
.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;
}

/* トップ */
#particles-js{
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
#index canvas {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
}
#index {
    background: #edf5fc;
    background: linear-gradient(180deg, #dbf4f8 0%, #c6e2f4 40%, #dbe5f8 70%, #dfdff5 100%);    
}
#index .card {
/*
    background: rgb(175,206,135);
    background: linear-gradient(180deg, rgba(175,206,135,1) 0%, rgba(161,200,119,1) 50%, rgba(157,198,115,1) 100%);    
*/
}

/* wrapper */
.content-wrapper > .content {
    overflow: hidden;
}

/* システム名 */
/*
.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: 85%;
}
.main-header .navbar-nav .nav-item:last-child{
    overflow: hidden;
}
.navbar-brand{
    text-overflow: ellipsis;
    white-space: nowrap;
    width: 100%;
    overflow: hidden;
}

/* ヘッダ */
.main-header{
/*
    border: none !important;
*/
}
.main-header.bg-primary{
    border-color: #007bff;
}
.main-header.bg-info{
    border-color: #17a2b8;
}
.main-header.bg-olive{
    border-color: #3d9970;
}
.main-header.bg-success{
    border-color: #28a745;
}
.main-header.bg-teal{
    border-color: #20c997;
}
.main-header.bg-warning{
    border-color: #ffc107;
}
.main-header.bg-orange{
    border-color: #fd7e14;
}
.main-header.bg-pink{
    border-color: #e83e8c;
}
.main-header.bg-maroon{
    border-color: #d81b60;
}
.main-header.bg-danger{
    border-color: #dc3545;
}
.main-header.bg-purple{
    border-color: #6f42c1;
}
.main-header.bg-indigo{
    border-color: #6610f2;
}
.main-header.bg-secondary{
    border-color: #6c757d;
}
.main-header.bg-white{
    border-color: #dee2e6;
}
.main-header.bg-black{
    border-color: #000;
}
.main-header .nav-link{
    font-size: 1.2rem;
}

/* フッターメニュー */
.main-footer {
    padding: 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);
}

.main-footer.footer-bg-primary a.active {
    color: #007bff;
}
.main-footer.footer-bg-info a.active {
    color: #17a2b8;
}
.main-footer.footer-bg-olive a.active {
    color: #3d9970;
}
.main-footer.footer-bg-success a.active {
    color: #28a745;
}
.main-footer.footer-bg-teal a.active {
    color: #20c997;
}
.main-footer.footer-bg-warning a.active {
    color: #ffc107;
}
.main-footer.footer-bg-orange a.active {
    color: #fd7e14;
}
.main-footer.footer-bg-pink a.active {
    color: #e83e8c;
}
.main-footer.footer-bg-maroon a.active {
    color: #d81b60;
}
.main-footer.footer-bg-danger a.active {
    color: #dc3545;
}
.main-footer.footer-bg-purple a.active {
    color: #6f42c1;
}
.main-footer.footer-bg-indigo a.active {
    color: #6610f2;
}
.main-footer.footer-bg-secondary a.active {
    color: #6c757d;
}
.main-footer.footer-bg-white a.active {
    color: rgba(0,0,0,.9);
}
.main-footer.footer-bg-black a.active {
    color: #000;
}
.layout-footer-fixed .wrapper .content-wrapper {
    margin-bottom: calc(3.5rem + 1px);
}


/* トップ画像 */
#topImageArea{
    margin: 1em 0;
    text-align: center;
}

/* リスト */
.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;
}

/* 店舗情報 */
#shopInfoBox th {
    width: 8em;
}

/* map */
#map-canvas {
    width: 100%;
    height: calc(100vw * 2 / 3);
    border: none;
}

/* ポイント、距離表記 */
.point{
    font-size: 1.4rem;
    font-weight: bold;
}
.num{
    font-size: 1.4rem;
    font-weight: bold;
}
.unit{
    font-weight: bold;
}

/* アイコン */
.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;
}
#dashboard .card:first-child{
    margin-top: 0;
}
.card-title i{
    margin-right: .3em;
}

/* 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;
}

/* 現在のポイント */
#currentPointBox .list-group-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
#currentPointBox .list-group-item:first-child{
    border-top: none;
    padding-top: 0;
}
#currentPointBox .list-group-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}
#currentPointBox .list-group-item p{
    margin: 0;
}
#currentPointBox .list-group-item span.term{
    display: block;
    font-size: .8rem;
}
#currentPointBox .list-group-item .p-box{
/*
    color: #00C0EF;
*/
    margin-left: 1em;
}
#currentPointBox .list-group-item .p-box.sp{
/*
    color: #F56954;
    color: #39CCCC;
    color: #fca700;
*/
    color: #ffa2ac;
}
#currentPointBox .list-group-item .p-box .point{
/*
    font-size: 1.4rem;
*/
    font-size: 3rem;
}

#currentPointBox .list-group-item span.rate{
    display: block;
    font-size: .7rem;
}
#currentPointBox .list-group-item span.rate .far{
/*
    color: #A99279;
*/
    color: #ccc;
}

/* バナー */
#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;
}

.tab-bg-primary.nav-pills .nav-link.active,
.tab-bg-primary.nav-pills .show > .nav-link {
    background-color: #007bff;
}
.tab-bg-primary.nav-pills .nav-link:not(.active):hover {
    color: #007bff;
}
.tab-bg-info.nav-pills .nav-link.active,
.tab-bg-info.nav-pills .show > .nav-link {
    background-color: #17a2b8;
}
.tab-bg-info.nav-pills .nav-link:not(.active):hover {
    color: #17a2b8;
}
.tab-bg-olive.nav-pills .nav-link.active,
.tab-bg-olive.nav-pills .show > .nav-link {
    background-color: #3d9970;
}
.tab-bg-olive.nav-pills .nav-link:not(.active):hover {
    color: #3d9970;
}
.tab-bg-success.nav-pills .nav-link.active,
.tab-bg-success.nav-pills .show > .nav-link {
    background-color: #28a745;
}
.tab-bg-success.nav-pills .nav-link:not(.active):hover {
    color: #28a745;
}
.tab-bg-teal.nav-pills .nav-link.active,
.tab-bg-teal.nav-pills .show > .nav-link {
    background-color: #20c997;
}
.tab-bg-teal.nav-pills .nav-link:not(.active):hover {
    color: #20c997;
}
.tab-bg-warning.nav-pills .nav-link.active,
.tab-bg-warning.nav-pills .show > .nav-link {
    background-color: #ffc107;
}
.tab-bg-warning.nav-pills .nav-link:not(.active):hover {
    color: #ffc107;
}
.tab-bg-orange.nav-pills .nav-link.active,
.tab-bg-orange.nav-pills .show > .nav-link {
    background-color: #fd7e14;
}
.tab-bg-orange.nav-pills .nav-link:not(.active):hover {
    color: #fd7e14;
}
.tab-bg-pink.nav-pills .nav-link.active,
.tab-bg-pink.nav-pills .show > .nav-link {
    background-color: #e83e8c;
}
.tab-bg-pink.nav-pills .nav-link:not(.active):hover {
    color: #e83e8c;
}
.tab-bg-maroon.nav-pills .nav-link.active,
.tab-bg-maroon.nav-pills .show > .nav-link {
    background-color: #d81b60;
}
.tab-bg-maroon.nav-pills .nav-link:not(.active):hover {
    color: #d81b60;
}
.tab-bg-danger.nav-pills .nav-link.active,
.tab-bg-danger.nav-pills .show > .nav-link {
    background-color: #dc3545;
}
.tab-bg-danger.nav-pills .nav-link:not(.active):hover {
    color: #dc3545;
}
.tab-bg-purple.nav-pills .nav-link.active,
.tab-bg-purple.nav-pills .show > .nav-link {
    background-color: #6f42c1;
}
.tab-bg-purple.nav-pills .nav-link:not(.active):hover {
    color: #6f42c1;
}
.tab-bg-indigo.nav-pills .nav-link.active,
.tab-bg-indigo.nav-pills .show > .nav-link {
    background-color: #6610f2;
}
.tab-bg-indigo.nav-pills .nav-link:not(.active):hover {
    color: #6610f2;
}
.tab-bg-secondary.nav-pills .nav-link.active,
.tab-bg-secondary.nav-pills .show > .nav-link {
    background-color: #6c757d;
}
.tab-bg-secondary.nav-pills .nav-link:not(.active):hover {
    color: #6c757d;
}
.tab-bg-white.nav-pills .nav-link.active,
.tab-bg-white.nav-pills .show > .nav-link {
    background-color: #000;
}
.tab-bg-white.nav-pills .nav-link:not(.active):hover {
    color: #000;
}
.tab-bg-black.nav-pills .nav-link.active,
.tab-bg-black.nav-pills .show > .nav-link {
    background-color: #000;
}
.tab-bg-black.nav-pills .nav-link:not(.active):hover {
    color: #000;
}


/* ポイント履歴 */
#point .table,
#point .m-3{
    font-size: .8em;
}
#point .table td {
    vertical-align: middle;
}
#point .table span.point{
    margin-left: .1em;
}

/* ポイント履歴パネル */
#history td{
    vertical-align: middle;
}
#history td:nth-child(1){
    width: 68%;
}
#history td:nth-child(2){
    width: 32%;
    min-width: 11em;
    text-align: right;
}
#history span.term{
/*
    display: inline-block;
    text-decoration: underline;
    background:linear-gradient(transparent 60%, #fff799 60%);
    background:linear-gradient(transparent 60%, #ccc 60%);
*/
}
#history .card-footer{
    font-size: .8em;
}
#history .card-footer p:last-child{
    margin: 0;
}

/* 失効予定パネル */
#expire p{
    margin: 1rem;
}
#expire td:nth-child(1){
    width: 68%;
}
#expire td:nth-child(2){
    width: 32%;
    min-width: 11em;
    text-align: right;
}
.notes{
    font-size: .8em;
}

/* 景品 */
#coupon .card ,
#prize .card {
    width: 100%;
}
#prize .card-header .badge{
    margin-right: .3em;
}
#prize .card-header .badge.badge-info{
    display: block;
    text-align: left;
    margin-right: 0;
    margin-bottom: .2em;
    white-space: normal;
    line-height: 1.5;
}
#prize .card-body p{
    font-size: .8rem;
    margin-bottom: 0;
}
#prize .card-footer{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
#prize .card-footer::after{
    display:none;
}

/* 景品引換え券 */
#prize_ticket .card-body .btn{
    font-weight: bold;
}
#prize_ticket .card-body .btn span{
    font-size: .8em;
    font-weight: normal;
}

/* ユーザ情報 */
#userInfoBox .list-group-item {
}
#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 p{
    margin: 0;
}

/* 退会手続き */
.todo-list li{
    display: flex;
    align-items: center;
}
.icheck-primary {
    margin-right: .8em;
}

/* モーダル */
.modal-open .modal {
    padding: 0 !important;
}
#prizeQrArea,
#couponQrArea{
    text-align: center;
}

/* 添付ファイルアイコン */
.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;
}
