﻿@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;
}

/* ローダー */
#loadingPage .loader {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 0;
}
#regist .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: #0099ff;
    opacity: .65;
}
#loadingPage .ball-pulse.loading_2 > div {
    background-color: #ff0066;
}
#loadingPage .ball-pulse.loading_3 > div {
    background-color: #339933;
}

/* 新規登録 */
.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;
}

/* トップ */
#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 .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);
}
.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 */
#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;
}

/* ポイント、距離表記 */
.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;
}

/* ポイント履歴 */
#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: 65%;
}
#history td:nth-child(2){
    width: 35%;
    min-width: 15em;
    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 i.term{
    margin-right: 0.5rem;
    color: #6c757d;
}
#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;
}
#expire i.term{
    margin-right: 0.1rem;
}


/* 景品 */
#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;
}

/* モーダル */
.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;
}

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

/* ホームに追加ポップアップ */
.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;
}

/* テーマ（追加設定） */
.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 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;}
