@charset "UTF-8";
.button { padding: 8px; background-color: #0079FE; color: #FFFFFF; text-align: center; }

.button:focus { background-color: #164962; }

.button.is_large { padding: 16px; font-size: 16px; }

.button.is_small { padding: 4px; }

.button.is_wide { padding: 8px 24px; }

.button.is_large-wide { padding: 12px 36px; }

.button.is_small-wide { padding: 4px 12px; }

.button.is_dark-gray { background: #969696; }

.button.is_radius { border-radius: 50px; }

.button.is_hidden { display: none; }

.button.is_low { padding-top: 4px; padding-bottom: 4px; }

.label { font-weight: bold; }

.label.is_radius { border-radius: 24px; background-color: #E8E8EA; padding: 8px; }

.label.is_row { padding: 4px 8px; }

.label.is_wide { padding: 2px 8px; }

.label.is_normal { font-weight: normal; }

.wise-icon.is_active { color: #3888AF; }

.input-text { background-color: #FFFFFF; border: solid 1px #707070; padding: 8px; font-size: 16px; }

.input-text.is_error { border-color: #FF7979; background: #FFF4E0; }

.input-text-font-very-large { background-color: #FFFFFF; border: solid 1px #707070; padding: 8px; font-size: 32px; font-weight: bold; }

.input-text-font-very-large.is_error { border-color: #FF7979; background: #FFF4E0; }

.icon-text { display: flex; align-items: center; line-height: 1.0em; /* フォームエラー用 */ }

.icon-text .icon { margin: 0 4px 0 0; }

.icon-text.form-error-text { color: #cc0000; padding: 8px; font-size: 16px; font-weight: bold; }

.icon-text-column { display: inline-flex; flex-direction: column; align-items: center; }

.icon-text-column .icon { margin: 0 0 4px 0; }

.link:focus { color: #164962; }

.link-block { display: inline-block; color: #3888AF; border: solid 1px #707070; padding: 8px; }

.link-block:focus { color: #164962; }

.link-block.is_bold { font-weight: bold; }

.caption1 { font-size: 24px; }

.caption2 { font-size: 20px; }

.caption3 { font-size: 16px; }

.caption4 { font-size: 14px; }

.caption1, .caption2, .caption3, .caption4 { font-weight: normal; }

.caption1.is_bold, .caption2.is_bold, .caption3.is_bold, .caption4.is_bold { font-weight: bold; }

.base-modal { display: flex; flex-direction: column; width: 464px; height: auto; max-height: calc(100% - 70px); background: #F5F5F5; position: fixed; top: 70px; left: calc(50% - (464px / 2)); box-shadow: 0px 0px 1px 1px #ccc; visibility: hidden; opacity: 0; transition: .3s; overflow-y: scroll; z-index: 51; /* 初期値 */ }

.base-modal.is_active { opacity: 1; visibility: visible; }

.base-modal .modal-head { display: flex; justify-content: space-between; flex-shrink: 0; }

.base-modal .modal-head h2 { display: flex; align-items: center;  color: #FFFFFF; flex: 1; padding: 0 16px; }

.base-modal .modal-head .close { display: flex; align-items: center; justify-content: center; width: 56px; height: 56px; color: #47545A; background: #FFFFFF; font-size: 24px; cursor: pointer; }

.base-modal .modal-content { padding: 24px 32px; flex-shrink: 0; flex: 1; }

.base-modal .modal-content > * { flex-shrink: 0; }

.modal-footer { padding: 16px 24px; display: flex; flex-shrink: 0; margin-top: auto; }

.modal-footer a { margin-left: auto; font-size: 20px; }

.modal-footer .decide-button { flex: 1; font-size: 24px; display: flex; align-items: center; justify-content: center; }

.modal-footer .decide-button .icon { margin-right: 8px; }

.is_modal-open .wrapper { position: fixed; }

/* PH3 スマホ対応 */
@media (max-width: 599px) { .responsive-content .modal-patient-sign .patient-sign-edit { padding: 8px; }
  .responsive-content .modal-patient-sign .patient-sign-edit .button { width: 80px; }
  .responsive-content .modal-patient-sign .modal-content, .responsive-content .modal-patient-sign .modal-footer { padding: 0; } }

.overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; height: 100vh; background: #FFFFFF; visibility: hidden; opacity: 0; transition: .3s; z-index: 50; /* 初期値 */ }

.overlay.is_active { visibility: visible; opacity: .8; }

.modal-login-help { width: 80%; left: 10%; }

.modal-login-help h3 { padding: 8px; color: #cc0000; border-bottom: solid 1px #707070; }

.modal-login-help ul { padding: 8px; margin-bottom: 16px; }

.modal-login-help ul li { padding: 8px; font-size: 16px; border-bottom: solid 1px #707070; }

.modal-login-help .close-button { display: block; margin: 0 auto; }

.error-panel { border: 1px solid #FF7979; background: #FFF4E0; padding: 16px; }

.error-panel .error-title { color: #B40505; font-size: 16px; font-weight: bold; }

.error-panel .error-title .icon { font-size: 20px; }

.error-panel .error-item { font-style: 16px; padding: 8px; }

.error-panel .error-item + .error-item { border-top: solid 1px #707070; }

.content .error-panel { margin-bottom: 24px; }

.container > .error-area .error-panel { margin: 16px 24px; }

.login-form ul { padding: 8px; margin-bottom: 16px; }

.login-form ul li { padding: 8px; font-size: 16px; }

/* ロード中 */
#now_loading, #now_loading_api {
  position: fixed;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  display: none;
  z-index: 1100;
  vertical-align: middle;
  padding-top: 300px;
}

.floating_bars_g {
  position: relative;
  margin: 0 auto;
  width: 62px;
  height: 77px;
}

.block_g {
  position: absolute;
  background-color: #4E90F3;
  width: 10px;
  height: 24px;
  -moz-border-radius: 8px 8px 0 0;
  -moz-transform: scale(0.4);
  -moz-animation-name: fadeG;
  -moz-animation-duration: 0.64s;
  -moz-animation-iteration-count: infinite;
  -moz-animation-direction: linear;
  -webkit-border-radius: 8px 8px 0 0;
  -webkit-transform: scale(0.4);
  -webkit-animation-name: fadeG;
  -webkit-animation-duration: 0.64s;
  -webkit-animation-iteration-count: infinite;
  -webkit-animation-direction: linear;
}

.rotate_g_01 {
  left: 0;
  top: 28px;
  -moz-animation-delay: 0.24000000000000005s;
  -moz-transform: rotate(-90deg);
  -webkit-animation-delay: 0.24000000000000005s;
  -webkit-transform: rotate(-90deg);
}

.rotate_g_02 {
  left: 8px;
  top: 10px;
  -moz-animation-delay: 0.32s;
  -moz-transform: rotate(-45deg);
  -webkit-animation-delay: 0.32s;
  -webkit-transform: rotate(-45deg);
}

.rotate_g_03 {
  left: 26px;
  top: 3px;
  -moz-animation-delay: 0.4s;
  -moz-transform: rotate(0deg);
  -webkit-animation-delay: 0.4s;
  -webkit-transform: rotate(0deg);
}

.rotate_g_04 {
  right: 8px;
  top: 10px;
  -moz-animation-delay: 0.4800000000000001s;
  -moz-transform: rotate(45deg);
  -webkit-animation-delay: 0.4800000000000001s;
  -webkit-transform: rotate(45deg);
}

.rotate_g_05 {
  right: 0;
  top: 28px;
  -moz-animation-delay: 0.56s;
  -moz-transform: rotate(90deg);
  -webkit-animation-delay: 0.56s;
  -webkit-transform: rotate(90deg);
}

.rotate_g_06 {
  right: 8px;
  bottom: 7px;
  -moz-animation-delay: 0.64s;
  -moz-transform: rotate(135deg);
  -webkit-animation-delay: 0.64s;
  -webkit-transform: rotate(135deg);
}

.rotate_g_07 {
  bottom: 0;
  left: 26px;
  -moz-animation-delay: 0.72s;
  -moz-transform: rotate(180deg);
  -webkit-animation-delay: 0.72s;
  -webkit-transform: rotate(180deg);
}

.rotate_g_08 {
  left: 8px;
  bottom: 7px;
  -moz-animation-delay: 0.8s;
  -moz-transform: rotate(-135deg);
  -webkit-animation-delay: 0.8s;
  -webkit-transform: rotate(-135deg);
}

@-moz-keyframes fadeG {
  0% {
    background-color: #FFFFFF;
  }
  100% {
    background-color: #4E90F3;
  }
}

@-webkit-keyframes fadeG {
  0% {
    background-color: #FFFFFF;
  }
  100% {
    background-color: #4E90F3;
  }
}
