/*------ restet ----------*/
body,div,
dl,dt,dd,ul,ol,li,
h1,h2,h3,h4,h5,h6,pre,
form,fieldset,input,textarea,
p,blockquote,
th,td { margin:0; padding:0; }
ol,ul,dl { list-style:none; }
h1,h2,h3,h4,h5,h6 { font-weight:normal; }
a { outline:none; cursor:pointer; }
img { border:0; }
i{font-style: normal;}
/* -- clear iphone  appearance-- */
input[type="button"], input[type="submit"], input[type="reset"] ,a{
    -webkit-appearance: none;
}
textarea {  -webkit-appearance: none;}

/*------ common ----------*/
body.harmony-admin {
    background: none;
    background-color: #e4e1dc;
    color: #000;
    font-family: Meiryo, "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", sans-serif;
    font-size: 14px;
    line-height: 1;
}
/* -- clearfix -- */
.clearfix:before,.clearfix:after{ 
    content:""; 
    display:table; 
} 
.clearfix:after{clear:both;} 
.clearfix{ 
    *zoom:1;/*IE/7/6*/ 
} 
/*---------- text ------------*/
.ha-text{
    line-height: 1.6;
}
.ha-text-center{
    text-align: center;
}
.ha-text-right{
    text-align: right;
}
.ha-text-bottom{
    width: 960px;
    margin: 20px auto 0;
}
.ha-text-small{
    font-size: 12px;
}
.ha-text-large{
     font-size: 16px;
 }
.ha-text-color-grey{
    color: rgba(102, 102, 102, 0.92);
}
.ha-text-blod{
    font-weight: bold;
}

.ha-box-explan{
    border-radius: 3px;
    border: solid 1px #cccccc;
    color: #666666;
    font-size: 12px;
    line-height: 1.6;
    padding: 15px;
    margin-bottom: 40px;
}
.ha-box-explan p{ margin-bottom: 20px;}
.ha-box-explan p:last-child{ margin-bottom: 0;}
/*---------- spance ------------*/
.ha-mb-20{
    margin-bottom: 20px;
}
.ha-mb-30{
    margin-bottom: 30px;
}
/*---------- link ------------*/
.harmony-admin a:link, .harmony-admin a:visited {
    color:#479fad;
    text-decoration:underline;
}
.harmony-admin a:hover, .harmony-admin a:active {
    color:#479fad;
    text-decoration:none;
}
/* link:hasIcon */
.ha-link-hasIcon{
    color:#479fad;
    line-height: 2;
}
.ha-link-hasIcon a:link, .ha-link-hasIcon a:visited {
    text-decoration:none;
}
.ha-link-hasIcon a:hover, .ha-link-hasIcon a:active {
    text-decoration:underline;
}
/*------ common layout ----------*/
.harmony-admin .ha-header{
    background-color: #f2f0ee;
    border-bottom: #5d85b5 7px solid;
    padding: 15px 0;
    text-align: center;
    line-height: 0;
    font-size: 0;
    margin-bottom: 35px;
}
.harmony-admin .ha-footer{
    color: #959696;
    font-size: 11px;
    text-align: center;
    padding: 40px 0;
}
.ha-formCard{
    background-color: #fff;
    border: #dedede 1px solid;
    box-shadow: 0px 2px 5px 0 rgba(0, 0, 0, 0.05);
    border-radius: 3px;
    padding: 20px 15px;
    width: 570px;
    margin: 0 auto;
}
.ha-formCard .hdrTitle{
    font-size: 20px;
    text-align: center;
    line-height: 1.4;
    padding: 16px 0 26px 0;
}

.ha-formCard .ha-formCard-body{
    padding: 0 30px;
}
.ha-formItem{
    margin-bottom: 20px;
}
.ha-formItem:last-child{
    margin-bottom: 30px;
}
.ha-formItem label{
    line-height: 1.85;
}
.ha-formButton{
    padding: 10px 0 20px;
}

.ha-formCard .alert-error{
    background-color: #fef1f0;
    border: solid 1px #d36b60;
    color: #d25f53;
    padding: 10px;
    margin: 10px 0 20px;
    line-height: 1.6;
}
.kc-account-wrapper .alert-error{
    background-color: #fef1f0;
    border: solid 1px #d36b60;
    color: #d25f53;
    padding: 10px;
    margin: 10px 0 20px;
    line-height: 1.6;
}
.ha-formCard .alert-success{
    background-color: #f7fced;
    border: solid 2px #95bc55;
    color: #95bc55;
    padding: 20px;
    margin: 10px 0 20px;
    line-height: 1.6;
}
.kc-account-wrapper .alert-success{
    background-color: #f7fced;
    border: solid 2px #95bc55;
    color: #95bc55;
    padding: 20px;
    margin: 10px 0 20px;
    font-size: 16px;
    line-height: 1.6;
}
/*------ form ----------*/
.ha-formInput{
    background-color: #fff;
    border: 1px solid #e4e1dc;
    border-radius: 3px;
    height: 30px;
    line-height: 40px;
    font-size: 16px;
    padding: 5px 10px;
    width: 488px;
}

.ha-eyeButton{
    position: absolute;
    background-color: transparent;
    border: 0;
    font-size: 16px;
    padding: 5px 10px;
    top: 1px;
    right: 1px;
    height: 38px;
}

.ha-formInput:-internal-autofill-selected{
    background-color: #fff;   
}
.ha-formInput:hover{
    border-color: #80bdc7;
}

.ha-formInput:focus{
    border-color: #80bdc7;
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(108, 178, 189, 0.6);
    outline: #80bdc7 auto 5px;
}
.ha-formInput::placeholder {
    color: #e4e1dc;
}
.ha-formInput[disabled]{
    background-color: #f7f7f7;
    border-color: #e4e1dc;
    color:#999;
}

.ha-formCard-large .ha-formInput{
    width: 380px;
}
.ha-formCard-large .ha-formInput-all{
    width: 848px !important;
}



.ha-formIcon-must{
    background-color: #d74f47;
    border-radius: 2px;
    color: #fff;
    font-size: 10px;
    display: inline-block;
    margin-left: 10px;
    padding: 3px;
}
/*------ btn ----------*/
.ha-btn{
    border:solid 1px #479fad;
    border-radius: 3px;
    display: block;
    font-size: 14px;
    text-align: center;
    line-height: 38px;
}
.harmony-admin a.ha-btn:link,
.harmony-admin a.ha-btn:visited,
.harmony-admin a.ha-btn:hover, 
.harmony-admin a.ha-btn:active{
    text-decoration: none;
}
/* normal */
.ha-btn-submit {
    background-color: #479fad;
    color: #fff;
    width: 100%;
}
.ha-btn-default{
    background-color: #fff;
    color: #479fad;
    width:260px;
    margin:  0 auto;
}
/* mouseover */
.ha-btn-submit:hover{
    opacity: 0.8;
}
.ha-btn-default:hover{
    background-color: #f2f7f8;
}
/* disabled */
.ha-btn-submit[disabled],
.ha-btn-default[disabled]  {
    background-color: #cecece;
    border:solid 1px #cecece;
}

/* size */
.ha-btn-400{
    width: 400px;
    margin: 0 auto;
}
.ha-btn-back{
    display: inline-block;
    width: 100px;
}
/*------ radiobox ----------*/
.ha-radioBox{
    margin-top: 10px;
}
.ha-radioBox label{
    display: inline-block;
    margin-right: 30px;
}
.ha-radioBox label input[type=radio]{
    margin-right: 10px;
}


/*------ account edit ----------*/
.ha-formCard-large{
    width: 930px;
}
.ha-formCard-large .ha-formLeft{
    float: left;
}
.ha-formCard-large .ha-formRight{
    float: right;
}

/*------ ha-localWrap ----------*/
.ha-localWrap .kc-dropdown{
    float: right;
    /* width: 80px; */
    color: #479fad;
    text-align: right;
    position: relative;
}
.kc-dropdown a{
    display: block;
    color: #479fad;
    line-height: 2;
}
.kc-dropdown a:link,
.kc-dropdown a:visited,
.kc-dropdown a:hover,
.kc-dropdown a:active{
    text-decoration: none;
}
.kc-dropdown a:hover,
.kc-dropdown a:active{
    color: #fff;
    background-color: #479fad;
    text-decoration: none;
}
.kc-dropdown a.kc-current-locale-link:hover,
.kc-dropdown a.kc-current-locale-link:active{
    color: #479fad;
    background-color: #fff;
}
.kc-dropdown ul{
    position: absolute;
    top: 40px;
    left: 0;
    width: 100%;
}
.kc-dropdown ul li{
    display: block;
}
.kc-dropdown ul li:last-child{
    border-bottom:#479fad 1px solid;
}
.kc-dropdown ul li a{
    border:#479fad 1px solid;
    border-width: 1px 1px 0;
    text-align: center;
    padding: 0 10px;
}
/*------ ha-select ----------*/
.ha-formItem input.ha-form-common-button-select {
    line-height: 1.47;
    height: 42px;
    text-align: left;
    width: 402px;
}
.ha-form-common-button-select-label {
    font-family: Meiryo;
    font-size: 14px;
    font-weight: normal;
    font-stretch: normal;
    font-style: normal;
    line-height: 3 !important;
    letter-spacing: normal;
    text-align: left;
    color: #479fad;
    position: relative;
    float: right;
    right: 20px;
    margin-bottom: 0;
    pointer-events:none;
}
.ha-form-common-list {
    z-index: 999;
    position: absolute;
    width: 402px;
    border: solid 1px #479fad;
    background-color: #ffffff;
    box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.17);
    border-radius: 3px;
}
.ha-form-common-list .ha-form-common-list-each {
    border-top: solid 1px #479fad;
    background-color: #ffffff;
    height: 40px;
    padding-left: 10px;

    font-family: Meiryo;
    font-size: 14px;
    font-weight: normal;
    font-stretch: normal;
    font-style: normal;
    line-height: 3;
    letter-spacing: normal;
    text-align: left;
    color: #72c2c3;
}
.ha-form-common-list .ha-form-common-list-each:hover {
    background-color: #479fad;
    color: #ffffff;
}
.ha-form-common-list .ha-form-common-list-each span {
    pointer-events:none;
}
/*---------account edit------------*/
.ha-tab-nav{
    width: 960px;
    margin: 0 auto;
}
.ha-tab-nav ul{
    border-bottom: 3px solid #fff;
    display: block;
    padding: 0 20px;
    margin-bottom: 10px;
}
.ha-tab-nav ul li{
    float: left;
    width: 150px;
    margin-right: 3px;
}
.ha-tab-nav ul li a{
    display: block;
    background-color: #ffffff;
    border-radius: 5px 5px 0 0;
    line-height: 30px;
    text-align: center;
    padding: 5px;
    border-width: 1px 1px 0 1px;
    border-style: solid;
}
.ha-tab-nav ul li a:link,.ha-tab-nav ul li a:visited,.ha-tab-nav ul li a:hover{
    border-color: #479fad;
    color: #479fad;
    text-decoration: none;
}
.ha-tab-nav ul li a:active,.ha-tab-nav ul li.active a{
    border-color: #ffffff;
    color: #000000;
    text-decoration: none;
}
/*===================start fontawesome ===================*/
/*---------ha-icon : fa,fas------------*/
@font-face {
    font-family: 'Font Awesome 5 Free';
    font-style: normal;
    font-weight: 900;
    font-display: auto;
    src: url("../webfonts/fa-solid-900.eot");
    src: url("../webfonts/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.woff") format("woff"), url("../webfonts/fa-solid-900.ttf") format("truetype"), url("../webfonts/fa-solid-900.svg#fontawesome") format("svg");
}
/*fa,fas*/
.ha-icon {
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
}

.ha-iconError:before {
    content: "\f057";
}
.ha-iconBack:before{
    content: "\f060";
}
.ha-iconPre:before{
    content: "\f061";
}
.ha-iconDropdown::after{
    content: "\f107";
    font-size: 20px;
}
/*---------ha-icon2 : far------------*/
@font-face {
    font-family: 'Font Awesome 5 Free';
    font-style: normal;
    font-weight: 400;
    font-display: auto;
    src: url("../webfonts/fa-regular-400.eot");
    src: url("../webfonts/fa-regular-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.woff") format("woff"), url("../webfonts/fa-regular-400.ttf") format("truetype"), url("../webfonts/fa-regular-400.svg#fontawesome") format("svg");
}
/*far*/
.ha-icon2 {
    font-family: 'Font Awesome 5 Free';
    font-weight: 400;
}

.ha-iconClose::after{
    content: "\f057";
}
.ha-iconSuccess::after{
    content: "\f058";
}
/*---------ha-icon3 : fab------------*/
@font-face {
    font-family: 'Font Awesome 5 Brands';
    font-style: normal;
    font-weight: normal;
    font-display: auto;
    src: url("../webfonts/fa-brands-400.eot");
    src: url("../webfonts/fa-brands-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.woff") format("woff"), url("../webfonts/fa-brands-400.ttf") format("truetype"), url("../webfonts/fa-brands-400.svg#fontawesome") format("svg");
}
/*fab*/
.ha-icon3 {
    font-family: 'Font Awesome 5 Brands';
}

/*===================end fontawesome ===================*/

/* notice form */
/* he-sysNotice */
.he-sysNotice{
    width: 400px;
    font-size: 14px;
}
.he-sysNotice {
    box-sizing: border-box;
    border: solid 1px #dedede;
    background-color: #d25f53;
    border-radius: 5px;
    color: #ffffff;
    font-size: 14px;
    padding: 20px;
    width: 600px;
    min-width: 300px;
    margin: 20px auto;
}
.he-text {
    line-height: 1.6;
}
.he-sysNotice p {
    padding-left: 65px;
}
.he-icon {
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
}
.he-iconNotice:before {
    content: "\f071";
    font-size: 32px;
    /*margin: 0 5px 0 -25px;*/
    color: #ffffff;
    display: inline-block;
    position: absolute;
    margin-left: 10px;
    margin-top: -14px;
    /*left: -40px;*/
}

/* TOTP setup steps */
.he-totp-steps {
    margin-bottom: 20px;
}
.he-totp-step {
    margin-bottom: 24px;
}
.he-totp-step-form {
    margin-bottom: 0;
}
.he-totp-step-title {
    font-weight: bold;
    margin-bottom: 8px;
}
.he-totp-step-label {
    margin-right: 0.25em;
}
.he-totp-app-list {
    margin: 0;
    padding-left: 1.2em;
    list-style: disc;
}
.he-totp-app-list li {
    margin-bottom: 4px;
}
.he-totp-secret {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    background-color: #f5f5f5;
    border: 1px solid #dedede;
    border-radius: 3px;
    margin: 10px 0;
}
.he-totp-secret-key {
    flex: 1;
    font-family: monospace;
    font-size: 14px;
    word-break: break-all;
    color: #333333;
    background: none;
    padding: 0;
}
.he-totp-copy-btn {
    flex-shrink: 0;
    border: 1px solid #479fad;
    border-radius: 3px;
    background-color: #479fad;
    color: #ffffff;
    cursor: pointer;
    padding: 6px 12px;
    font-size: 12px;
    line-height: 1.4;
    white-space: nowrap;
}
.he-totp-copy-btn:hover {
    background-color: #479fad;
    color: #ffffff;
}
.he-totp-copy-btn:disabled {
    background-color: #cccccc;
    color: #ffffff;
    border-color: #cccccc;
    cursor: default;
    opacity: 1;
}
.he-totp-policy {
    margin: 10px 0;
}
.he-box-explan {
    border-radius: 3px;
    border: solid 1px #cccccc;
    color: #6b6b6b;
    font-size: 12px;
    line-height: 1.4;
    padding: 20px;
    margin-bottom: 20px;
}
.he-totp-policy-list {
    margin: 0;
    padding: 0;
    list-style: none;
}
.he-totp-policy-list li {
    margin-bottom: 4px;
}
.he-totp-policy-list li:last-child {
    margin-bottom: 0;
}
.he-totp-link {
    margin-top: 10px;
}
.he-mb-20 {
    margin-bottom: 20px;
}
.he-formCard-body {
    padding: 0;
}
#kc-totp-secret-qr-code {
    max-width: 150px;
    max-height: 150px;
    display: block;
    margin: 10px 0;
}