/* HTMLスタイル書き換え */
html{
    height: 100%;
    width: 100%;
}
body{
    height: 100%;
    background: #F2F6FA;
    background-size: cover;
}
@media (max-width: 350px){
    body{
        font-size: 12px;
    }
}
.form-control::placeholder{
    color: #AAA;
}
::-webkit-input-placeholder{
    color: #AAA;
}
:-ms-input-placeholder{
    color: #AAA;
}
input[type="password"]{
    font-family: Verdana, sans-serif;
}
table th,table td{
    word-break: break-all;
}
h3{
    margin-bottom: 20px;
}


/* bootstrapスタイル書き換え */
.form-group{
    margin-bottom: 24px;
}
.form-group label{
    color: #888;
    margin-bottom: 8px;
}

@media (min-width: 576px) {
    .form-row{
        margin-bottom: 24px;
    }
    .form-row .form-group{
        margin-bottom: 0;
    }
}
.id-btn-mainaction{
    padding-left: 20px;
    padding-right: 20px;
}
@media (max-width: 576px) {
    .btn-sm-block{
        display: block;
        width: 100%;
        margin-bottom: 10px;
    }
    select.form-control{
        padding: 5px 5px;
    }
    .custom-control-inline{
        display: block;
    }
}
input[type='radio'] + .custom-control-label{
    margin-right: 5px;
}
input[type='radio'] + .custom-control-label::before{
    top: 8px;
}
input[type='radio'] + .custom-control-label::after{
    top: 8px;
}
input[type='radio'].custom-control-input + label {
    font-size: 1.3em;
}
@media (max-width: 350px){
    .form-control-lg{
        font-size: 1rem;
    }
    .btn-lg{
        font-size: 1rem;
    }
}
.form-control.is-invalid{
    background-image: none;
}

.form-control-plaintext{
    padding-top: 0;
    font-size: 1.25rem;
}

.alert ul{
    list-style: none;
    margin-bottom: 0;
    padding-left:0;
}
.list-group h5{
    margin-bottom: 0;
}

.dropdown:hover>.dropdown-menu {
    display: block;
}
.dropdown:hover,.dropdown.show{
    background: #555;
}
.dropdown-item:focus, .dropdown-item:hover{
    background: #F3F3F3;
}


/* アプリ共通スタイル */
.id-navbar-wrap > div:first-child{
    width: 100%;
    border-bottom: 1px solid #DDD;
    padding: 13px;
}

.id-navbar-wrap .navbar-brand img{
    height: 40px;
}
.id-footer-wrap > div{
    background: #F4F4F4;
    border-top: 1px solid #DEDEDE;
}
.id-footer-linkgroup{
    list-style: none;
    padding-left: 0;
}
.id-footer-linkgroup li{
    margin: 0 10px;
}

/* IE11専用CSS */
@media (max-width: 576px) and (-ms-high-contrast:none){
    *::-ms-backdrop, main > div.container{ margin-bottom: 140px !important; } /* IE11 */
}


.id-form-title{
    font-size: 1.2em;
    font-weight: bold;
    color: #000000;
    margin-bottom: 20px;
}

.id-form-title-t{
    font-size: 1em;
    padding: 0.2rem;
    font-weight: bold;
    color: #000000;
    margin-bottom: 3px;
    background: #DC3545;
}

.id-form-subtitle{
    background: #F7F7F7;
    padding: 5px 10px;
    margin-bottom: 16px;
    margin-top: 40px;
    font-weight: bold;
    color: #666666;
}

.id-form-description{
    margin-bottom: 15px;
}

.id-smallform-wrap{
    width: 100%;
    max-width: 550px;
}

.id-basicform-wrap{
    width: 100%;
    max-width: 700px;
}

.id-form-actiongroup{
    margin-top: 64px;
}

.id-form-actiongroup-profileReference{
    float:right;
}

.id-form-actiongroup button,.id-form-actiongroup a{
    float:right;
}

.id-password-wrap{
    position: relative;
}

.id-password-icon{
    position: absolute;
    right: 1rem;
    top: 0.3rem;
    cursor: pointer;
    color: #AAA;
    font-size: 1.4rem;
}
.id-password-icon-on{
    color: #004098;
}

.id-highlight-box{
    background: #F1F1F1;
    padding: 8px 16px;
    font-size:1.25rem;
    font-weight: bold;
    border-radius: .3rem;
}
.id-searchform .form-group{
    margin-bottom: 0;
}

.id-searchform input.custom-control-input + label{
    font-size: 1.1em;
}
.id-searchform .form-group label{
    margin-bottom: 0;
}

.btn i::before{
    line-height: 1.1rem;
}
.btn-lg i::before{
    line-height: 1.5rem;
}

.id-table-tr-action{
    width: 250px;
}
@media (max-width: 576px){
    .id-table-tr-action{
        width: 150px;
    }
}
.id-ease-animation{
    -webkit-transition: all .5s ease-in-out 0s;
    transition: all .5s ease-in-out 0s;
}

.id-listgroup-button{
    flex-shrink:0;
    width: 70px;
    text-align:right;
}

.id-semi-modal{
    position: absolute;
    background: #FFF;
    bottom: 0;
    border-radius: 1rem 1rem 0 0;
    width: 100%;
    margin: 0;
}
.id-semi-modal .modal-content{
    padding: 2rem;
    border: none;
}
.id-nav-wrap{
    width: 100%;
    background: #444;
    /* background: #F1F1F1; */
}
.id-nav-wrap a.nav-link{
    color: #FFF;
}

.id-form-readonly{
    font-size: 1.2rem;
}
ul.errorText{
  padding: 0px;
  padding-left: 30px;
  margin: 3px;
  font-size:12pt;
  text-align:left;
  color:#ffaaaa;
}
ul.infoText{
  padding: 0px;
  padding-left: 30px;
  margin: 3px;
  font-size:12pt;
  text-align:left;
  color:#ffaaaa;
}
.errorfield {
  background:#ff99a099;
}
.errorDiv {
  color: #ff0000;
}

/* キャプチャ画像の長さ設定 */
.captcha img{
  width: 36%;
}

@media (max-width: 576px) {
  .captcha img{
    width: 170px;
  }
}

@media (max-width: 350px){
  .captcha img{
    width: 170px;
  }
}

.idk-border-top {
    border-top: 1px solid #e0e0e0;
    padding-top: 5px;
}

.idk-background-color {
    background: rgba(245, 245, 245, 1);
    padding: 5px;
}

.table-top td {
    vertical-align: top;
}

.td-padding {
    padding-left: 1.5rem;
}

.idk-checkbox-adjust{
    line-height:22px !important;
}

.ac_trigger {
    display: flex;
    justify-content: flex-start;
    cursor: pointer;
}

.ac_trigger .trigger_item {
    flex-grow: 1;
    min-height: 48px;
}

.ac_trigger .arrow {
    flex-shrink: 0;
    position: relative;
    display: inline-block;
    padding-left: 20px;
    padding-top: 12px;
}

.ac_trigger .arrow::before {
    content: '';
    width: 10px;
    height: 10px;
    border: 0px;
    border-bottom: solid 2px #757575;
    border-right: solid 2px #757575;
    position: absolute;
    left: 0;
    margin-top: -8px;
    transform-origin:50% 50%;
    transform: translate(2px, -2px) rotate(45deg);
    -webkit-transform: translate(2px, -2px) rotate(45deg);
    -moz-transform: translate(2px, -2px) rotate(45deg);
    -ms-transform: translate(2px, -2px) rotate(45deg);
    -o-transform: translate(2px, -2px) rotate(45deg);
}

.ac_trigger.open .arrow::before {
    content: '';
    width: 10px;
    height: 10px;
    border: 0px;
    border-top: solid 2px #757575;
    border-right: solid 2px #757575;
    position: absolute;
    left: 0;
    margin-top: -2px;
    transform-origin:50% 50%;
    transform: translate(2px, -2px) rotate(-45deg);
    -webkit-transform: translate(2px, -2px) rotate(-45deg);
    -moz-transform: translate(2px, -2px) rotate(-45deg);
    -ms-transform: translate(2px, -2px) rotate(-45deg);
    -o-transform: translate(2px, -2px) rotate(-45deg);
}

.ac_detail {
    display: none;
}

.idk-tbl-title {
    min-height: 48px;
    box-sizing: border-box;
    cursor: pointer;
    display: inline-block;
}

.idk-radio-15-line-10 {
    font-size: 15px!important;
    color: #333333;
    line-height: 25px;
}

ul.idk-rules {
    list-style: none
}

ul.idk-rules li:before {
    content: '\0030fb';
    position: relative;
    left: .35em;
    color: #0167aa
}

.idk-margin {
    margin-top: 10px!important;
}

.idk-mg-pd-0 {
    margin: 0px;
    padding: 0px;
}

.idk-font-size-16 {
    font-size: 16px !important;
}

.idk-label-text {
    font-weight: bold;
    color: #333;
    margin-left: 12px;
}

.idk-label-text::before {
    content: "";
    position: absolute;
    margin-left: -12px;
    margin-top: -1px;
    width: 6px;
    height: 22px;
    background: #dedede;
}

/* カスタマイズ START */

/* ログイン画面の「新規登録はこちら」左寄せ */
form[id="formRegist"] button[id="registEdit"]{
    border: .1rem solid;
    border-color: #004098;
    color: #004098;
    font-weight: bold;
    padding: 8px 45px 8px 45px; 
}

/* 右上のID表示を削除 */
.bg-white .container span {
    display: none;
}

/* 必須マークを削除 */
.badge {
    display:none;
}

/* 登録画面のIDを削除 */
form[action="registration-edit"] .id-form-readonly {
   display:none;
}

/* 登録画面の性別ラベル削除 */
form[action="registration-edit"] div.form-row > div.form-group.col-sm > label {
    display: block;
}

form[action="registration-edit"] div.form-row > div.form-group > label {
    display: none;
}

/* 登録確認画面のIDを削除 */
form[action="registration-confirm"] div.alert + div.form-group {
    display: none;
}

/* 登録確認画面のボタン位置変更 */
form[action="registration-confirm"] div.id-form-actiongroup  {
    display: flex;
    flex-direction: row-reverse;
}

/* 参照画面のID情報削除 */
form[action="profile"] div.form-group > div.row {
    display: none;
}

/* 参照画面のメールアドレスラベル削除 */
form[action="profile"] div.form-group:nth-of-type(9) {
    display: none;
}

/* 参照画面のパスワード変更ボタンのスタイル統一 */
form[action="profile"] button[id="doDefaultUserPwdEdit"]{
    color: #fff;
    background-color: #004098;
    border-color: #004098
}

form[action="profile"] button[id="doDefaultUserPwdEdit"]:hover{
    color: #fff;
    background-color: #0c2d65;
    border-color: #0c2d65;
    text-decoration: none;
}

form[action="profile"] button[id="doDefaultUserPwdEdit"]:focus {
    color: #fff;
    background-color: #0c2d65;
    border-color: #0c2d65;
    box-shadow: 0 0 0 .2rem rgba(0,64,152,.25)
}

/* 編集画面の性別ラベル削除 */
form[action="profile-edit"] div.form-row > div.form-group.col-sm > label {
    display: block;
}

form[action="profile-edit"] div.form-row > div.form-group > label {
    display: none;
}

/* 各画面のボタン位置変更（横並び） */
div.row > div.col-sm {
    display: flex;
    justify-content: end;
    flex-direction: row;
}

/* 参照画面のラベル調整 */
form[action="profile"] div.row > div.col-sm{
    justify-content: left;
}

/* メールアドレス編集画面のメールアドレス入力欄を長く */
form[action="contact-edit"] div.row {
    flex-direction: column;
}

form[action="contact-edit"] div.div-row-style {
    flex-direction: column;
}

form[action="contact-edit"] div.px-sm-5-style div.div-row-style:nth-of-type(2) div.form-group {
    display: flex;
    justify-content: end;
}

/* メールアドレス編集画面の連絡先メールアドレスのチェックボックスを削除 */
form[action="contact-edit"] div.px-sm-5-style div.div-row-style div.profilecontactedit-style3{
    display:none;
}


/* 新規登録時の認証コード文言左寄せ */
form[action="registration-otp"] ul.note-list{
    list-style: none;
    text-align: left;
    margin: 0 0 20px 0;
    padding: 0 0 0 30px;
}

/* 画面カスタマイズ END */

/*--------------------------------------------------*/
.body-height-error-style {
  height:100%;
}

.main-contents-style {
  padding:0px;
}

.btn-align-style {
    text-align : right;
}
.btn-align-style2 {
    text-align : right;
}
.break-all-style {
    word-break : break-all;
}

.display-none-style {
  display:none;
}

.rule-name-style {
  font-size: 16px !important;
  margin-top: 10px!important;
}
.text-decoration-style {
  text-decoration:none !important;
}
.white-space-style {
  white-space:pre-wrap;
}
.id-form-description-style {
    margin-left: 16px;
    margin-right: 16px;
}
.div-padding-top-style{
  padding-top:2.5%;
}
.btn-align-center{
  text-align:center;
}
/* 注意書き */
.note-list {
    list-style: none;
    margin: 0 0 20px 0;
    padding: 0 ;
}
.note-list li {
    font-size: 0.8em;
}
/*デフォルト本人確認画面の提示文言 */
.id-form-mail-caution {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 32px;
  max-width: 350px;
  line-height: 17px;
  font-size: 11px;
}
.note {
  color: #979797;
  font-size: 10px;
  letter-spacing: 0.56px;
  margin-bottom: 12px;
  max-width: 320px;
  margin-right: auto;
  margin-left: auto;
}
.id-form-subtitle-gray {
  background: #f4f4f4;
  padding: 16px;
  margin-bottom: 0;
  margin-top: 32px;
}
@media (max-width: 576px) {
  .id-form-mail-caution {
    margin-bottom: 24px;
    max-width: 90%;
  }
  .id-form-subtitle-gray {
    margin-top: 24px;
  }
  .id-form-password-caution {
    margin-top: -10px;
    margin-bottom: 16px;
    line-height: 1rem;
  }
}
/*デフォルトユーザー登録画面のパスワード設定文言 */
.id-form-password-caution {
  margin-left: 20px;
  margin-right: 20px;
  margin-top: -10px;
  margin-bottom: 16px;
  font-size: 11px;
}
.id-form-text {
    font-size: 0.87em;
    text-align: center;
    margin-bottom: 14px;
}
.under-line {
    font-weight: bold;
    position: relative;
    padding-bottom: 3px;text-decoration: underline;
}

.id-form-password {
    flex-basis: 100%;
}