/* ポートフォリオ共通 */
input[type=checkbox], input[type=radio], input[type=range] {
  accent-color: #0075ff;
}

/* ポートフォリオテンプレート作成 */
.btn-circle {
  border-radius: 50% !important;
  padding: 0.2em;
  width: 2.5em;
}

.border-line {
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 1px;
  padding: 15px !important;
}

/* グループ移動 */
.btn-group-move {
  color: #fff;
  background-color: #676565;
  border-color: #676565;
}

/* フォーム移動 */
.btn-form-move {
  color: #fff;
  background-color: #676565;
  border-color: #676565;
}

.btn-answer-move {
  color: #fff;
  background-color: #676565;
  border-color: #676565;
}

.delete-form-btn {
  padding: 5px 10px;
  font-size: 12px;
  line-height: 5;
}

.btn-portfolio-form {
  width: 3.5rem;
  height: 3.5rem;
  padding: 0;
}

.btn-portfolio-group {
  width: 8rem;
  height: 3.5rem;
  padding: 0;
}

.pf-side-column {
  text-align: right;
}
@media screen and (max-width: 992px)  {
  .pf-side-column {
    text-align: left;
  }
}

/* 必須 */
.hissu {
  background-color: #FF0000;
  padding: 4px 8px;
  color: #f5f5f5;
  margin-left: 5px;
  margin-right: 5px;
  font-size: 1rem;
  vertical-align: text-bottom !important;
  min-width: 50px;
  text-align: center;
}

.mt8 {
  margin-top: 15px !important;
}

/* ポートフォリオテンプレート作成: 必須／必要数の設定フォーム */
.js-is-require-num-form > div,
.js-is-require-num-form input {
  float: left;
}
.js-is-require-num-form .require-num-block {
  width: 145px;
  margin: 0 10px;
}
.js-is-require-num-form .require-num-block span {
  line-height: 35px;
  padding-left: 10px;
}

/* ポートフォリオテンプレート作成: 質問欄: 項目ラベルブロック */
.ptf-c-label-block {
  float: left;
  width: 70px;
  display: block;
}

/* ポートフォリオテンプレート作成: 質問欄: 内容ブロック */
.ptf-c-text-block {
  width: calc(100% - 70px);
  display: inline-block;
}

/* ポートフォリオ記録 */

.record-table {
  border-collapse: collapse;
  border-spacing: 0;
  word-wrap: break-word;
  /* width: 90%; */
}

.record-table th {
  border: none;
  font-weight: normal;
  text-align: center;
  padding: 5px 10px;
  max-width: 200px;
}

.record-table td {
  text-align: center;
  padding: 5px 10px;
}

.record-table tr td:last-child {
  padding-left: 10px !important;
}


.result-table th, .result-table td {
  border: 1.5px solid black; /* You can customize the border color and style */
  box-sizing: border-box;
  font-weight: normal;
  text-align: center;
  padding: 5px 30px;
}

.base-reason-radio-btn input[type="radio"]:disabled {
  -webkit-appearance: none;
  display: inline-block;
  width: 13px;
  height: 13px;
  padding: 0px;
  background-clip: content-box;
  border: 2px solid #dad7d7;
  background-color: #fff;
  border-radius: 50%;
}
.base-reason-radio-btn input[type="radio"]:checked {
  background-color: #0075ff;
}

.record-checkbox {
  pointer-events: none;
  margin-top: 5px;
}

.table-tabular {
  font-weight: normal;
}
.table-tabular th {
  border: 1px solid #000;
  box-sizing: border-box;
  font-weight: normal;
  text-align: center;
  padding: 15px;
}
.table-tabular td {
  border: 1px solid #000;
  box-sizing: border-box;
  text-align: center;
  padding: 10px;
}


.table-result-base {
  font-weight: normal;
  min-width: 50%;
  max-width: 100%;
  table-layout: fixed;
  overflow-y: auto;
  word-break: break-all;
}

.table-result-base th,
.table-result-base td {
  border: 1.5px solid #000;
  box-sizing: border-box;
  font-weight: normal;
  text-align: center;
  padding: 10px;
}

.table-result-bar {
  width: 100% !important;
}

.table-result-select th,
.table-result-select td{
  min-width: 100px;
  max-width: 250px;
}
.table-scroll-bar {
  overflow-x: auto;
}
.table-result-bar th{
    background-color: #e0f0ff;
  }

.table-result-text {
  width: 100% !important;
}

.text-left {
  text-align: left !important;
}

.table-result-tabular {
  width: 100% !important;
}

.table-result-tabular th,
.table-result-tabular td:first-child,
.table-result-tabular td:nth-child(2) {
    background-color: #e0f0ff;
}

.table-result-text th:first-child,
.table-result-text td:first-child {
    width: 45px;
}

.table-result-tabular th:first-child,
.table-result-tabular td:first-child {
    width: 45px;
    min-width: 45px;
    max-width: 45px;
    padding: 0;
}

.table-result-table th,
.table-result-table td{
  min-width: 100px;
  max-width: 250px;
}

.table-scroll-table {
  overflow-x: auto;
}
.table-goal th:nth-child(2),
.table-goal td:nth-child(2) {
  width: 15rem !important;
}

.result-selected {
  background-color: #F0774C;
}
.result-gray{
    background-color: #eee;
}

.result-orange-box {
  background-color: #F0774C;
  width: 5px;
  padding: 0px 8px 0px 8px;
  margin: 5px;
  border: 2px solid black;
  box-sizing: border-box;
  border-radius: 2px;
}

.text-left {
  text-align: left !important;
}

/* 回答ラベル */
.rating-star > i {
  color: #fff;
  font-size: 1em;
}

.rating-hover > i {
  color: #ff0 !important;
  cursor: pointer;
}

.rating-chosen > i {
  color: #ff0 !important;
}

.no-rating > i {
  color: #fff;
}

i {
  text-shadow: 0px 0px 3px grey;
}

/* ポートフォリオ記録入力エラー */
.pf-error-message .error-message {
  width: 75% !important;
}

/* ポートフォリオ：講義別 */

.gray-button {
  background-color: #C2BEBE !important;
  color: #fff !important;
}

.disabled-link {
  pointer-events: none;
  color: #999;
  text-decoration: none;
}

/* 記録：登録更新: 回答: 表テーブル／ルーブリック */

.answer-table-wrap {
  overflow-x: auto;
  max-width: calc(100% - 100px);
  padding-bottom: 10px;
  margin-left: 0;
  margin-right: 0;
}
.answer-table-wrap table {
  table-layout: fixed;
}

table>thead>tr>td.js-c-table-row-add-btn-row,
table>tbody>tr>td.js-c-table-row-add-btn-row,
table>thead>tr>td.js-c-table-row-delete-btn-row,
table>tbody>tr>td.js-c-table-row-delete-btn-row {
  position: relative;
  height: 50px;
  width: 30px;
  min-width: 30px;
  padding: 5px;
}

table>thead>tr>td.js-c-table-col-add-btn-row,
table>tbody>tr>td.js-c-table-col-add-btn-row,
table>thead>tr>td.js-c-table-col-delete-btn-row,
table>tbody>tr>td.js-c-table-col-delete-btn-row {
  position: relative;
  height: 30px;
  padding: 5px;
}

table>thead>tr>td.js-c-table-row-add-btn-row .row-add-btn-block,
table>tbody>tr>td.js-c-table-row-add-btn-row .row-add-btn-block {
  position: absolute;
  margin-top: calc(50% - 50px);
  z-index: 1;
}

table>thead>tr>td.js-c-table-col-add-btn-row .col-add-btn-block,
table>tbody>tr>td.js-c-table-col-add-btn-row .col-add-btn-block {
  position: absolute;
  margin-left: calc(50% - 5px);
  z-index: 1;
}

table>thead>tr>td.js-c-table-row-add-btn-row .row-add-btn-block,
table>tbody>tr>td.js-c-table-row-add-btn-row .row-add-btn-block,
table>thead>tr>td.js-c-table-col-add-btn-row .col-add-btn-block,
table>tbody>tr>td.js-c-table-col-add-btn-row .col-add-btn-block,
table>tbody>tr>td.js-c-table-row-delete-btn-row .row-delete-btn-block,
table>tbody>tr>td.js-c-table-col-delete-btn-row .col-delete-btn-block {
  padding: 0px;
}

table>thead>tr>td.js-c-table-row-add-btn-row .row-add-btn-block .btn-circle,
table>tbody>tr>td.js-c-table-row-add-btn-row .row-add-btn-block .btn-circle,
table>thead>tr>td.js-c-table-col-add-btn-row .col-add-btn-block .btn-circle,
table>tbody>tr>td.js-c-table-col-add-btn-row .col-add-btn-block .btn-circle,
table>tbody>tr>td.js-c-table-row-delete-btn-row .row-delete-btn-block .btn-circle,
table>tbody>tr>td.js-c-table-col-delete-btn-row .col-delete-btn-block .btn-circle {
  padding: 0;
  width: 20px;
  height: 20px;
  z-index: 1;
}
table.js-template-confirm-answer-table {
  max-width: none;
}
table.js-template-confirm-answer-table>tbody>tr>th:first-child {
  min-width: 200px;
}

table.js-template-entry-answer-table {
  max-width: none;
}

table.js-template-confirm-answer-table>thead>tr>th,
table.js-template-confirm-answer-table>tbody>tr>th,
table.js-template-entry-answer-table>thead>tr>th,
table.js-template-entry-answer-table>tbody>tr>th {
  position: relative;
  background-color: #e0f0ff;
  color: #555;
  vertical-align: middle;
  font-weight: bold;
  min-width: 100px;
  max-width: 250px;
}

table.js-template-confirm-answer-table>thead>tr>td,
table.js-template-confirm-answer-table>tbody>tr>td,
table.js-template-entry-answer-table>thead>tr>td,
table.js-template-entry-answer-table>tbody>tr>td {
  position: relative;
  color: #555;
  vertical-align: middle;
}

/* BORDER */
table.js-template-confirm-answer-table>thead>tr>th,
table.js-template-confirm-answer-table>thead>tr>td,
table.js-template-confirm-answer-table>tbody>tr>th,
table.js-template-confirm-answer-table>tbody>tr>td,
table.js-template-entry-answer-table>thead>tr>th,
table.js-template-entry-answer-table>thead>tr>td,
table.js-template-entry-answer-table>tbody>tr>th,
table.js-template-entry-answer-table>tbody>tr>td {
  background-clip: padding-box;
  border: 1px solid #ddd;
  border-left-width: 0;
  border-top-width: 0;
  border-right-width: 1px;
  border-bottom-width: 1px;
}
table.js-template-entry-answer-table>thead>tr>th,
table.js-template-entry-answer-table>thead>tr>td,
table.js-template-entry-answer-table>tbody>tr>th,
table.js-template-entry-answer-table>tbody>tr>td {
  vertical-align: top;
}
table>thead>tr>td.js-c-table-row-add-btn-row,
table>tbody>tr>td.js-c-table-row-add-btn-row {
  vertical-align: bottom;
}
table>thead>tr>td.js-c-table-row-delete-btn-row,
table>tbody>tr>td.js-c-table-row-delete-btn-row {
  vertical-align: middle;
}
table.js-template-entry-answer-table>tbody>tr>td .textarea {
  margin-left: 5px;
}
table.js-template-entry-answer-table>tbody>tr>td .textarea textarea.caption-text {
  height: 100%;
}
table.js-template-confirm-answer-table>tbody>tr>th,
table.js-template-entry-answer-table>tbody>tr>th {
  border-left-width: 1px;
}

table.js-template-confirm-answer-table>thead:first-child>tr:first-child>th,
table.js-template-entry-answer-table>thead:first-child>tr:first-child>th {
  border: 1px solid #ddd;
  border-left-width: 1px;
  border-top-width: 1px;
}
table.js-template-entry-answer-table .textarea textarea.caption-text {
  height: 50px;
  max-width: 100%;
  line-height: 1.3;
  padding: 5px;
}

[data-formtype="Table"].js-c-answer-list-wrap {
  width: 100%;
  overflow-x: auto;
}
table.js-template-entry-answer-table>thead>tr>th,
table.js-template-entry-answer-table>tbody>tr>th {
  width: 120px;
  max-width: 250px;
}

/* 記録：登録更新: 回答: ファイルアップロード */

input[type="file"].sample-file-form {
  height:auto;
  border: none;
  background: none;
  box-shadow: none;
}

/* チェックボックスのエラー時の表示崩れ回避用 */
input[type=checkbox].form-error.form-control,
input[type=radio].form-error.form-control {
  display: inherit;
  width: inherit;
  height: inherit;
}

/* ファイル形式の選択フォームにて、チェック項目の横並び */
.filetype-check-list-block .checkbox {
  float: left;
  margin-top: 10px;
  margin-right: 20px;
  margin-bottom: 5px;
  line-height: 20px;
}

/* 入力： 複数選択形式 */
.multiChoiceRow > div {
  float: left;
  margin-top: 0;
  margin-right: 15px;
}

/* 入力： スライダー形式 */
.js-slider-container .js-slider-value {
  font-weight: bold;
  font-size: 16px;
}

/* 入力： レベル選択 */
.rating-container td {
  max-width: 200px;
}

/* 入力フォーム */
.entry-wrap {
  word-break: break-all;
}

/* 学生：一覧*/
.table-header-border {
  border-right: 1px solid #dbd7d7 !important;
}

/* テーブルのラジオ選択 */
.js-template-entry-answer-table tr > td:hover {
  cursor: pointer;
}

/* 横並びのラジオボタン */
.flex-radio {
  display: flex;
  /* justify-content: space-around; */
  align-items: center;
}

/* 必須入力 */
input.form-require,textarea.form-require,select.form-require{
	background:#FFE0E0;
}

/* オプション選択: 「その他」入力フォーム */
.option-choice-item {
  float: left;
  margin-right: 15px;
  margin-bottom: 25px;
  word-break:break-word;
}
.option-choice-item div,
.option-choice-item label {
  float: left;
}

.option-choice-item div input[type="text"] {
  margin-left: 10px;
  width: auto;
}

/*
  ポートフォリオテンプレート作成/記録
  テキストエリア横幅固定
*/
textarea {
  resize: vertical;
}
table tr th.js-c-content-row textarea,
table tr td.js-c-content-row textarea {
  resize: auto;
}

/*
* 集計予約
*/
.sticky-table-wrap {
  max-height: 500px;
  overflow-y: auto;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}
.sticky-table-wrap table thead tr th {
  top: -1px;
  left: 0;
  position: sticky;
  z-index: 1;
}

/* 集計予約登録・変更：選択したテンプレート */
#selectTemplateListBlock {
  max-height: 350px;
  overflow-y: auto;
}

.portfolio-question-font {
  font-size: 1.1em !important;
}

.radarChart{
    float: left;
    border: 2px solid #999;
    padding: 15px 0 0 0;
}

.barGraph{
    width: 100%;
    float: left;
}
.studentBarGraph{
    max-width:100%
}

.portfolio-goal-graph {
  width: 100%;
}

.jqplot-axis.jqplot-xaxis {
  box-shadow: none !important;
}

table.jqplot-table-legend, table.jqplot-cursor-legend {
  border: none !important;
}

table.jqplot-table-legend tbody tr td.jqplot-table-legend-label {
  padding-right: 7px;
}

.graphSlide{
    position: relative;
    width:50%; 
    height: 350px;
}

.hanrei-list-ul {
  display: table;
  list-style-type: none;
  padding: 0;
  text-align: center;
  width: auto;
  min-width: 100px;
  margin: 0px auto 10px auto;
  top: 50%;
}

.hanrei-list-ul > li {
  display: table-cell;
  list-style: none;
  padding-right: 5px;
  text-align: center;
  padding-left: 5px;
}

.hanrei-item {
  text-align: center;
  padding-top: 0px;
  width: 100%;
  font-size: 11px;
  color: #666;
}

.hanrei-item > .hanrei-color-border-block {
  border: 1px solid #ccc;
  padding: 1px;
  display: inline-block;
  vertical-align: middle;
  margin-right: 2px;
}

.group-contents,
.group-questions-section,
.question-section {
  padding-left: 50px;
  margin-right: auto;
  padding-top: 10px;
  margin-left: 0;
}

.portfolio-group-bg-color {
  background-color: #fffbed;
}

.group-questions-section .question-section {
  padding-left: 0px;
}

.answer-section {
  margin-left: 0px;
  margin-right: 0px;
}

.panel-heading .panel-title {
  padding-left: 15px;
}

.template-gr-bg-color {
  background-color: #c9dfc9;
  padding: 15px 10px;
  margin-left: 5px;
  margin-right: 5px;
}

.reason{
    color: #0080FF;
    text-decoration: none;
    font-weight: bold;
    cursor: pointer;
}
.reason:hover{
    text-decoration: underline; 
}

.reason-basic{
    margin: 0px 30px 30px 30px;
}

.reason-table_header {
    position: sticky; /* 固定位置指定 */
    top: 0; /* 上端に固定 */
    z-index: 100; /* ズームレベルを設定 */
    background-color: #e0f0ff; /* ヘッダーの背景色を設定 */
}
/* 集計結果タブのモーダル */
.aggregate-result-modal {
    display: none; /* 最初は非表示 */
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.5); /* 半透明の背景 */
}

.aggregate-result-modal-content {
    background-color: #fefefe;
    margin: 30px auto; /* モーダルを中央に配置 */
    padding: 20px;
    border: 1px solid #888;
    width: 90%;
    height: auto;
}

/* ×ボタンのスタイル */
.cross {
    color: #aaa;
    float: right;
    font-size: 28px;
    font-weight: bold;
}

.cross:hover,
.cross:focus {
    color: black;
    text-decoration: none;
    cursor: pointer;
}

/* テキスト、テキストエリアの使用可能記号モーダル */
#symbolList{
  font-size: 18px;
  border-right: 1px solid #e9ecef;
}

#symbolList span {
  padding: 10px 20px;
  background-color:#e0f0ff;
}

/* レベル選択のスタイル */
.preview_level label{
  /* デフォルトカラー */
  color: #D2D2D2;
  cursor: pointer;
}

.preview_level input[type='radio']{
  display: none;
}

/* レベル選択：チェックorホバー時に色を変える */
.preview_level .level_option:hover,
.preview_level:has(.level_option input:hover) .level_option:not(:hover ~ .level_option),
.preview_level:has(.level_option input[type='radio']:checked):not(:has(.level_option:hover)) .level_option:not(:has(input[type='radio']:checked) ~ .level_option){
  color: #F8C601;
}

.preview_level label .color-black {
  color: #000 !important;
}
.inactive .btn_icon {
    pointer-events: none;
}

/* シラバス詳細画面：レベル選択のスタイル */
.disp_level label{
  /* デフォルトカラー */
  color: #D2D2D2;
}
.disp_level input[type='radio']{
  display: none;
}
/* シラバス詳細画面：レベル選択：チェックされているレベルまでの色を変える */
.disp_level:has(.level_option input[type='radio']:checked) .level_option:not(:has(input[type='radio']:checked) ~ .level_option) {
  color: #F8C601;
}
.disp_level label .color-black {
  color: #000 !important;
}

/* 第三者への公開フラグ */
.third_party_private {
  display: block;
  background-color:#C2BEBE;
  text-align:center;
  margin: 10px;
  padding: 10px;
}

.table-counter-count {
  width:80px;
}

.table-counter-date {
  width:200px;
}

.btn-icon-readonly {
  color:#999999;
  cursor:default !important;
}

/* 表内の文字が長くなる場合の丸め用クラス ここから */
.truncateable {
  position: relative;
}

.truncateable-text {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.truncateable-hidden-text {
  display: none;
}

.truncateable:hover .truncateable-hidden-text {
  display: block;
  position: absolute;
  background-color: #fff;
  border: 1px solid #ccc;
  top: 100%;
  left: 0;
  padding: 10px;
  max-width: 300px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  white-space: nowrap;
  z-index: 100;
}
/* 表内の文字が長くなる場合の丸め用クラス ここまで */

/* レスポンシブ設定 */
@media screen and (max-width: 768px) {
    .searchTb{
        width: 70%;
    }

    .hissu{
        line-height:5;
        margin: 1px
    }

    .result-basic-div {
        width: 100%;
        overflow-x: auto;
    }
    #result-basic .table,
    #result-basic .table-scroll {
        width: auto;
        min-width: 100%;
        border-collapse: collapse;
        border-left: none;
    }

    #result-basic .table th, 
    #result-basic .table td,
    #result-basic .table-scroll th, 
    #result-basic .table-scroll td{
        word-break: break-all;
        vertical-align: middle;
        text-align: left;
    }
    #result-basic .table-result-tabular th:first-child,
    #result-basic .table-result-tabular td:first-child {
        text-align: center;
    }

    .table-result-tabular {
        width: auto !important;
      }

    .record-table {
        width: 100%;
        -ms-writing-mode : tb-lr;
        writing-mode : vertical-lr;
    }
    .record-table th{
        writing-mode: horizontal-tb;
        white-space : normal;
        word-break: break-word;
        max-width: 40%;
    }
    .record-table td{
        writing-mode: horizontal-tb;
        white-space : normal;
        word-break: break-word;
        max-width: 40%;
    }
    .record-table tr td + td {
        border-left: none;
    }

    .col-lg-12,.col-lg-5,.col-lg-6,.col-lg-7{
        position: left;
        min-height: 1px;
        max-width: 100%;
    }

    .group-contents {
      padding-left: 10px;
      padding-right: 10px;
      margin-right: 0;
      margin-left: 0;
    }

    .question-section {
      padding-left: 5px;
      padding-right: 5px;
      margin-right: 0;
      margin-left: 0;
    }

    .group-questions-section {
      padding-left: 5px;
      padding-right: 5px;
      margin-right: 0;
      margin-left: 0;
    }

    .group-questions-section .question-section {
      padding-left: 0;
      padding-right: 0;
      margin-right: 0;
      margin-left: 0;
    }

    .panel-heading .panel-title {
      padding-left: 10px;
    }

    .table-section {
      margin-left: 0px;
      margin-right: 0px !important;
    }

    .group-contents > p.portfolio-question-font {
      width: 100%;
    }

    table.js-template-confirm-answer-table>tbody>tr>th:first-child {
        min-width: 30px;
    }

    /* 横スクロール時に固定する */
    table.js-template-entry-answer-table thead tr:first-of-type th:first-of-type,
    table.js-template-entry-answer-table>tbody>tr>th  {
        position: sticky;
        left: 0;
        z-index: 2;
    } 

    .table-scroll{
        border-collapse: separate;
        border-spacing: 0;
    }
    .table-tabular th:first-child,
    .table-tabular td:first-child {
        position: sticky;
        left: 0;
        z-index: 2;
    }
    .table-scroll th:first-child,
    .table-scroll td:first-child {
        position: sticky;
        left: 0;
        background: none;
        border-left: none;
        border-right: none;
        border-collapse: collapse;
    }
    .table-scroll th:nth-child(2),
    .table-scroll td:nth-child(2) {
        position: sticky;
        left: 45px; 
        background: none;
        border-left: none;
        border-right: none;
        border-collapse: collapse;
    }

      .table-scroll th:first-child::before,
      .table-scroll td:first-child::before,
    .table-scroll th:nth-child(2)::before,
    .table-scroll td:nth-child(2)::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0; 
        width: 100%;
        height: 100%;
        border-left: 0.25px solid #000;
        border-right: 0.25px solid #000;
        box-sizing: border-box;
        background: #e0f0ff;
        z-index: -1;

      }

    /* スライダーの横幅設定 */
    .row.sliderValue {
        display:flex;
        width: 100%;
        justify-content: space-between;
    }
    .row.sliderValue:before{
        content: none;
    }
    .row.sliderValue:after{
        content: none;
    }
    .text-right, .text-left{
        padding:0px
    }
    .js-slider-value{
        display: grid;
    place-items: center; 
    }

    .sliderAnswerVal{
        text-align: center;
    }
    .pf-side-column {
        text-align: left;
      }
    .reason-text{
        padding: 5px;
    }

    .row-input .row-table {
        margin-right: -5px;
        margin-left: -5px;
    }
    .answer-table-wrap{
        max-width: 100%;
    }

    .option-choice-item {
        float: none;
        display: flex;
        white-space : normal;
        word-break: break-word;
      }
      .option-choice-item div,
      .option-choice-item label {
        float: none;
      }
      .option-choice-item div input[type="text"] {
        width: 100%;
      }

      .multiChoiceRow > div {
        float: none;
      }

      .radarChart{
        float: none;
        margin: 0 auto;
    }

    .barGraph{
        width: 100%;
        float: none;
    }

    .graphSlide{
        position: relative;
        width:120%; 
    }

    /* 汎用的なもの */
    .m-sp-0 {
      margin: 0 !important;
    }

    .ml-sp-0 {
      margin-left: 0 !important;
    }

    .ml-sp-10 {
      margin-left: 10px !important;
    }

    .mr-sp-0 {
      margin-right: 0 !important;
    }

    .px-sp-10 {
      padding: 0 10px !important;
    }

    .pr-sp-0 {
      padding-right: 0;
    }

    .pl-sp-0 {
      padding-left: 0;
    }

    .pt-sp-15 {
      padding-top: 15px;
    }

    .w-sp-30 {
      width: 30% !important;
    }
    .w-sp-70 {
        width: 70% !important;
      }

    .w-sp-100 {
      width: 100% !important;
    }

    .text-sp-left {
      text-align: left !important;
    }

    table.jqplot-table-legend tbody tr td.jqplot-table-legend-label {
      padding-right: 5px !important;
    }
    table.jqplot-table-legend tbody tr {
      max-width:  50rem !important;
      display: flex !important;
      flex-wrap: wrap !important;
    }
}

/* シラバスPDF用スタイル ここから */
@media print {
  /* 共通 ここから */
  body a {
    background-color: #fff !important;
  }

  .syllabus-print {
    margin: 0;
    padding: 0;
    font-size: 11px !important;
  }

  .syllabus-print table,
  .syllabus-print table thead,
  .syllabus-print table tbody {
    width: 100%;
    margin: 0;
    padding: 0;
    table-layout: fixed;
  }
  /* 共通 ここまで */

  /* 講義情報 ここから */
  .syllabus-print .syllabus-header {
    margin-bottom: 10px;
  }

  .syllabus-print .syllabus-header .table_header,
  .syllabus-print .syllabus-header table td,
  .syllabus-print .syllabus-header table tr {
    border: 1px solid #000;
    font-size: 11px;
  }

  .panel-default {
    border: none !important;
  }

  .panel-heading,
  .panel-body.no-table {
    border: 1px solid #000;
  }

  .syllabus-print .syllabus-header .table_header {
    background-color: #e1eaf5;
    padding: 5px;
    font-weight: bold;
  }

  .syllabus-print .syllabus-header table td {
    padding: 5px;
  }
  /* 講義情報 ここまで */

  /* コンテンツ情報 ここから */
  .syllabus-print .syllabus-content .panel-header-syllabus {
    background-color: #e1eaf5 !important;
    padding: 5px;
    font-weight: bold;
    margin-bottom: -1px;
    border-bottom: 1px solid #000;
    overflow: hidden;
    z-index: 99999;
  }

  .syllabus-print .syllabus-content .panel-body {
    margin-bottom: -1px;
    padding: 0;
  }

  .syllabus-print .syllabus-content .panel-body .row {
    padding: 5px;
  }

  .syllabus-print .syllabus-content table {
    overflow: wrap;
  }

  .syllabus-print .syllabus-content table th,
  .syllabus-print .syllabus-content table td {
    padding: 5px;
    font-size: 11px !important;
  }

  .syllabus-print .syllabus-content table th {
    text-align: center;
  }

  .syllabus-print .syllabus-area {
    border: none;
  }

  .syllabus-print .panel-default .panel-heading,
  .syllabus-print .panel {
    border-radius: 0;
  }

  .syllabus-print .panel {
    box-shadow: none;
    -webkit-box-shadow: none;
    margin-bottom: 10px;
  }
  /* コンテンツ情報 ここから */

  /* デフォルト設定の上書き ここから */
  .table-bordered > thead > tr > th,
  .table-bordered > thead > tr > td {
    border: none;
  }

  .class_plan thead tr th,
  .class_plan tbody tr td {
    border: none;
    border-right: 1px solid #000;
  }

  .class_plan thead tr,
  .class_plan tbody tr {
    border: none;
    border: 1px solid #000;
  }
  /* デフォルト設定の上書き ここまで */
}

/* シラバスPDF用スタイル ここまで */

/* シラバス：授業実施記録一覧検索画面 */
/* アイコンリンク「Moodle」「WebClass」 */
.icon-link {
  width: 24px;
  height: 24px;
}
.icon-link.moodle {
  margin-right: 4px;
  margin-left: 5px;
}

/* 通常時は、スマホ用一覧は表示しない */
/* PC表示 */
.sp-disp {
    display: block;
}
/* スマホ表示 */
.sp-hide {
    display: none;
}

/* レスポンシブ設定 */
@media screen and (max-width: 768px) {
  /* PC表示 */
  .sp-disp {
      display: none;
  }
  /* スマホ表示 */
  .sp-hide {
      display: block;
  }

  /* 一覧表示 */
  /* 項目間のスペース */
  .syllabus-label {
      font-weight: bold;
      margin-bottom: 3px;
      border-bottom: 1px solid #999;
  }

  .syllabus-row {
      display: flex;
      justify-content: space-between;
      gap: 15px;
  }
  .syllabus-item {
      margin-bottom: 5px;
  }

  .syllabus-item.half {
      flex: 1;
  }

  .syllabus-value {
      padding-bottom: 10px;
  }

  .syllabus-detail-btn {
      display: block;
      width: 95%;
      margin: 0 auto 5px;
      padding: 8px;
      text-align: center;
      font-size: 14px;
  }

  .panel-default > .syllabus-header {
      background-color: rgb(253, 234, 218);
  }
  
  /* 一覧表示上部 ページネーション表示 */
  /* 件数表示 */
  .pagenate-center{
    padding: 0;
    list-style-type: none;
    text-align:center;
  }
  /* 「前へ」「次へ」ボタン */
  .pagenate-space{
    padding: 0;
    list-style-type: none;
  }
}