@charset "UTF-8";

html , body { height : 100%;  min-height: 0vw; }
html {
  font-size:8px;
}
nav + .container-fluid {
  min-height : calc( 100vh - 325px );
}

body {
  line-height : 1.5;
  font-family:Verdana,"Segoe UI",Roboto,"Helvetica Neue", "Noto Sans","Open Sans" , Helvetica,Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans CJK JP","Noto Sans JP","BIZ UDPGothic", Meiryo, sans-serif;
    font-size:1.5rem;
    word-break: auto-phrase;
    text-spacing-trim:normal;
    text-box: trim-both cap alphabetic;
}

.container-fluid>.navbar-collapse, .container-fluid>.navbar-header, .container>.navbar-collapse, .container>.navbar-header {
  margin-left:0px;
  margin-right:0px;
}

.table>tbody>tr>th, .table>tfoot>tr>th, .table>thead>tr>th {
  font-family:Verdana,"Segoe UI",Roboto,"Helvetica Neue", "Noto Sans","Open Sans" , Helvetica,Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans CJK JP","Noto Sans JP","BIZ UDPGothic", Meiryo, sans-serif;
}

.card-content #text a {
  margin-right:0px;
}

.card .card-image iframe , .card .card-image video {
  aspect-ratio: 16 / 9;
  max-height:max(720px,50vh);
}

.card .card-image img {
  max-height:max(720px,50vh);
}

.card .card-content #text img {
  height:100%;
  width:100%;
}

.card .card-action {
  padding:clamp(1rem, 0.571rem + 2.14vw, 4rem);
}

.card .card-action a.btn-primary {
    color:white;
}

.card .card-action a.btn-primary:hover {
    color:white;
}

.btn-primary {
  background-image:none;
}

.btn-link:focus {
  outline:none;
}

.form-control::placeholder {
  color:#aaa !important;
}

/* ヘッダー */
.navbar-nav {
  float : none;
}

.navbar-brand-center {
    position: absolute;
    width: 100%;
    left: 0;
    top: -5px;
    text-align:center;
}

.navbar-header .logo {
  height:144px;
  margin:7px;
}

@media (min-width: 768px) {
    .navbar-brand-center {
        margin-left: 0 !important;
    }

    .navbar-right {
        margin-right : 0px;
    }

}

@media (max-width: 480px) {
    .navbar-brand-center {
        position : relative;
    }

    .navbar-default .navbar-collapse {
        border-color : transparent;
    }
}

#navbar-header , .navbar-header {
  float:none;
  min-height:50px;
}

.navbar-header h1 {
  margin:auto 0px;
}

@media (min-width: 768px) {
  #navbar-header , .navbar-header {
    float:none;
  }
}

.navbar-collapse {
  border-top : 0;
  box-shadow : none;
}

.navbar-collapse.collapse {
  display : block !important;
}

#navbar.navbar-collapse.collapse {
  display:none !important;
}

#navbar.navbar-collapse.collapse.in {
  display:block !important;
}

#navbar li {
  display:block !important;
  float:none;
}

.navbar-right {
  float : right;
}

/* カード */
.card .card-image img {
    width : auto;
    max-width : 100%;
}

.card-pf-aggregate-status .card-pf-title ,
.card-pf-aggregate-status .card-pf-title .btn {
  line-height:1.1;
  padding:0px;
  vertical-align:baseline;
}

.card-pf-aggregate-status .card-pf-body a ,
.card-pf-aggregate-status .card-pf-body .btn {
  color : #363636;
  line-height:1.1;
  padding:0px;
  vertical-align:baseline;
}

.card-pf-aggregate-status .card-pf-body a:hover {
    color : #00659c;
}

.card a {
    color : #0088ce;
    text-transform: none;
}

.card a:hover {
  color: #00659c;
  text-decoration : none;
}

.dataTables_wrapper , .dataTables_wrapper table {
  width:calc(100vw - 40px);
}

#information .dataTables_wrapper {
  width:100%;
}

.modal-body .dataTables_wrapper , .dataTables_wrapper table {
  width:100%;
}

.table {
  table-layout:fixed;
}

.panel .table {
  margin-top : 0px;
}

.table>tbody>tr>th {
  background-image: linear-gradient(to bottom,#fafafa 0,#ededed 100%);
  text-align : center;
  vertical-align : middle;
}

.table>tbody>tr>th, .table>tfoot>tr>th, .table>thead>tr>th {
  text-align : center;
  vertical-align : middle;
  white-space:pre-line;
  word-break:break-word;
}

.table>thead>tr>th.table-view-pf-select {
  text-align:left;
  width:50px;
  max-width:50px;
  white-space:nowrap;
}

.no {
  width:clamp(8.75rem, 7.955rem + 3.98vw, 17.5rem);
}

.title {
  width:50%;
}

@media (max-width: 768px) {
  .title {
    width:25%;
  }
}

.action {
  width:max(10vw,80px);
}

.table .checkbox {
  width:50px;
  display:inline-block;
}

.table>thead>tr>th , .table>tbody>tr>td {
  vertical-align : middle;
  padding : 10px;
  white-space:pre-line;
  word-break:break-word;
}

.table>tbody>tr>td>img {
  width : auto;
  max-width : 100%;
}

.table>tbody>tr>td>.form-group {
  margin : 5px 15px;
}

#lecture form .btn-lg , #exercises form .btn-lg , #test form .btn-lg {
  white-space:pre-line;
  width:100%;
  text-align:left;
}

#lecture .dropdown-menu form .btn-lg ,
#exercises .dropdown-menu form .btn-lg ,
#test .dropdown-menu form .btn-lg {
  text-align:center;
}

.table-responsive .table {
  margin-top : 0px;
}

.dataTables_empty {
  padding : 0px !important;
}

.table-hover>tbody>tr:hover>td.dataTables_empty {
  border-bottom-color:#d1d1d1;
}

.blank-slate-pf {
  margin:0px;
  border : none;
}

.table-view-pf-empty.blank-slate-pf {
  background-color : #fefefe;
  border : none;
}

footer {
  height : 50px;
  margin-top : 20px;
}

.form-control::placeholder {
  font-style:normal;
  color:#999;
}

.form-group .control-label .label {
  margin-right: 5px;
}

.form-horizontal .form-group-lg .control-label {
  font-size: 14px;
}

@media (max-width: 991px) {
  .form-horizontal .form-group-lg .control-label {
    margin-bottom: 10px;
  }
  .form-group .control-label .label {
    margin-right: 10px;
  }
}

/* モーダル表示バグ */
.modal {
  padding : 0 !important;
}

.modal-open {
  padding : 0 !important;
  overflow: auto;
}

.modal-dialog{
  display: flex;
  align-items: center;
  justify-content:center;
  min-height: 100%;
  margin: 0px auto !important;
}

.modal-content {
  width:100%;
}

.modal-lg {
  width:80vw;
}

/* アラートデザイン変更 */
.alert {
  padding : 15px;
}

.alert-info {
  background-color : #def3ff;
  border-color : #7dc3e8;
}

.alert-info a {
  color : #00659c;
}
.alert .pficon-info {
  color: #0088ce;
}

.toast-pf.alert-info>.pficon {
  background-color : #0088ce;
}

hr {
  border-top : 1px solid #d1d1d1;
  margin : 5px 0px;
}

.toast-pf {
  font-weight : bold;
  padding-left : 70px;
}

.alert-dismissable .close {
  right : 10px;
}

.toast-pf-max-width {
  width : 100%;
  max-width : 100%;
}

.radio  , .checkbox {
  font-size : 18px;
  text-align : left;
}

.radio label , .checkbox label {
  padding: 5px 30px 5px 15px;
  display : block;
}

.input-group-addon.radio label , .input-group-addon.checkbox label {
  padding : 0px;
}

table tr .radio label , table tr .checkbox label {
  padding: 5px 0px 30px 5px;
}

.radio-inline label , .checkbox-inline label {
  display : inline-block;
}

.radio label::before , .checkbox label::before {
  width : 27px;
  height : 27px;
}

.input-group-addon.radio label::before , .input-group-addon.checkbox label::before {
  width : 17px;
  height : 17px;
  margin-left: -15px;
}

.radio label::after {
  width : 21px;
  height : 21px;
  margin-top : 5px;
}

.input-group-addon.radio label::after {
  width : 11px;
  height : 11px;
  margin-left: -15px;
  margin-top : 0px;
}

.input-group-addon.checkbox label::after {
  width : 11px;
  height : 11px;
  margin-left: -15px;
  margin-top : 0px;
  font-size:14px;
}

.checkbox label::after {
  width : 26px;
  height : 26px;
  font-size : 18px;
  margin-top : 5px;
}

input[type=radio] {
  margin : 0px;
  width : 27px;
  height : 27px;
}

.input-group-addon input[type=radio] {
  margin : 0px;
  width : 17px;
  height : 17px;
  margin-left: -15px;
}

.radio-label , .checkbox-label {
  border-left :none;
}

input[type=checkbox] {
  margin : 0px;
  width : 26px;
  height : 26px;
}

input[type=checkbox]:focus, input[type=radio]:focus {
  outline:none !important;
  outline-offset:0px !important;
}

.checkbox input[type=checkbox]:focus+label::before, .checkbox input[type=radio]:focus+label::before {
  outline:none !important;
  outline-offset:0px !important;
}

.radio input[type=checkbox]:focus+label::before, .radio input[type=radio]:focus+label::before, {
  outline:none !important;
  outline-offset:0px !important;
}

#btnsets , #txtbtnend {
  font-size : 24px;
  padding-bottom: 20px;

}

.bootstrap-touchspin .input-group-btn-vertical>.btn {
  padding:7.75px 10px;
}

@media (min-width: 992px) {
  .form-horizontal .has-feedback .form-control-feedback {
    right : -10px;
  }
}

@media (max-width: 991px) {
  .form-horizontal .has-feedback .form-control-feedback {
    top:-30px;
  }
}

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

.popover {
  max-width:max(250px,45vw);
}

.popover-content dl {
  display:flex;
  flex-wrap:wrap;
  width:100%;
  margin-bottom:0px;
}

.popover-content dl dt , .popover-content dl dd {
  width:max(100px,50%);
}

#answer .modal-dialog , #fb .modal-dialog {
  width:95vw;
}

#answer .modal-content {
  box-shadow:none;
  border:none;
  background-color:inherit;
}

.tooltip-inner{
  max-width: 100%;
  font-size:16px;
}

#fb .fa {
  font-size:min(320px,25vw);
}

#login {
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height : calc( 100vh - 250px );
}

.sso {
  width:215px;
  margin: 10px auto 10px auto;
}

.sso a {
  width:215px;
  height:50px;
  color:#fff;
  display:flex;
  justify-content:center;
  align-items:center;
}

.sso a:hover {
  color:#f0f0f0;
}
