.form-input input {
    width: 100%;
    -webkit-appearance: none;
    height: 40px;
    /*line-height: 40px;*/
    border-radius: 3px;
    border: solid 1px #cccccc;
    margin-bottom: 4px;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    text-indent: 4px;
    line-height: normal !important;
}

.form-input select {
    -webkit-appearance: none;
    height: 40px;
    /*line-height: 40px;*/
    border-radius: 3px;
    border: solid 1px #cccccc;
    margin-bottom: 4px;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    /*text-indent: 4px;*/
    line-height: normal !important;
}

.form-input-small input {
    width: 90%;
    height: 25px;
    line-height: 25px;
    border-radius: 3px;
    border: solid 1px #cccccc;
    margin-bottom: 4px;
    margin-right: 20px;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    text-indent: 4px;
}

.m-btn .btn__item--blue {
    background-color: #1a73e8;
}

.m-btn .btn__item--green2 {
    background-color: #00d6d6;
}

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

.pull-left {
    text-align: left;
}

.text-pink {
    color: #fe5187 !important;
}

.text-green {
    color: #00d6d6 !important;
}

.my-20 {
    margin: 20px 0px;
}
.mb-0{
    margin-bottom: 0 !important;
}
.font-small {
    font-size: 8px;
}

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

.font-bold {
    font-size: 20px;
    font-weight: bold;
}

.w-70 {
    width: 70% !important;
}

.text-left {
    text-align: left !important;
}

.mt-30 {
    margin-top: 30px !important;
}

.w-50 {
    width: 50% !important;
}
.w-35{
    width: 35% !important;
}
.w-15{
    width: 15% !important;
}

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

.p-r {
    position: relative;
}

.p-0 {
    padding: 0 !important;
}

.ml-20 {
    margin-left: 20px !important;
}

.ml-3 {
    margin-left: 3px !important;
}

.mr-20 {
    margin-right: 20px !important;
}

.no-shadow {
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
}

.select2-container--default .select2-selection--single {
    border: 1px solid #16d4ac;
    height: 35px;
}

.select2-dropdown {
    border: 1px solid #16d4ac;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 30px;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 35px;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
    border-radius: 3px;
    -webkit-box-sizing: border-box;
    border: 1px solid #dddeee;
}

.select2-container {
    width: 100% !important;
    margin-bottom: 5px;
}

.select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: #B0BEC5;
    font-size: 14px;
}

.m-auto {
    margin: auto !important;
}

.d-block {
    display: block !important;
}

.flex-direction-reverse {
    flex-direction: column-reverse !important;
}

:root {
    /* generic */
    --gutterSm: 0.4rem;
    --gutterMd: 5px;
    --gutterLg: 5px;
    --gutterXl: 2.4rem;
    --gutterXx: 7.2rem;
    --colorPrimary400: #16d4ac;
    --colorPrimary600: #16d4ac;
    --colorPrimary800: #16d4ac;
    --fontSizeSm: 1.2rem;
    --fontSizeMd: 1.6rem;
    --fontSizeLg: 14px;
    --fontSizeXl: 2.8rem;
    --fontSizeXx: 3.6rem;
    --lineHeightSm: 1.1;
    --lineHeightMd: 25px;
    --transitionDuration: 300ms;
    --transitionTF: cubic-bezier(0.645, 0.045, 0.355, 1);

    /* floated labels */
    --inputPaddingV: var(--gutterMd);
    --inputPaddingH: var(--gutterLg);
    --inputFontSize: var(--fontSizeLg);
    --inputLineHeight: var(--lineHeightMd);
    --labelScaleFactor: 0.8;
    --labelDefaultPosY: 50%;
    --labelTransformedPosY: calc(
            (var(--labelDefaultPosY)) -
            (var(--inputPaddingV) * var(--labelScaleFactor)) -
            (var(--inputFontSize) * var(--inputLineHeight))
    );
    --inputTransitionDuration: var(--transitionDuration);
    --inputTransitionTF: var(--transitionTF);
}

.Title {
    margin: 0 0 var(--gutterXx) 0;
    padding: 0;
    color: #fff;
    font-size: var(--fontSizeXx);
    font-weight: 400;
    line-height: var(--lineHeightSm);
    text-align: center;
    text-shadow: -0.1rem 0.1rem 0.2rem var(--colorPrimary800);
}

.Input {
    position: relative;
    margin-bottom: 5px;
    line-height: normal !important;
}

.Input .required::after {
    content: ' *';
    color: red;
}

.Input-text {
    /*display: block;*/
    margin: 0;
    padding: var(--inputPaddingV) var(--inputPaddingH);
    width: 70%;
    font-family: inherit;
    font-size: var(--inputFontSize);
    font-weight: inherit;
    line-height: var(--inputLineHeight);
    border-radius: 0.4rem;
    transition: box-shadow var(--transitionDuration);
    border: 1px solid #16d4ac;
    box-sizing: border-box;
}

.Input-text::placeholder {
    color: #B0BEC5;
}

.Input-text:focus {
    outline: none;
    box-shadow: 2px 2px 2px var(--colorPrimary600);
}

.m-btn .btn__item--small {
    height: 25px;
    line-height: 25px;
    margin: 10px 0;
}

.Input-label {
    font-weight: bold;
    display: block;
    /*width: 50%;*/
    /*color: red;*/
    font-family: inherit;
    font-size: var(--inputFontSize);
    line-height: var(--inputLineHeight);
    opacity: 1;
    margin-left: 3px;
}

.Input-text:placeholder-shown + .Input-label {
    visibility: hidden;
    z-index: -1;
}

.Input-text:not(:placeholder-shown) + .Input-label,
.Input-text:focus:not(:placeholder-shown) + .Input-label {
    visibility: visible;
    z-index: 1;
    opacity: 1;
    transform: translate3d(0, var(--labelTransformedPosY), 0) scale(var(--labelScaleFactor));
    transition: transform var(--inputTransitionDuration),
    visibility 0ms,
    z-index 0ms;
}

.label-group {
    line-height: 35px;
    font-size: 14px;
    margin: 10px 0;
    background-color: #D9E3EC;
    color: #16d4ac;
    border-radius: 2px;
    padding-left: 3px;
}

.label-group.required:before {
    content: ' * ';
    color: red;
}

.m-localNav .localNavSort__listItem--login span:before {
    top: 0;
    left: 2px;
    width: 100%;
    height: 100%;
    background: url(../../images/sp/ico_sortLogin_sp.png) left center no-repeat;
    background-size: 15px
}

.m-localNav .localNavSort__listItem--logout span:before {
    top: 0;
    left: 2px;
    width: 100%;
    height: 100%;
    background: url(../../images/sp/ico_navLogin03_sp.png) left center no-repeat;
    background-size: 15px
}

.h-100{
    height: 100%;
}

@media screen and (min-width: 1025px){
    .m-localNav .localNavSort__listItem--login a:before {
        background: url(../../images/ico_sortLogin_sp.png) 0 3px no-repeat;
        top: -1px;
    }

    .m-localNav .localNavSort__listItem--login a:after{
        background: url(../../images/ico_sortLogin_sp_on.png) 0 3px no-repeat;
        top: -1px;
    }

    .m-localNav .localNavSort__listItem--logout a:before {
        background: url(../../images/ico_navLogin02_sp_off.png) 0 3px no-repeat;
        top: -1px;
    }
    .m-localNav .localNavSort__listItem--logout a:after {
        background: url(../../images/ico_navLogin02_sp_on.png) 0 3px no-repeat;
        top: -1px;
    }
    .m-localNav .localNavSort__listItem--logout a{
        padding-left: 19px;
    }
    .m-localNav .localNavSort__listItem--login a{
        padding-left: 19px;
    }

}
#modal-login{
    display: flex;
    align-items: center;
}

.loader {
    border: 3px solid #f3f3f3;
    border-radius: 50%;
    border-top: 3px solid #3498db;
    width: 20px;
    height: 20px;
    -webkit-animation: spin 2s linear infinite; /* Safari */
    animation: spin 2s linear infinite;
    display: none;
}

.loading-block .loader{
    display: block;
    margin: auto;
}

.loader.big-loader{
    border: 7px solid #f3f3f3;
    border-radius: 50%;
    border-top: 7px solid #3498db;
    width: 50px;
    height: 50px;
    z-index: 2;
    margin-top: 10px;
}

/* Safari */
@-webkit-keyframes spin {
    0% { -webkit-transform: rotate(0deg); }
    100% { -webkit-transform: rotate(360deg); }
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.loading{
    justify-content: center;
    display: flex !important;
    align-items: center;
}
.loading .loader{
    display: block;
}

.loading .text-login{
    display: none;
}
.m-0{
    margin: 0;
}
.d-flex{
    display: flex;
}
.justify-content-center{
    justify-content: center;
}
.align-items-center{
    align-items: center;
}