/*#region Login*/

.register-header-container {
    height: 60px;
    width: 100%;
    left: 0;
    vertical-align: top;
    padding-top: 10px;
    position: fixed;
    top: 0;
    background-color: white;
    border-bottom: 1px solid #ddd;
    z-index: 999;
}

.register-header-help {
    z-index: 1000;
    position: fixed;
    top: 20px;
    right: 15px;
}

.register-header {
    height: 60px;
    width: 1024px;
    margin-left: auto;
    margin-right: auto;
}

.register-body {
    height: calc(100vh - 85px);
    width: 1024px;
    margin-left: auto;
    margin-right: auto;
    background-color: white;
    padding-left: 40px;
    padding-right: 40px;
}

.login-footer-container {
    width: 100%;
    padding: 20px;
    font-size: 13px;
    text-align: right;
}

.register-footer {
    width: 1024px;
    margin-left: auto;
    margin-right: auto;
    background-color: white;
}

    .register-footer a {
        vertical-align: bottom;
    }

.login-title-logo {
    padding: 28px 18px 0px 0px;
}

.register-button {
    float: left;
}

.register-msg {
    margin-left: 180px;
    /*font-size: medium;*/
}

.login-and-information-container {
    text-align: center;
}

.login-area {
    margin: 23px auto 38px;
    width: 400px;
    text-align: left;
}

.login-email-textbox {
    margin-bottom: 20px;
    font-size: 13px;
}

.login-loginid-textbox {
    margin-bottom: 20px;
    font-size: 13px;
}

.login-password-textbox {
    margin-bottom: 20px;
    font-size: 13px;
}

.login-form-control {
    display: block;
    width: 100%;
    height: 38px;
    padding: 7px 12px 6px;
    font-size: 16px;
    color: #212529;
    background-color: #fff;
    background-image: none;
    border: 1px solid #aaa;
    border-radius: 4px;
}

    .login-form-control::-webkit-input-placeholder {
        color: #aaa;
    }

    .login-form-control::-moz-placeholder {
        color: #aaa;
    }

    .login-form-control:-ms-input-placeholder {
        color: #aaa;
    }

.login-remember {
    margin-bottom: 20px;
}

.login-forget-password {
    margin: 25px 0px 30px;
    font-size: 16px;
    text-align: center;
}

.reset-password-phone {
    margin: 25px 0px 30px;
    font-size: 16px;
    text-align: center;
}

.reset-password-phone-color {
    text-decoration: underline;
    text-decoration-color: currentColor;
    color: #0000ff; /* 任意の色を指定 */
}

.login-error-msg {
    margin: 0px 0px 18px;
    text-align: center;
}

.btn-login {
    width: 100%;
    height: 48px;
    font-size: 16px !important;
    font-weight: bold !important;
}

.btn-login-red {
    width: 100%;
    height: 48px;
    font-size: 16px !important;
    font-weight: bold !important;
    color: #fff !important;
    background-color: #b92c28 !important;
    border-color: #b92c28 !important;
}

    .btn-login-red:hover,
    .btn-login-red:focus,
    .btn-login-red.focus {
        background-color: #c12e2a !important;
        color: white !important;
        text-decoration: none;
    }

.button-register {
    width: 100%;
    height: 38px;
    color: #065ca8;
    border: solid 1px #065ca8;
    font-size: 16px;
    text-decoration: none;
    background-color: #fff;
    border-radius: 4px;
}

.login-ssologin-button {
    text-align: center;
}

.btn-sso-login {
    width: 100%;
    height: 38px;
    font-size: 16px !important;
}

.login-or {
    width: 100%;
    height: 38px;
    display: flex;
    align-items: center;
}

    .login-or::before,
    .login-or::after {
        content: "";
        flex-grow: 1;
        height: 1px;
        background: #e1e1e1;
    }
/*
.login-or::after {
    margin-left: 2em;
}
.login-or::before {
    margin-right: 2em;
}
*/

/*チェックボックス*/
label.login-remember-check-box {
    margin: 0;
    cursor: pointer;
    font-size: 13px;
    font-weight: normal;
}

    label.login-remember-check-box input {
        display: none;
    }

    label.login-remember-check-box span {
        padding-left: 25px;
        position: relative;
    }

        label.login-remember-check-box span::before {
            content: '';
            display: block;
            position: absolute;
            top: 0;
            left: 0;
            width: 18px;
            height: 18px;
            border: 1px solid #aaa;
            border-radius: 4px;
        }

    label.login-remember-check-box input:checked + input + span::after {
        content: '';
        display: block;
        position: absolute;
        top: 2.5px;
        left: 6px;
        width: 6px;
        height: 10px;
        transform: rotate(40deg);
        border-bottom: 1px solid #212529;
        border-right: 1px solid #212529;
    }

/* パスワード */
.input-password-eye-field-icon {
    color: #555;
    float: right;
    margin-right: 10px;
    margin-top: -30px;
    position: relative;
    z-index: 2;
    font-size: 1.3em;
    cursor: pointer;
}
/* パスワード表示ボタン（IEの標準表示）を非表示に設定 */
.input-password::-ms-reveal {
    display: none;
}

/* お問い合わせ */

.login-Inquiry {
    margin: 25px 0px 0px;
    font-size: 16px;
    text-align: center;
}

    .login-Inquiry a {
        color: #6c757d !important;
    }

/*お知らせ*/
.system-information {
    margin: 0px auto;
    width: 800px;
    text-align: left;
}

.system-information-title {
    padding: 0px 60px;
    font-size: 18px;
}

.system-information-border {
    height: 15px;
    padding-top: 3px;
    border-top: 1px solid #065ca8;
}

.system-information-content {
    padding: 0px 60px;
    line-height: 1.5;
}

.system-information-content-space {
    height: 25px;
}

.system-information-content-subject {
    margin-bottom: 5px;
    font-size: 18px;
}

.system-information-content-message {
    font-size: 13px;
}

/*#endregion Login*/

/*#region Register company*/

.partial-register-container {
    margin-top: 60px;
    background-color: white;
}

/*フロー番号エリア*/
.create-account-flow-area {
    text-align: center;
    margin-top: 30px;
    margin-bottom: 60px;
}

/*フロー番号エリア（SMS用）*/
.create-reset-password-flow-area {
    text-align: center;
    margin-top: 30px;
    margin-bottom: 30px;
}
/*フロー番号（他ページ番号）*/
.create-account-flow {
    height: 10px;
    width: 10px;
    border-radius: 100%;
    background-color: #dcdcdc;
    margin: 15px;
    padding: 5px 11px;
    color: white;
}

/*フロー番号（該当ページ番号）*/
.create-account-flow-large {
    height: 15px;
    width: 15px;
    border-radius: 100%;
    background-color: #696969;
    margin: 15px;
    padding: 10px 16px;
    color: white;
}

.partial-register-company {
    border-left: 1px solid #ddd;
    border-right: 1px solid #ddd;
}

.partial-register-title {
    padding: 20px;
    text-align: center;
    font-size: large;
    font-weight: bold;
}

.partial-register-reset-password-title {
    padding: 20px;
    text-align: center;
    font-size: large;
    font-weight: bold;
    min-height: 60px;
    display: block;
}

/*bootstrapの不要なCSS設定を上書き*/
.register-form-group {
    margin-left: 0px !important;
    margin-right: 0px !important;
}

#termOfUse,
#privacyPolicy {
    white-space: pre-wrap;
    border: 0;
    background: white;
    word-break: break-word;
    padding: 0 0 9.5px 0;
    font-size: 14px;
    font-family: 'Meiryo' !important;
}

.AgreementLastTerm {
    text-align: center;
    font-size: large;
    font-weight: bold;
}

.TermFrame {
    border-radius: 5px;
    padding: 1em;
    width: 100%;
    height: 30em;
    background-color: #fff;
    border: 1px solid #ccc;
    text-align: center;
}

.TermFrame2 {
    border-radius: 5px;
    padding: 1em;
    width: 100%;
    height: 12em;
    background-color: #fff;
    border: 1px solid #ccc;
    text-align: center;
}

.TermError {
    margin-top: 160px;
}

.TermError2 {
    margin-top: 40px;
}

/*アイコン設定エリア*/
.create-account-set-img-container {
    height: 100px;
    margin-bottom: 20px;
}

/*.company-profile-container {
	height: 152px;
	margin-bottom: 20px;
}*/

/*アイコン表示エリア*/
.create-account-img-container {
    float: left;
    width: 45%;
    height: 100px;
    /*padding-left: 400px;*/
}

.create-account-img {
    width: 100px;
    height: 100px;
}

/*アイコンプレビュー*/
.create-account-preview-img {
    border-radius: 100px;
    width: 100%;
    height: 100%;
}

/*アイコンボタンエリア*/
.create-account-img-btn-container {
    width: 50%;
    height: 100px;
    float: left;
    position: relative;
}

/*.company-profile-title {
	float: left;
	width: 50%;
	padding: 20px 0 0 10px;
}*/

/*アイコン削除ボタン*/
.remove-icon-btn {
    float: left !important;
    visibility: hidden;
}

/*隠れたファイル参照ボタン*/
.input-set-icon {
    display: none !important;
}

/*アイコンを設定するリンク*/
.input-icon-btn {
    bottom: 0;
    position: absolute;
}

.account-info-container {
    margin: 20px 0 80px 0;
}

#agreement-sentence {
    margin: 8px 0;
}

.agreement-sentence {
    margin: 8px 0;
}

#consent-title {
    font-size: 28px;
    padding-bottom: 0;
}

#consent-message {
    color: red;
    margin: 0;
}

.float-clear {
    clear: both;
}

/*利用規約等のモーダル*/
.padding-30 {
    padding: 30px !important;
}

.register-button-container {
    background-color: #ddd;
    padding: 10px;
    text-align: center;
}

.agree-button-container {
    background-color: #ddd;
    padding: 10px;
    text-align: center;
    position: fixed;
    width: 100%;
    bottom: 0;
}

/*メール再送信エリア*/
#resend-email {
    display: inline-block;
    text-align: center;
    margin: 0 0 100px 0;
}

/*登録完了画面(共通)*/
#complete-registration-container > p {
    text-align: center;
}

#check-registered-container > p {
    text-align: center;
}

#check-registration-container > p {
    text-align: center;
}

#check-unregistration-container > p {
    text-align: center;
}

.check-registered-paragraph1 {
    margin-top: 15px;
}

.check-registered-paragraph2 {
    width: 40%;
    min-width: 360px;
    margin-top: 30px;
    margin-bottom: 30px;
    margin-left: auto;
    margin-right: auto;
    padding: 10px;
    text-align: center;
    border-color: lightgray;
    border-width: 2px;
    border-style: solid;
    border-radius: 10px;
}

.check-registered-paragraph3 {
    display: table;
    width: 100%;
    margin-left: auto !important;
    margin-right: auto !important;
}

    .check-registered-paragraph3 > label {
        display: table-cell;
        padding: 5px;
        vertical-align: top;
    }

    .check-registered-paragraph3 > div {
        display: table-cell;
        padding: 5px;
        vertical-align: top;
    }

.check-registered-paragraph4 {
    margin-bottom: 30px;
}

.company-plan-container {
    margin: 10px 0 20px 0;
    padding: 0 220px;
}

.plan-detail {
    margin: 10px;
    line-height: 25px;
}

.reset-password-phone-header, .reset-password-mailaddress-header {
    margin-top: 20px;
    line-height: 20px;
    font-size: 20px;
    font-weight: bold;
    max-width: 800px; /* 最大幅 */
    margin: 10px auto; /* 中央配置で左右余白あり */
    padding: 15px; /* 内部余白 */
}

.reset-password-phone-detail, .reset-password-mailaddress-detail, .reset-password-phone-back {
    margin-top: 10px;
    margin-bottom: 15px;
    line-height: 20px;
    max-width: 800px; /* 最大幅 */
    margin: 10px auto; /* 中央配置で左右余白あり */
    padding: 15px; /* 内部余白 */
    text-align: left; /* 左寄せ */
}

.reset-password-phone-complete-detail {
    margin-top: 10px;
    margin-bottom: 15px;
    line-height: 20px;
    /*text-align: center;*/
    max-width: 500px; /* 最大幅 */
    margin: 10px auto; /* 中央配置で左右余白あり */
    padding-top: 5px; /* 内部余白 */
    padding-bottom: 5px; /* 内部余白 */
    padding-left: 15px;
    padding-right: 15px;
    text-align: left; /* 左寄せ */
}

.display-none {
    display: none;
}

.red {
    color: red;
}

.gray {
    color: gray;
}

.bold {
    font-weight: bold;
}

.create-new-account-margin-top-50 {
    margin-top: 50px;
}

.create-new-account-margin-bottom-30 {
    margin-bottom: 30px;
}

.create-new-account-margin-bottom-100 {
    margin-bottom: 100px;
}

.create-new-account-border-container {
    text-align: center;
}

.create-new-account-border-style {
    border-color: lightgray;
    border-style: solid;
    border-width: 1px;
    display: inline-block;
    margin-left: auto;
    margin-right: auto;
    max-width: 100%;
    padding: 15px;
}

.termofuse-container {
    padding: 0 250px;
}

    .termofuse-container textarea {
        resize: none;
        background-color: #fff !important;
        cursor: default !important;
    }

#passwordInput {
    border: 1px solid #ccc;
    padding: 10px;
    border-radius: 4px;
    font-size: 14px;
}

    #passwordInput[readonly] {
        cursor: text;
        background-color: #fff;
    }

#confirmPasswordInput {
    border: 1px solid #ccc;
    padding: 10px;
    border-radius: 4px;
    font-size: 14px;
}

    #confirmPasswordInput[readonly] {
        cursor: text;
        background-color: #fff;
    }

.input-error {
    border-color: #a94442 !important;
}

.text-error {
    padding: .2em .4em .3em;
    font-size: 75%;
    font-weight: bold;
    line-height: 1.5 !important;
    color: #fff;
    border-radius: .25em;
    background-color: #d9534f;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    display: inline-block;
}

.text-error-size90 {
    font-size: 90% !important;
}

.message-please-wait-area {
    margin-top: 10px !important;
}

/*モーダル*/

#modal-agreement-sentence {
    z-index: 30;
}

.agreement-sentence-left {
    text-align: left;
}


/*2要素認証*/
#modal-confirm-two-factor-authen-code .modal-dialog {
    width: 450px;
    max-width: 450px;
    min-width: 450px;
}

#confirm-two-factor-authen-code {
    width: 300px;
    margin-top: 2%;
    margin-bottom: 7%;
}

#two-factor-authen-code-control {
    display: flex;
    gap: 2%;
    justify-content: center;
    margin: 5% 0 2% 0;
}

#confirm-login-password {
    margin: 6% 0 3% 0;
}

.relogin-password-textbox {
    margin-bottom: 10px;
    font-size: 13px;
}

.relogin-eye-icon {
    color: #555;
    float: right;
    margin-top: 7px;
    position: absolute;
    z-index: 2;
    font-size: 1.3em;
    cursor: pointer;
    right: 80px;
}

.relogin-email-label {
    margin: 3% 44% 2% 0;
}

.relogin-password-label {
    margin-right: 52%;
    margin-top: 3%;
}

/*IE対応*/
@media all and (-ms-high-contrast: none) {
    #two-factor-authen-code-control input {
        margin: 0 1%;
    }
}

.forget-password-main-container, .reset-password-phone-main-container, .reset-password-mailaddress-main-container {
    margin: 0 15px 30px 15px;
}

.target-element { /* デフォルト（PC） */
    display: inline !important;
}

@media (max-width: 1024px) { /* タブレット用 */
    .target-element {
        width: 70%;
        display: block !important;
        text-align: left !important;
    }
}

@media (max-width: 600px) { /* スマホ用 */
    .target-element {
        width: 70%;
        display: block !important;
        text-align: left !important;
    }
}
.account-login-container {
    background-color: white;
    height: 100vh;
    margin-top: -50px;
    margin-left: -15px;
    width: 1170px;
}

.account-container-register {
    background-color: white;
    /*height:100vh;*/
    margin-top: -50px;
    margin-left: -15px;
    width: 1170px;
}

.account-login-title {
    margin: 15px 5px;
}

.accout-login-input {
    padding: 5px;
    text-align: center;
}

.account-login-wrapper {
    background-color: lightgray;
    border-radius: 4px;
    padding: 30px 50px;
    text-align: center;
}

.account-login-container form {
    width: 300px;
    margin: auto;
    text-align: center;
}

.account-login-container input[type="text"],
.account-login-container input[type="password"] {
    width: 200px;
}

.account-login-container input[type="submit"] {
    width: 200px;
    height: 35px;
}

.account-login-container input[type="button"] {
    height: 35px;
    font-size: 12px;
}

.register-link {
    width: 250px;
    margin: 15px 0px 15px -25px;
}

.register-company-btn {
    margin-right: 20px;
    width: 150px !important;
}

.register-person-btn {
    width: 150px !important;
}

/* Logo and link display */
.ctx_img {
    position: relative;
    TOP: 525px;
    font-size: 12px;
    /*text-decoration:underline; リンクに下線は引かないようにしておきます */
}

.ctx_img-login2 {
    position: relative;
    TOP: 675px;
    font-size: 12px;
    /*text-decoration:underline; リンクに下線は引かないようにしておきます */
}

.login-ssobody {
    border:solid #ccffff 1px;
    background-color:#eeffff;
    margin:75px 120px;
}

@media (max-width: 767px) {
    .login-ssobody {
        margin:75px 10px;
    }
}

.login-sso-redirect {
    font-size: 1px;
    text-indent: -9999px;
    opacity: 0.01;
    -moz-opacity: 0.01;
}

.nodisp {
    display: none;
}


.account-confirm-container
{
    width:100%;
	height:100%;
	padding-top: 50px;
    padding-bottom: 50px;
}
.account-confirm-container form
{
    width: 500px;
    margin: 0 auto;
}
.account-confirm-container input[type="text"]
{
    width: 200px;
}
.account-confirm-container input[type=button],
.account-confirm-container input[type="submit"]
{
    text-align: center;
}

.account-confirm-wrapper
{
    border: 1px solid #e8e6e6;
    border-radius: 6px;
    padding: 10px 30px;
}

.account-confirm-title
{
    text-align: center;
    font-weight: bold;
    font-size: 18px;
    padding-bottom: 20px;
}
.account-confirm-content
{
    margin: 10px 0px;
	padding: 5px 5px;
}

.account-confirm-next
{
    text-align: center;
    padding-bottom: 50px;
    padding-top: 5px;
}
.account-confirm-title-reisse
{
    padding-left: 30px;
}
.account-confirm-reissue
{
    text-align: center;
    padding-bottom: 10px;
    padding-top: 5px;
}

.request-authen-code{
	text-align: center;
}

.account-container {
    /*width:400px;
    margin:0 auto;*/
}

.account-company-container {
    /*width:100%;
	height:100%;*/
    /*margin-top: 50px;*/
    /*margin-bottom: 50px;*/
}

    .account-company-container form {
        /*width: auto;
        margin:0 auto;*/
    }

    .account-company-container input[type="text"],
    .account-company-container select {
        /* width: 300px;*/
    }

    .account-company-container input[type="submit"] {
        /*text-align: center;
        width: 250px;
        height: 35px;*/
    }

.account-company-wrapper {
    margin-top: 50px;
    margin-bottom: 50px;
    border: 1px solid #e8e6e6;
    border-radius: 6px;
    padding: 10px 30px 10px 30px;
}

.account-company-title {
    text-align: center;
    font-weight: bold;
    font-size: 18px;
    padding-bottom: 20px;
}

.account-company-register {
    padding-top: 10px;
    text-align: center;
}

.account-company-register-data {
    text-align: center;
    padding-top: 10px;
}

.account-company-register-confirm-data {
    margin-bottom: 0;
    padding-top: 7px;
    /*text-align: right;*/
}

.panel-body-company {
	min-height: 31.7em !important;
}

.invitaion-company-agreement a:hover {
    cursor : pointer;
}
.account-personal-container {
}

    .account-personal-container form {
        margin: 0 auto;
    }

    .account-personal-container input[type="text"] {
        width: 300px;
    }

    .account-personal-container input[type="submit"] {
        text-align: center;
        width: 250px;
        height: 35px;
    }

.account-personal-wrapper {
    margin-top: 50px;
    margin-bottom: 50px;
    border: 1px solid #e8e6e6;
    border-radius: 6px;
    padding: 10px 30px 10px 30px;
}

.account-personal-title {
    text-align: center;
    font-weight: bold;
    font-size: 18px;
    padding-bottom: 20px;
}

.account-personal-label {
    text-align: left;
}

.account-personal-policy textarea {
    margin-left: 70px;
    width: 430px;
    height: 100px;
}

.account-personal-accept {
    padding-bottom: 20px;
}

.account-personal-register {
    text-align: center;
}

.textarea-readonly{
	background-color: white !important;
	cursor: default !important;
}

.account-profile-container {
    padding-top: 50px;
    padding-bottom: 50px;
    width: 410px;
    margin: 0 auto;
}

    .account-profile-container input[type=text] {
        width: 200px;
    }

    .account-profile-container input[type=submit] {
        width: 300px;
        height: 35px;
    }

.account-profile-wrapper {
    border: 1px solid #e8e6e6;
    border-radius: 6px;
    padding: 10px 30px 10px 30px;
}

.account-profile-title {
    text-align: center;
    font-weight: bold;
    font-size: 18px;
    padding-bottom: 20px;
}

.account-profile-picture {
    position: relative;
    margin: 5px;
}

    .account-profile-picture img {
        margin: 5px;
        border: 2px solid #eee;
        width: 150px;
        height: 150px;
    }

.account-input-file {
    display: none !important;
}

.account-profile-browse-button {
    position: absolute;
    top: 71.5%;
    left: 43.2%;
    width: 147px;
    height: 25%;
    display: none;
    cursor: pointer;
}

.account-profile-picture:hover div {
    padding-top: 8px;
    opacity: 0.7;
    background-color: black;
    display: block;
    color: white;
}

.account-profile-browse-button:active div {
    opacity: 0.9;
}

.account-picture-profile {
    width : 100%;
    max-width: 360px;
    margin-left: auto;
    margin-right: auto;
    height: 150px;
    margin-bottom:15px;
    margin-top:15px;
}

.desciption {
   word-break:normal;
   font-size:14px;
   color:#333;
   font-weight:normal !important;
}

.account-recover-container {
	width: 100%;
	height: 100%;
	padding-top: 50px;
	padding-bottom: 50px;
}

.account-recover-container form {
	width: 500px;
	margin: 0 auto;
}

.account-recover-container input[type="submit"] {
	text-align: center;
	width: 80px;
}

.account-recover-wrapper {
	border: 1px solid #ccc;
	border-radius: 4px;
	padding: 30px 30px;
}

.account-recover-title {
	text-align: center;
	font-weight: bold;
}

.account-recover-content {
	margin: 10px 10px;
}

.account-recover-reissue {
	text-align: center;
}

