@charset "UTF-8";
/* line 5, app/assets/stylesheets/attend.scss */
body#attend {
  /* 欠席者数を表記する文字 */
  /* 欠席者を表記する文字 */
  /* エクスポートリンク装飾 */
  /* エクスポートリンク装飾 */
  /* 管理者メニュー装飾 */
  /* 戻るメニュー装飾 */
  /* テキストの装飾 */
  /* button 関連 */
  /* 出欠状況の登録へ */
  /* 登録を実行 */
  /* テーブル共通 */
  /* 座席表テーブルの横幅指定 */
  /* 座席表テーブルの横幅指定 */
  /* 座席番号が記載されたセルのtd */
  /* 学籍番号・学生氏名が記載されたセル */
  /* 欠席者ON時のスタイル */
  /* 該当の座席番号に誰もいない場合ののスタイル */
  /* 座席表テーブルの机と机の間*/
  /* 座席表テーブルの机と机の間*/
  /* 出欠状況一覧のテーブル関連（名票の学生一覧も） */
  /* 出欠状況一覧のテーブル関連 */
  /* 出欠メニューのテーブル関連 */
  /* 出欠メニューのテーブル関連 */
}

/* line 7, app/assets/stylesheets/attend.scss */
body#attend header {
  background-color: #2e7d32;
  padding: 4px 8px;
}

/* line 11, app/assets/stylesheets/attend.scss */
body#attend header ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 12px;
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 11px;
}

/* line 20, app/assets/stylesheets/attend.scss */
body#attend header ul li {
  white-space: nowrap;
}

/* line 21, app/assets/stylesheets/attend.scss */
body#attend header ul a {
  color: #fff;
  text-decoration: none;
}

/* line 22, app/assets/stylesheets/attend.scss */
body#attend header ul a:hover {
  color: #ddd;
}

/* line 26, app/assets/stylesheets/attend.scss */
body#attend #kesseki_cnt {
  font-size: 18px;
  color: #ff5555;
}

/* line 31, app/assets/stylesheets/attend.scss */
body#attend #add_val {
  font-size: 18px;
  font-weight: bold;
  color: #ff5555;
}

/* line 37, app/assets/stylesheets/attend.scss */
body#attend h3.del {
  background: #ff5f5f;
}

/* line 40, app/assets/stylesheets/attend.scss */
body#attend dl#login {
  margin: 5px 0px 5px 0px;
  padding: 0px 0px 0px 0px;
  font-size: 14px;
}

/* line 45, app/assets/stylesheets/attend.scss */
body#attend dl#login dt {
  float: left;
  width: 100px;
  margin: 0px 0px 0px 0px;
  padding: 1px 0px 1px 10px;
}

/* line 51, app/assets/stylesheets/attend.scss */
body#attend dl#login dd {
  width: 300px;
  margin: 0px 0px 1px 105px;
  padding: 1px 5px 1px 5px;
}

/* line 59, app/assets/stylesheets/attend.scss */
body#attend a.exp {
  display: inline-block;
  /*インラインブロックを指定*/
  width: 30px;
  /*幅を指定*/
  margin: 0px 3px 0px 0px;
  border: 1px solid #0a0;
  /*境界線を指定 */
  text-align: center;
  /*中央寄せに*/
  text-decoration: none;
  font-size: 14px;
  font-weight: bold;
  background: #fff;
  color: #0a0;
  transition: 0.5s;
}

/* line 73, app/assets/stylesheets/attend.scss */
body#attend a.exp:hover {
  color: #fff;
  background: #0a0;
}

/* line 78, app/assets/stylesheets/attend.scss */
body#attend a.chk {
  display: inline-block;
  /*インラインブロックを指定*/
  width: 30px;
  /*幅を指定*/
  margin: 0px 3px 0px 0px;
  border: 1px solid #2196f3;
  /*境界線を指定 */
  text-align: center;
  /*中央寄せに*/
  text-decoration: none;
  font-size: 14px;
  font-weight: bold;
  background: #fff;
  color: #2196f3;
  transition: 0.5s;
}

/* line 92, app/assets/stylesheets/attend.scss */
body#attend a.chk:hover {
  color: #fff;
  background: #2196f3;
}

/* line 96, app/assets/stylesheets/attend.scss */
body#attend input.del[type="submit"] {
  display: inline-block;
  /*インラインブロックを指定*/
  width: 30px;
  /*幅を指定*/
  margin: 0px 3px 0px 0px;
  border: 1px solid #ff7c7c;
  /*境界線を指定 */
  text-align: center;
  /*中央寄せに*/
  text-decoration: none;
  font-size: 14px;
  font-weight: bold;
  background: #fff;
  color: #ff7c7c;
  transition: 0.5s;
}

/* line 110, app/assets/stylesheets/attend.scss */
body#attend input.del[type="submit"]:hover {
  color: #fff;
  background: #ff7c7c;
}

/* line 114, app/assets/stylesheets/attend.scss */
body#attend input.rev[type="submit"] {
  display: inline-block;
  /*インラインブロックを指定*/
  width: 30px;
  /*幅を指定*/
  margin: 0px 3px 0px 0px;
  border: 1px solid #2196f3;
  /*境界線を指定 */
  text-align: center;
  /*中央寄せに*/
  text-decoration: none;
  font-size: 14px;
  font-weight: bold;
  background: #fff;
  color: #2196f3;
  transition: 0.5s;
}

/* line 128, app/assets/stylesheets/attend.scss */
body#attend input.rev[type="submit"]:hover {
  color: #fff;
  background: #2196f3;
}

/* line 133, app/assets/stylesheets/attend.scss */
body#attend input.copy[type="submit"] {
  display: inline-block;
  /*インラインブロックを指定*/
  width: 30px;
  /*幅を指定*/
  border: 1px solid #adbd00;
  /*境界線を指定 */
  text-align: center;
  /*中央寄せに*/
  text-decoration: none;
  font-size: 14px;
  font-weight: bold;
  background: #fff;
  color: #adbd00;
  transition: 0.5s;
}

/* line 146, app/assets/stylesheets/attend.scss */
body#attend input.copy[type="submit"]:hover {
  color: #fff;
  background: #adbd00;
}

/* line 153, app/assets/stylesheets/attend.scss */
body#attend a.menu.admin {
  display: inline-block;
  /*インラインブロックを指定*/
  margin: 5px 0px 2px 10px;
  padding: 3px 10px 3px 10px;
  border: 1px solid #262626;
  /*境界線を指定 */
  text-align: center;
  /*中央寄せに*/
  text-decoration: none;
  font-size: 14px;
  font-weight: bold;
  background: #fff;
  color: #262626;
  transition: 0.5s;
}

/* line 167, app/assets/stylesheets/attend.scss */
body#attend a.menu.admin:hover {
  color: #fff;
  background: #262626;
}

/* line 173, app/assets/stylesheets/attend.scss */
body#attend a.menu.back {
  display: inline-block;
  /*インラインブロックを指定*/
  margin: 5px 0px 2px 10px;
  padding: 3px 10px 3px 10px;
  border: 1px solid #2196f3;
  /*境界線を指定 */
  text-align: center;
  /*中央寄せに*/
  text-decoration: none;
  font-size: 14px;
  font-weight: bold;
  background: #f0ffff;
  color: #2196f3;
  transition: 0.5s;
}

/* line 187, app/assets/stylesheets/attend.scss */
body#attend a.menu.back:hover {
  color: #fff;
  background: #2196f3;
}

/* line 193, app/assets/stylesheets/attend.scss */
body#attend .result_student {
  margin: 10px 0px 10px 20px;
  font-size: 22px;
  font-weight: bold;
  line-height: 1.5em;
}

/* line 200, app/assets/stylesheets/attend.scss */
body#attend .result_massage {
  margin: 10px 0px 10px 20px;
  font-size: 15px;
  font-weight: bold;
  line-height: 1.5em;
  color: red;
}

/* line 210, app/assets/stylesheets/attend.scss */
body#attend input.syukketuhe[type="submit"] {
  display: inline-block;
  /*インラインブロックを指定*/
  margin: 5px 0px 15px 10px;
  padding: 3px 10px 3px 10px;
  border: 1px solid #262626;
  /*境界線を指定 */
  text-align: center;
  /*中央寄せに*/
  text-decoration: none;
  font-size: 14px;
  font-weight: bold;
  background: #fff;
  color: #262626;
  transition: 0.5s;
}

/* line 224, app/assets/stylesheets/attend.scss */
body#attend input.syukketuhe[type="submit"]:hover {
  color: #fff;
  background: #262626;
}

/* line 228, app/assets/stylesheets/attend.scss */
body#attend input#reg_sub[type="submit"] {
  margin: 10px 0px 0px 3.5px;
  width: 200px;
  height: 30px;
  transition: .3s;
  border-radius: 3px;
  border: 1px solid #262626;
  background: #ececec;
  color: #262626;
}

/* line 238, app/assets/stylesheets/attend.scss */
body#attend input#reg_sub[type="submit"]:hover {
  width: 200px;
  height: 30px;
  background: #262626;
  color: white;
}

/* line 246, app/assets/stylesheets/attend.scss */
body#attend input.reg_sub[type="submit"] {
  width: 400px;
  /*幅を指定*/
  height: 80px;
  /*高さを指定*/
  display: inline-block;
  /*インラインブロックを指定*/
  margin: 5px 0px 15px 100px;
  padding: 3px 10px 3px 10px;
  border: 1px solid #0000ff;
  /*境界線を指定 */
  text-align: center;
  /*中央寄せに*/
  text-decoration: none;
  font-size: 20px;
  font-weight: bold;
  background: #f0ffff;
  color: #0000ff;
  transition: 0.5s;
}

/* line 264, app/assets/stylesheets/attend.scss */
body#attend input.reg_sub[type="submit"]:hover {
  color: #fff;
  background: #0000ff;
}

/* line 270, app/assets/stylesheets/attend.scss */
body#attend td.center {
  text-align: center;
}

/* line 275, app/assets/stylesheets/attend.scss */
body#attend table.zaseki {
  width: 950px;
  border-collapse: collapse;
  /* 枠線(ボーダー)を重ねて表示 */
}

/* line 280, app/assets/stylesheets/attend.scss */
body#attend table.zaseki.jouhou {
  width: 1200px;
}

/* line 284, app/assets/stylesheets/attend.scss */
body#attend td.zaseki_no {
  border: 1px solid #000;
  /*境界線を指定 */
  background-color: #ececec;
  width: 78px;
  text-align: center;
}

/* line 291, app/assets/stylesheets/attend.scss */
body#attend td.studentnum {
  border: 1px solid #000;
  /*境界線を指定 */
  width: 78px;
  height: 58px;
  text-align: center;
  font-size: 11px;
}

/* line 298, app/assets/stylesheets/attend.scss */
body#attend td.studentnum.meihyoitiran {
  border: 1px solid #000;
  /*境界線を指定 */
  width: 190px;
  height: 25px;
  font-size: 14px;
  text-align: left;
}

/* line 306, app/assets/stylesheets/attend.scss */
body#attend td.studentnum.add {
  background-color: #ff5555;
}

/* line 310, app/assets/stylesheets/attend.scss */
body#attend td.studentnum.empty {
  background-color: #999;
}

/* line 314, app/assets/stylesheets/attend.scss */
body#attend td.kuuhaku {
  width: 5px;
}

/* line 318, app/assets/stylesheets/attend.scss */
body#attend td.kuugyou {
  height: 10px;
}

/* line 323, app/assets/stylesheets/attend.scss */
body#attend table.attend_itiran, body#attend table.kihon_info, body#attend table.attend_itiran_chk, body#attend table.zaseki_itiran {
  border-collapse: collapse;
  /* 枠線(ボーダー)を重ねて表示 */
  margin: 10px 0px 0px 5px;
  overflow-x: scroll;
}

/* line 329, app/assets/stylesheets/attend.scss */
body#attend table.attend_itiran {
  width: 1800px;
}

/* line 332, app/assets/stylesheets/attend.scss */
body#attend table.attend_itiran th, body#attend table.kihon_info th, body#attend table.attend_itiran_chk th, body#attend table.zaseki_itiran th {
  border: 1px solid #000;
  /*境界線を指定 */
  padding: 2px 5px 2px 5px;
  text-align: center;
  background-color: #f0ffff;
}

/* line 338, app/assets/stylesheets/attend.scss */
body#attend table.attend_itiran th.csv {
  border: 0px solid #000;
  /*境界線を指定 */
  background-color: #ffffff;
}

/* line 342, app/assets/stylesheets/attend.scss */
body#attend table.attend_itiran td, body#attend table.kihon_info td, body#attend table.attend_itiran_chk td, body#attend table.zaseki_itiran td {
  border: 1px solid #000;
  /*境界線を指定 */
  padding: 2px 5px 2px 5px;
}

/* line 346, app/assets/stylesheets/attend.scss */
body#attend table.attend_itiran td.pick, body#attend table.attend_itiran td.csv.pick {
  background-color: #fff6f6;
}

/* line 350, app/assets/stylesheets/attend.scss */
body#attend table.attend_itiran td.csv {
  border: 0px solid #000;
  /*境界線を指定 */
}

/* line 353, app/assets/stylesheets/attend.scss */
body#attend table.attend_itiran td.small {
  font-size: 12px;
}

/* line 356, app/assets/stylesheets/attend.scss */
body#attend table th.td_600 {
  width: 550px;
}

/* line 361, app/assets/stylesheets/attend.scss */
body#attend table.ki_select {
  border-collapse: collapse;
  /* 枠線(ボーダー)を重ねて表示 */
  margin: 10px 0px 0px 5px;
}

/* line 366, app/assets/stylesheets/attend.scss */
body#attend table.ki_select th {
  border: 1px solid #000;
  /*境界線を指定 */
  padding: 2px 5px 2px 5px;
  text-align: center;
  background-color: #f0ffff;
}

/* line 372, app/assets/stylesheets/attend.scss */
body#attend table.ki_select td {
  border: 1px solid #000;
  /*境界線を指定 */
  padding: 10px 5px 10px 5px;
}

/* line 378, app/assets/stylesheets/attend.scss */
body#attend table.jugyo_select {
  border-collapse: collapse;
  /* 枠線(ボーダー)を重ねて表示 */
  margin: 10px 0px 0px 5px;
}

/* line 383, app/assets/stylesheets/attend.scss */
body#attend table.jugyo_select th {
  border: 1px solid #000;
  /*境界線を指定 */
  padding: 2px 5px 2px 5px;
  text-align: center;
  background-color: #f0ffff;
}

/* line 389, app/assets/stylesheets/attend.scss */
body#attend table.jugyo_select td {
  border: 1px solid #000;
  /*境界線を指定 */
  padding: 10px 10px 10px 5px;
}

/* line 395, app/assets/stylesheets/attend.scss */
body#attend .at-page {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 16px 48px;
  font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif;
}

/* line 402, app/assets/stylesheets/attend.scss */
body#attend .at-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  padding: 20px 0 16px;
  border-bottom: 2px solid #2e7d32;
}

/* line 411, app/assets/stylesheets/attend.scss */
body#attend .at-toolbar-nav {
  display: flex;
  gap: 8px;
}

/* line 415, app/assets/stylesheets/attend.scss */
body#attend .at-title {
  font-size: 18px;
  font-weight: 700;
  color: #2e7d32;
  background: none;
  margin: 0;
  padding: 0;
  letter-spacing: 0.05em;
}

/* line 425, app/assets/stylesheets/attend.scss */
body#attend .btn-nav {
  display: inline-block;
  padding: 6px 16px;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  color: #2e7d32;
  background: #fff;
  border: 1.5px solid #2e7d32;
  border-radius: 6px;
  transition: all 0.2s;
}

/* line 436, app/assets/stylesheets/attend.scss */
body#attend .btn-nav:hover {
  color: #fff;
  background: #2e7d32;
}

/* line 439, app/assets/stylesheets/attend.scss */
body#attend .at-flash {
  padding: 12px 16px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  margin: 16px 0;
}

/* line 445, app/assets/stylesheets/attend.scss */
body#attend .at-flash.flash-danger {
  background: #fef2f2;
  color: #b71c1c;
  border-left: 4px solid #d32f2f;
}

/* line 446, app/assets/stylesheets/attend.scss */
body#attend .at-flash.flash-notice {
  background: #e8f5e9;
  color: #1b5e20;
  border-left: 4px solid #2e7d32;
}

/* line 449, app/assets/stylesheets/attend.scss */
body#attend .at-section {
  margin-top: 24px;
}

/* line 452, app/assets/stylesheets/attend.scss */
body#attend .at-section-title {
  font-size: 13px;
  font-weight: 700;
  color: #888;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin: 0 0 8px;
  padding: 0;
  background: none;
  border: none;
}

/* line 463, app/assets/stylesheets/attend.scss */
body#attend .at-section-note {
  font-size: 12px;
  color: #999;
  margin: 0 0 12px;
  line-height: 1.6;
}

/* line 470, app/assets/stylesheets/attend.scss */
body#attend .at-status {
  font-size: 14px;
  font-weight: 700;
  color: #2e7d32;
  padding: 10px 16px;
  background: #e8f5e9;
  border-left: 5px solid #2e7d32;
  border-radius: 0 6px 6px 0;
  margin-bottom: 12px;
}

/* line 482, app/assets/stylesheets/attend.scss */
body#attend .at-form-card {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  padding: 20px 24px;
  margin-bottom: 8px;
}

/* line 489, app/assets/stylesheets/attend.scss */
body#attend .at-form-grid {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 16px;
}

/* line 495, app/assets/stylesheets/attend.scss */
body#attend .at-form-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

/* line 500, app/assets/stylesheets/attend.scss */
body#attend .at-form-item-btn {
  justify-content: flex-end;
}

/* line 503, app/assets/stylesheets/attend.scss */
body#attend .at-form-label {
  font-size: 11px;
  font-weight: 600;
  color: #888;
  letter-spacing: 0.05em;
}

/* line 509, app/assets/stylesheets/attend.scss */
body#attend .at-form-select,
body#attend .at-form-input {
  padding: 8px 12px;
  font-size: 14px;
  border: 1.5px solid #ddd;
  border-radius: 6px;
  outline: none;
  background: #fafafa;
  transition: border-color 0.2s;
  -webkit-appearance: none;
}

/* line 519, app/assets/stylesheets/attend.scss */
body#attend .at-form-select:focus,
body#attend .at-form-input:focus {
  border-color: #2e7d32;
  background: #fff;
}

/* line 521, app/assets/stylesheets/attend.scss */
body#attend .at-form-static {
  padding: 8px 0;
  font-size: 14px;
  color: #333;
}

/* line 526, app/assets/stylesheets/attend.scss */
body#attend .at-form-textarea {
  width: 100%;
  padding: 10px 14px;
  font-size: 14px;
  border: 1.5px solid #ddd;
  border-radius: 6px;
  outline: none;
  background: #fafafa;
  resize: vertical;
  font-family: inherit;
  transition: border-color 0.2s;
}

/* line 537, app/assets/stylesheets/attend.scss */
body#attend .at-form-textarea:focus {
  border-color: #2e7d32;
  background: #fff;
}

/* line 539, app/assets/stylesheets/attend.scss */
body#attend .at-form-file {
  font-size: 13px;
  padding: 6px 0;
}

/* line 544, app/assets/stylesheets/attend.scss */
body#attend .btn-search {
  padding: 8px 24px;
  font-size: 14px;
  font-weight: 600;
  color: #fff;
  background: #2e7d32;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.2s;
}

/* line 554, app/assets/stylesheets/attend.scss */
body#attend .btn-search:hover {
  background: #388e3c;
}

/* line 558, app/assets/stylesheets/attend.scss */
body#attend .at-bikou-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
}

/* line 565, app/assets/stylesheets/attend.scss */
body#attend .btn-bikou {
  padding: 6px 14px;
  font-size: 12px;
  font-weight: 500;
  color: #555;
  background: #f5f5f5;
  border: 1px solid #ddd;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.15s;
}

/* line 575, app/assets/stylesheets/attend.scss */
body#attend .btn-bikou:hover {
  background: #eee;
  border-color: #bbb;
}

/* line 577, app/assets/stylesheets/attend.scss */
body#attend .btn-bikou-sm {
  padding: 4px 10px;
  font-size: 11px;
  font-weight: 500;
  color: #555;
  background: #f5f5f5;
  border: 1px solid #ddd;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.15s;
}

/* line 587, app/assets/stylesheets/attend.scss */
body#attend .btn-bikou-sm:hover {
  background: #eee;
  border-color: #bbb;
}

/* line 589, app/assets/stylesheets/attend.scss */
body#attend .at-chk-actions {
  white-space: nowrap;
  display: flex;
  gap: 4px;
}

/* line 596, app/assets/stylesheets/attend.scss */
body#attend .at-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  background: #fff;
}

/* line 603, app/assets/stylesheets/attend.scss */
body#attend .at-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

/* line 608, app/assets/stylesheets/attend.scss */
body#attend .at-table thead tr {
  background: #f5f5f5;
}

/* line 609, app/assets/stylesheets/attend.scss */
body#attend .at-table th {
  padding: 10px 12px;
  font-size: 12px;
  font-weight: 600;
  color: #555;
  text-align: left;
  border-bottom: 2px solid #e0e0e0;
  white-space: nowrap;
}

/* line 618, app/assets/stylesheets/attend.scss */
body#attend .at-table td {
  padding: 10px 12px;
  border-bottom: 1px solid #f0f0f0;
  color: #333;
}

/* line 623, app/assets/stylesheets/attend.scss */
body#attend .at-table tbody tr:hover {
  background: #fafffe;
}

/* line 625, app/assets/stylesheets/attend.scss */
body#attend .col-center {
  text-align: center;
}

/* line 626, app/assets/stylesheets/attend.scss */
body#attend .col-num {
  width: 40px;
  text-align: center;
}

/* line 629, app/assets/stylesheets/attend.scss */
body#attend .at-result-card {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 10px;
  padding: 32px 28px;
  margin-top: 20px;
}

/* line 636, app/assets/stylesheets/attend.scss */
body#attend .at-result-body {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.6;
  color: #333;
}

/* line 642, app/assets/stylesheets/attend.scss */
body#attend .at-result-note {
  margin-top: 20px;
  font-size: 14px;
  font-weight: 600;
  color: #c62828;
}

/* line 650, app/assets/stylesheets/attend.scss */
body#attend .at-kyousitu-card {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 10px;
  padding: 40px 28px;
  margin-top: 20px;
  text-align: center;
}

@media (max-width: 480px) {
  /* line 661, app/assets/stylesheets/attend.scss */
  body#attend .at-page {
    padding: 0 10px 32px;
  }
  /* line 662, app/assets/stylesheets/attend.scss */
  body#attend .at-toolbar {
    flex-direction: column;
    align-items: flex-start;
  }
  /* line 663, app/assets/stylesheets/attend.scss */
  body#attend .at-form-grid {
    flex-direction: column;
  }
  /* line 664, app/assets/stylesheets/attend.scss */
  body#attend .at-form-card {
    padding: 16px;
  }
  /* line 665, app/assets/stylesheets/attend.scss */
  body#attend .at-chk-actions {
    flex-direction: column;
  }
}

/* line 669, app/assets/stylesheets/attend.scss */
body#attend .at-inp-page {
  max-width: none;
  padding-bottom: 60px;
}

/* line 674, app/assets/stylesheets/attend.scss */
body#attend .at-inp-header {
  margin-bottom: 16px;
}

/* line 679, app/assets/stylesheets/attend.scss */
body#attend .at-inp-page h4 {
  font-size: 15px;
  font-weight: 700;
  color: #2e7d32;
  margin: 20px 0 10px 4px;
  padding: 0;
}

/* line 686, app/assets/stylesheets/attend.scss */
body#attend .at-inp-page h4.add {
  color: #c62828;
  font-size: 20px;
  margin-top: 20px;
  padding: 10px 16px;
  background: #ffebee;
  border-left: 4px solid #c62828;
  border-radius: 0 6px 6px 0;
  display: inline-block;
}

/* line 698, app/assets/stylesheets/attend.scss */
body#attend .at-inp-page table.zaseki {
  border-collapse: separate;
  border-spacing: 2px;
  margin: 0 0 0 4px;
}

/* line 703, app/assets/stylesheets/attend.scss */
body#attend .at-inp-page table.zaseki .zaseki_no {
  background: #f5f5f5;
  color: #555;
  border: 1px solid #ddd;
  border-radius: 3px;
  text-align: center;
  font-size: 10px;
  font-weight: 600;
  padding: 2px 0;
  width: 78px;
}

/* line 714, app/assets/stylesheets/attend.scss */
body#attend .at-inp-page table.zaseki .studentnum {
  border: 1.5px solid #ddd;
  border-radius: 4px;
  width: 78px;
  height: 58px;
  text-align: center;
  font-size: 11px;
  padding: 3px 2px;
  background: #fff;
  transition: background 0.15s, border-color 0.15s;
  vertical-align: middle;
}

/* line 726, app/assets/stylesheets/attend.scss */
body#attend .at-inp-page table.zaseki .studentnum label {
  cursor: pointer;
  display: block;
  width: 100%;
  height: 100%;
}

/* line 734, app/assets/stylesheets/attend.scss */
body#attend .at-inp-page table.zaseki td.studentnum.add,
body#attend .at-inp-page table.zaseki td.add {
  background: #ffcdd2 !important;
  border-color: #e53935 !important;
  color: #b71c1c;
}

/* line 741, app/assets/stylesheets/attend.scss */
body#attend .at-inp-page table.zaseki td.empty {
  background: #eee;
  border-color: #ddd;
}

/* line 746, app/assets/stylesheets/attend.scss */
body#attend .at-inp-page table.zaseki td.kuuhaku {
  width: 8px;
  border: none;
  background: none;
}

/* line 751, app/assets/stylesheets/attend.scss */
body#attend .at-inp-page table.zaseki td.kuugyou {
  height: 6px;
  border: none;
  background: none;
}

/* line 756, app/assets/stylesheets/attend.scss */
body#attend .at-inp-page table.zaseki td.blank {
  border: none;
  background: none;
}

/* line 761, app/assets/stylesheets/attend.scss */
body#attend .at-inp-page table.zaseki tr:last-child td.zaseki_no {
  font-size: 12px;
  font-weight: 700;
  padding: 4px 0;
  background: #e8f5e9;
  border-color: #a5d6a7;
  color: #2e7d32;
}

/* line 771, app/assets/stylesheets/attend.scss */
body#attend .at-inp-page table.attend_itiran_chk {
  border-collapse: separate;
  border-spacing: 2px;
  margin: 0 0 0 4px;
}

/* line 776, app/assets/stylesheets/attend.scss */
body#attend .at-inp-page table.attend_itiran_chk th {
  background: #f5f5f5;
  color: #555;
  border: 1px solid #ddd;
  padding: 8px 12px;
  font-size: 13px;
  font-weight: 600;
  text-align: left;
}

/* line 785, app/assets/stylesheets/attend.scss */
body#attend .at-inp-page td.studentnum.meihyoitiran {
  border: 1.5px solid #ddd;
  border-radius: 4px;
  width: 190px;
  height: 36px;
  font-size: 13px;
  text-align: left;
  padding: 6px 10px;
  background: #fff;
  transition: background 0.15s, border-color 0.15s;
}

/* line 796, app/assets/stylesheets/attend.scss */
body#attend .at-inp-page td.studentnum.meihyoitiran label {
  cursor: pointer;
  display: block;
}

/* line 801, app/assets/stylesheets/attend.scss */
body#attend .at-inp-page td.studentnum.meihyoitiran.add {
  background: #ffcdd2 !important;
  border-color: #e53935 !important;
  color: #b71c1c;
}

/* line 808, app/assets/stylesheets/attend.scss */
body#attend .at-inp-page #add_val {
  padding: 12px 16px;
  font-size: 24px;
  font-weight: 700;
  color: #c62828;
  line-height: 1.6;
  word-wrap: break-word;
  margin: 8px 0 16px 4px;
}

/* line 817, app/assets/stylesheets/attend.scss */
body#attend .at-inp-page #kesseki_cnt {
  font-size: 24px;
  font-weight: 700;
  color: #c62828;
}

/* line 824, app/assets/stylesheets/attend.scss */
body#attend .at-inp-page input.reg_sub[type="submit"] {
  display: block;
  width: 100%;
  max-width: 500px;
  padding: 16px;
  margin: 16px 0 0 4px;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #fff;
  background: #1565c0;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.2s, box-shadow 0.2s;
}

/* line 840, app/assets/stylesheets/attend.scss */
body#attend .at-inp-page input.reg_sub[type="submit"]:hover {
  background: #1976d2;
  box-shadow: 0 4px 16px rgba(21, 101, 192, 0.3);
}

/* line 844, app/assets/stylesheets/attend.scss */
body#attend .at-inp-page input.reg_sub[type="submit"]:active {
  background: #0d47a1;
}

/* line 850, app/assets/stylesheets/attend.scss */
body#attend .at-inp-page table.zaseki.jouhou {
  width: auto;
}

/* line 855, app/assets/stylesheets/attend.scss */
body#attend .km-page {
  max-width: 700px;
  margin: 0 auto;
  padding: 0 16px 48px;
  font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif;
}

/* line 862, app/assets/stylesheets/attend.scss */
body#attend .km-header {
  padding: 20px 0 16px;
  border-bottom: 2px solid #2e7d32;
  margin-bottom: 20px;
}

/* line 867, app/assets/stylesheets/attend.scss */
body#attend .km-title {
  font-size: 18px;
  font-weight: 700;
  color: #2e7d32;
  background: none;
  margin: 0;
  padding: 0;
  letter-spacing: 0.05em;
}

/* line 877, app/assets/stylesheets/attend.scss */
body#attend .km-flash {
  padding: 12px 16px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 16px;
}

/* line 883, app/assets/stylesheets/attend.scss */
body#attend .km-flash.flash-danger {
  background: #fef2f2;
  color: #b71c1c;
  border-left: 4px solid #d32f2f;
}

/* line 884, app/assets/stylesheets/attend.scss */
body#attend .km-flash.flash-notice {
  background: #e8f5e9;
  color: #1b5e20;
  border-left: 4px solid #2e7d32;
}

/* line 887, app/assets/stylesheets/attend.scss */
body#attend .km-section {
  margin-bottom: 28px;
}

/* line 890, app/assets/stylesheets/attend.scss */
body#attend .km-section-title {
  font-size: 13px;
  font-weight: 700;
  color: #888;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin: 0 0 12px;
  padding: 0;
  background: none;
  border: none;
}

/* line 903, app/assets/stylesheets/attend.scss */
body#attend .km-admin-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

/* line 908, app/assets/stylesheets/attend.scss */
body#attend .km-admin-btn {
  display: inline-block;
  padding: 10px 20px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  color: #2e7d32;
  background: #fff;
  border: 1.5px solid #2e7d32;
  border-radius: 8px;
  transition: all 0.2s;
}

/* line 919, app/assets/stylesheets/attend.scss */
body#attend .km-admin-btn:hover {
  color: #fff;
  background: #2e7d32;
}

/* line 921, app/assets/stylesheets/attend.scss */
body#attend .km-admin-btn-sub {
  color: #666;
  border-color: #ccc;
}

/* line 924, app/assets/stylesheets/attend.scss */
body#attend .km-admin-btn-sub:hover {
  color: #fff;
  background: #666;
  border-color: #666;
}

/* line 928, app/assets/stylesheets/attend.scss */
body#attend .km-ki-selector {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 10px;
  padding: 20px 24px;
  margin-bottom: 16px;
}

/* line 935, app/assets/stylesheets/attend.scss */
body#attend .km-ki-group {
  display: flex;
  align-items: center;
  gap: 12px;
}

/* line 939, app/assets/stylesheets/attend.scss */
body#attend .km-ki-group:not(:last-child) {
  margin-bottom: 12px;
}

/* line 941, app/assets/stylesheets/attend.scss */
body#attend .km-ki-label {
  font-size: 12px;
  font-weight: 700;
  color: #2e7d32;
  width: 36px;
  flex-shrink: 0;
}

/* line 948, app/assets/stylesheets/attend.scss */
body#attend .km-ki-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

/* line 953, app/assets/stylesheets/attend.scss */
body#attend .km-ki-btn {
  cursor: pointer;
}

/* line 956, app/assets/stylesheets/attend.scss */
body#attend .km-ki-btn input[type="radio"] {
  display: none;
}

/* line 958, app/assets/stylesheets/attend.scss */
body#attend .km-ki-btn span {
  display: inline-block;
  padding: 8px 18px;
  font-size: 14px;
  font-weight: 600;
  color: #555;
  background: #f5f5f5;
  border: 1.5px solid #ddd;
  border-radius: 8px;
  transition: all 0.2s;
}

/* line 970, app/assets/stylesheets/attend.scss */
body#attend .km-ki-btn input[type="radio"]:checked + span {
  color: #fff;
  background: #2e7d32;
  border-color: #2e7d32;
  box-shadow: 0 2px 8px rgba(46, 125, 50, 0.25);
}

/* line 977, app/assets/stylesheets/attend.scss */
body#attend .km-ki-btn:hover span {
  border-color: #2e7d32;
  color: #2e7d32;
}

/* line 984, app/assets/stylesheets/attend.scss */
body#attend .km-form-card {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 10px;
  padding: 28px 28px 24px;
  margin-top: 16px;
  border-top: 3px solid #2e7d32;
}

/* line 992, app/assets/stylesheets/attend.scss */
body#attend .km-form-badge {
  display: inline-block;
  font-size: 15px;
  font-weight: 700;
  color: #2e7d32;
  margin-bottom: 20px;
  padding-bottom: 8px;
  border-bottom: 1px dashed #ccc;
  width: 100%;
}

/* line 1003, app/assets/stylesheets/attend.scss */
body#attend .km-form-grid {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

/* line 1008, app/assets/stylesheets/attend.scss */
body#attend .km-form-item {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

/* line 1013, app/assets/stylesheets/attend.scss */
body#attend .km-form-label {
  font-size: 12px;
  font-weight: 600;
  color: #888;
  letter-spacing: 0.05em;
}

/* line 1019, app/assets/stylesheets/attend.scss */
body#attend .km-form-select,
body#attend .km-form-input {
  padding: 10px 14px;
  font-size: 15px;
  border: 1.5px solid #ddd;
  border-radius: 8px;
  outline: none;
  background: #fafafa;
  transition: border-color 0.2s;
  -webkit-appearance: none;
}

/* line 1029, app/assets/stylesheets/attend.scss */
body#attend .km-form-select:focus,
body#attend .km-form-input:focus {
  border-color: #2e7d32;
  background: #fff;
}

/* line 1036, app/assets/stylesheets/attend.scss */
body#attend .km-jigen-group {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

/* line 1041, app/assets/stylesheets/attend.scss */
body#attend .km-jigen-btn {
  cursor: pointer;
}

/* line 1043, app/assets/stylesheets/attend.scss */
body#attend .km-jigen-btn input[type="radio"] {
  display: none;
}

/* line 1044, app/assets/stylesheets/attend.scss */
body#attend .km-jigen-btn span {
  display: inline-block;
  padding: 8px 16px;
  font-size: 14px;
  font-weight: 500;
  color: #555;
  background: #f5f5f5;
  border: 1.5px solid #ddd;
  border-radius: 6px;
  transition: all 0.2s;
}

/* line 1055, app/assets/stylesheets/attend.scss */
body#attend .km-jigen-btn input[type="radio"]:checked + span {
  color: #fff;
  background: #2e7d32;
  border-color: #2e7d32;
}

/* line 1060, app/assets/stylesheets/attend.scss */
body#attend .km-jigen-btn:hover span {
  border-color: #999;
}

/* line 1066, app/assets/stylesheets/attend.scss */
body#attend .km-submit {
  display: block;
  width: 100%;
  padding: 14px;
  margin-top: 24px;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #fff;
  background: #2e7d32;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.2s, box-shadow 0.2s;
}

/* line 1081, app/assets/stylesheets/attend.scss */
body#attend .km-submit:hover {
  background: #388e3c;
  box-shadow: 0 4px 16px rgba(46, 125, 50, 0.25);
}

/* line 1085, app/assets/stylesheets/attend.scss */
body#attend .km-submit:active {
  background: #1b5e20;
}

@media (max-width: 480px) {
  /* line 1092, app/assets/stylesheets/attend.scss */
  body#attend .km-page {
    padding: 0 10px 32px;
  }
  /* line 1093, app/assets/stylesheets/attend.scss */
  body#attend .km-ki-group {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
  /* line 1094, app/assets/stylesheets/attend.scss */
  body#attend .km-ki-btn span {
    padding: 7px 14px;
    font-size: 13px;
  }
  /* line 1095, app/assets/stylesheets/attend.scss */
  body#attend .km-form-card {
    padding: 20px 18px;
  }
  /* line 1096, app/assets/stylesheets/attend.scss */
  body#attend .km-jigen-btn span {
    padding: 7px 12px;
    font-size: 13px;
  }
  /* line 1097, app/assets/stylesheets/attend.scss */
  body#attend .km-admin-btn {
    padding: 8px 14px;
    font-size: 13px;
  }
}

/* line 1101, app/assets/stylesheets/attend.scss */
body#attend .attend-show-page {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 8px 48px;
  font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif;
}

/* line 1108, app/assets/stylesheets/attend.scss */
body#attend .attend-show-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  padding: 20px 0 16px;
  border-bottom: 2px solid #2e7d32;
}

/* line 1118, app/assets/stylesheets/attend.scss */
body#attend .attend-show-title {
  font-size: 18px;
  font-weight: 700;
  color: #2e7d32;
  background: none;
  margin: 0;
  padding: 0;
  letter-spacing: 0.05em;
}

/* line 1128, app/assets/stylesheets/attend.scss */
body#attend .attend-show-nav {
  display: flex;
  gap: 8px;
}

/* line 1133, app/assets/stylesheets/attend.scss */
body#attend .btn-nav {
  display: inline-block;
  padding: 6px 16px;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  color: #2e7d32;
  background: #fff;
  border: 1.5px solid #2e7d32;
  border-radius: 6px;
  transition: all 0.2s;
}

/* line 1145, app/assets/stylesheets/attend.scss */
body#attend .btn-nav:hover {
  color: #fff;
  background: #2e7d32;
}

/* line 1150, app/assets/stylesheets/attend.scss */
body#attend .btn-nav-sub {
  color: #666;
  border-color: #ccc;
}

/* line 1153, app/assets/stylesheets/attend.scss */
body#attend .btn-nav-sub:hover {
  color: #fff;
  background: #666;
  border-color: #666;
}

/* line 1161, app/assets/stylesheets/attend.scss */
body#attend .attend-show-flash {
  padding: 12px 16px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  margin: 16px 0;
}

/* line 1168, app/assets/stylesheets/attend.scss */
body#attend .attend-show-flash.flash-danger {
  background: #fef2f2;
  color: #b71c1c;
  border-left: 4px solid #d32f2f;
}

/* line 1173, app/assets/stylesheets/attend.scss */
body#attend .attend-show-flash.flash-notice {
  background: #e8f5e9;
  color: #1b5e20;
  border-left: 4px solid #2e7d32;
}

/* line 1181, app/assets/stylesheets/attend.scss */
body#attend .attend-show-search {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  padding: 20px 24px;
  margin: 16px 0;
}

/* line 1189, app/assets/stylesheets/attend.scss */
body#attend .search-grid {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 16px;
}

/* line 1196, app/assets/stylesheets/attend.scss */
body#attend .search-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

/* line 1201, app/assets/stylesheets/attend.scss */
body#attend .search-item label {
  font-size: 11px;
  font-weight: 600;
  color: #888;
  letter-spacing: 0.05em;
}

/* line 1209, app/assets/stylesheets/attend.scss */
body#attend .search-date-range {
  display: flex;
  align-items: center;
  gap: 6px;
}

/* line 1215, app/assets/stylesheets/attend.scss */
body#attend .search-sep {
  color: #aaa;
  font-size: 14px;
}

/* line 1220, app/assets/stylesheets/attend.scss */
body#attend .search-input {
  padding: 8px 12px;
  font-size: 14px;
  border: 1.5px solid #ddd;
  border-radius: 6px;
  outline: none;
  background: #fafafa;
  transition: border-color 0.2s;
  -webkit-appearance: none;
}

/* line 1230, app/assets/stylesheets/attend.scss */
body#attend .search-input:focus {
  border-color: #2e7d32;
  background: #fff;
}

/* line 1236, app/assets/stylesheets/attend.scss */
body#attend .search-input-short {
  width: 80px;
}

/* line 1240, app/assets/stylesheets/attend.scss */
body#attend .search-item-btn {
  justify-content: flex-end;
}

/* line 1244, app/assets/stylesheets/attend.scss */
body#attend .btn-search {
  padding: 8px 28px;
  font-size: 14px;
  font-weight: 600;
  color: #fff;
  background: #2e7d32;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.2s;
}

/* line 1255, app/assets/stylesheets/attend.scss */
body#attend .btn-search:hover {
  background: #388e3c;
}

/* line 1261, app/assets/stylesheets/attend.scss */
body#attend .attend-show-toolbar.toolbar-del {
  border-bottom-color: #c62828;
}

/* line 1263, app/assets/stylesheets/attend.scss */
body#attend .attend-show-toolbar.toolbar-del .attend-show-title {
  color: #c62828;
}

/* line 1269, app/assets/stylesheets/attend.scss */
body#attend .attend-show-status {
  font-size: 15px;
  font-weight: 700;
  color: #2e7d32;
  padding: 12px 20px;
  background: #e8f5e9;
  border-left: 5px solid #2e7d32;
  border-radius: 0 6px 6px 0;
  margin-bottom: 12px;
  letter-spacing: 0.04em;
}

/* line 1281, app/assets/stylesheets/attend.scss */
body#attend .status-del {
  color: #c62828;
  background: #ffebee;
  border-left-color: #c62828;
}

/* line 1287, app/assets/stylesheets/attend.scss */
body#attend .status-icon {
  margin-right: 6px;
  font-size: 10px;
  vertical-align: middle;
}

/* line 1293, app/assets/stylesheets/attend.scss */
body#attend .status-note {
  font-weight: 400;
  font-size: 12px;
  color: #888;
  margin-left: 4px;
}

/* line 1301, app/assets/stylesheets/attend.scss */
body#attend .toolbar-del ~ .attend-show-table-wrap .attend-show-table thead tr {
  background: #ffebee;
}

/* line 1306, app/assets/stylesheets/attend.scss */
body#attend .attend-show-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  background: #fff;
}

/* line 1314, app/assets/stylesheets/attend.scss */
body#attend .attend-show-table {
  width: 100%;
  min-width: 1100px;
  border-collapse: collapse;
  font-size: 13px;
}

/* line 1320, app/assets/stylesheets/attend.scss */
body#attend .attend-show-table thead tr {
  background: #f5f5f5;
}

/* line 1324, app/assets/stylesheets/attend.scss */
body#attend .attend-show-table th {
  padding: 10px 12px;
  font-size: 12px;
  font-weight: 600;
  color: #555;
  text-align: left;
  border-bottom: 2px solid #e0e0e0;
  white-space: nowrap;
  letter-spacing: 0.03em;
}

/* line 1335, app/assets/stylesheets/attend.scss */
body#attend .attend-show-table td {
  padding: 10px 12px;
  border-bottom: 1px solid #f0f0f0;
  vertical-align: top;
  color: #333;
}

/* line 1342, app/assets/stylesheets/attend.scss */
body#attend .attend-show-table tbody tr:hover {
  background: #fafffe;
}

/* line 1346, app/assets/stylesheets/attend.scss */
body#attend .attend-show-table tbody tr.row-alt {
  background: #eef7ee;
}

/* line 1348, app/assets/stylesheets/attend.scss */
body#attend .attend-show-table tbody tr.row-alt:hover {
  background: #e5f2e5;
}

/* line 1355, app/assets/stylesheets/attend.scss */
body#attend .col-actions {
  width: 130px;
  white-space: nowrap;
}

/* line 1356, app/assets/stylesheets/attend.scss */
body#attend .col-id {
  width: 45px;
  text-align: center;
}

/* line 1357, app/assets/stylesheets/attend.scss */
body#attend .col-date {
  width: 55px;
  text-align: center;
}

/* line 1358, app/assets/stylesheets/attend.scss */
body#attend .col-year {
  width: 35px;
  text-align: center;
}

/* line 1359, app/assets/stylesheets/attend.scss */
body#attend .col-period {
  width: 35px;
  text-align: center;
}

/* line 1360, app/assets/stylesheets/attend.scss */
body#attend .col-subject {
  width: 140px;
}

/* line 1361, app/assets/stylesheets/attend.scss */
body#attend .col-absent {
  width: 30%;
  min-width: 300px;
}

/* line 1362, app/assets/stylesheets/attend.scss */
body#attend .col-remarks {
  width: 25%;
  min-width: 250px;
}

/* line 1363, app/assets/stylesheets/attend.scss */
body#attend .col-created {
  width: 80px;
  text-align: center;
  white-space: nowrap;
}

/* line 1364, app/assets/stylesheets/attend.scss */
body#attend .col-user {
  width: 70px;
  text-align: center;
}

/* line 1367, app/assets/stylesheets/attend.scss */
body#attend .absent-tag {
  display: inline-block;
  padding: 2px 6px;
  margin: 1px 3px 1px 0;
  font-size: 11px;
  background: #fff3e0;
  color: #e65100;
  border-radius: 3px;
  white-space: nowrap;
}

/* line 1379, app/assets/stylesheets/attend.scss */
body#attend .action-buttons {
  display: flex;
  flex-wrap: nowrap;
  gap: 3px;
  align-items: center;
}

/* line 1386, app/assets/stylesheets/attend.scss */
body#attend .action-form {
  display: inline;
}

/* line 1390, app/assets/stylesheets/attend.scss */
body#attend .btn-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
  border-radius: 4px;
  border: 1.5px solid;
  cursor: pointer;
  transition: all 0.15s;
  padding: 0;
  background: #fff;
  line-height: 1;
}

/* line 1408, app/assets/stylesheets/attend.scss */
body#attend .btn-exp {
  color: #2e7d32;
  border-color: #2e7d32;
}

/* line 1411, app/assets/stylesheets/attend.scss */
body#attend .btn-exp:hover {
  background: #2e7d32;
  color: #fff;
}

/* line 1414, app/assets/stylesheets/attend.scss */
body#attend .btn-chk {
  color: #1976d2;
  border-color: #1976d2;
}

/* line 1417, app/assets/stylesheets/attend.scss */
body#attend .btn-chk:hover {
  background: #1976d2;
  color: #fff;
}

/* line 1420, app/assets/stylesheets/attend.scss */
body#attend .btn-del {
  color: #e53935;
  border-color: #e53935;
}

/* line 1423, app/assets/stylesheets/attend.scss */
body#attend .btn-del:hover {
  background: #e53935;
  color: #fff;
}

/* line 1426, app/assets/stylesheets/attend.scss */
body#attend .btn-rev {
  color: #1976d2;
  border-color: #1976d2;
}

/* line 1429, app/assets/stylesheets/attend.scss */
body#attend .btn-rev:hover {
  background: #1976d2;
  color: #fff;
}

/* line 1432, app/assets/stylesheets/attend.scss */
body#attend .btn-copy {
  color: #8c8c00;
  border-color: #adbd00;
}

/* line 1435, app/assets/stylesheets/attend.scss */
body#attend .btn-copy:hover {
  background: #adbd00;
  color: #fff;
}

@media (max-width: 768px) {
  /* line 1440, app/assets/stylesheets/attend.scss */
  body#attend .attend-show-toolbar {
    flex-direction: column;
    align-items: flex-start;
  }
  /* line 1444, app/assets/stylesheets/attend.scss */
  body#attend .search-grid {
    flex-direction: column;
    gap: 12px;
  }
  /* line 1448, app/assets/stylesheets/attend.scss */
  body#attend .search-input {
    width: 100%;
  }
  /* line 1451, app/assets/stylesheets/attend.scss */
  body#attend .search-date-range {
    flex-direction: column;
    align-items: stretch;
  }
  /* line 1454, app/assets/stylesheets/attend.scss */
  body#attend .search-date-range .search-sep {
    text-align: center;
  }
  /* line 1456, app/assets/stylesheets/attend.scss */
  body#attend .attend-show-page {
    padding: 0 8px 32px;
  }
}

/* line 1462, app/assets/stylesheets/attend.scss */
body#attend #loading {
  border: 1px dashed #999;
  padding: 100px;
  position: fixed;
  top: 20%;
  left: 10%;
  background-color: #FFF;
  filter: alpha(opacity=85);
  -moz-opacity: 0.85;
  opacity: 0.85;
}

/* line 1474, app/assets/stylesheets/attend.scss */
body#attend #loading .loadingMsg {
  text-align: center;
  padding-top: 50px;
  width: 300px;
  background-image: url(/assets/loading-36-399e85e296703ddad14a67456a8bd68ddd73b52ccf13c2513fa2a803950d5aa6.gif);
  background-position: center top;
  background-repeat: no-repeat;
}
@charset "UTF-8";
/* line 7, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp header {
  background-color: #999;
  padding: 4px 8px;
}

/* line 11, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp header ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 12px;
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 11px;
}

/* line 20, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp header ul li {
  white-space: nowrap;
}

/* line 21, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp header ul a {
  color: #fff;
  text-decoration: none;
}

/* line 22, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp header ul a:hover {
  color: #ddd;
}

/* line 25, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp h3 {
  background-color: #2196f3;
}

/* line 29, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp h4.add {
  color: #0000ff;
  border-bottom: 1px solid #0000ff;
}

/* line 33, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp h4.del {
  color: #ff5555;
  border-bottom: 1px solid #ff5555;
}

/* line 37, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp h5 {
  margin: 5px 0px 0px 5px;
}

/* line 41, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp dl#login {
  margin: 5px 0px 5px 0px;
  padding: 0px 0px 0px 0px;
  font-size: 14px;
}

/* line 46, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp dl#login dt {
  float: left;
  width: 100px;
  margin: 0px 0px 0px 0px;
  padding: 1px 0px 1px 10px;
}

/* line 52, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp dl#login dd {
  width: 300px;
  margin: 0px 0px 1px 105px;
  padding: 1px 5px 1px 5px;
}

/* line 59, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp dl.indi {
  margin: 5px 0px 5px 0px;
  padding: 0px 0px 0px 0px;
  font-size: 0.8em;
}

/* line 63, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp dl.indi dt {
  float: left;
  width: 150px;
  margin: 0px 0px 0px 0px;
  padding: 1px 0px 1px 10px;
}

/* line 69, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp dl.indi dd {
  width: 300px;
  margin: 0px 0px 1px 155px;
  padding: 1px 5px 1px 5px;
}

/* line 76, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp table.kyoin {
  word-break: break-all;
  table-layout: fixed;
  margin: 10px 0px 0px 3.5px;
  border-collapse: collapse;
}

/* line 82, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp table.kyoin th, body#cbtp table.kyoin td {
  padding: 10px 3px;
}

/* line 85, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp table.kyoin th {
  border: 0.5px solid #000000;
  /* 枠線 */
  background-color: #ececec;
  color: #000000;
  font-size: 0.9em;
}

/* line 91, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp table.kyoin td {
  border: 0.5px solid #999999;
  /* 枠線 */
  background-color: #ffffff;
  color: #000000;
  font-size: 0.85em;
}

/* line 97, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp table.kyoin td.active {
  background-color: #fffe8a;
}

/* line 100, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp table.kyoin td.judge_A {
  background-color: #e0ffff;
}

/* line 103, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp table.kyoin td.judge_B {
  background-color: #fffe8a;
}

/* line 106, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp table.kyoin td.judge_C {
  background-color: #ffcccc;
}

/* line 109, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp table.kyoin td.m_cnt {
  font-size: 1em;
  text-align: right;
}

/* line 116, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp table.passlr_sel {
  word-break: break-all;
  table-layout: fixed;
  margin: 10px 0px 0px 3.5px;
  font-size: 1em;
}

/* line 122, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp table.passlr_sel th {
  border: 0.5px solid red;
  /* 枠線 */
  background-color: #ffcccc;
  color: #800000;
}

/* line 127, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp table.passlr_sel th.kyoin {
  border: 0.5px solid #000000;
  /* 枠線 */
  background-color: #ececec;
  color: #000000;
}

/* line 132, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp table.passlr_sel td.core {
  border: 0.5px solid red;
  /* 枠線 */
  background-color: #fff8f8;
  color: #800000;
  font-weight: bold;
}

/* line 138, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp table.passlr_sel th.jugyo {
  font-size: 0.7em;
}

/* line 141, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp table.passlr_sel td.jugyo {
  font-size: 0.7em;
}

/* line 144, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp table.passlr_sel td.jugyomini {
  font-size: 0.6em;
}

/* line 148, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp table.passlr_sel td.num {
  padding: 7px 5px 7px 5px;
  background-color: #ececec;
  color: #800000;
  font-weight: bold;
  text-decoration: underline;
  /*下線を引く*/
}

/* line 155, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp table.passlr_sel td.num.tdtop {
  border-top: 0.5px solid red;
  /* 枠線 */
}

/* line 158, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp table.passlr_sel td.num.tdbottom {
  border-bottom: 0.5px solid red;
  /* 枠線 */
}

/* line 161, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp table.passlr_sel td.num.change.add {
  border: 1.5px solid blue;
  /* 枠線 */
  background-color: #2196f3;
}

/* line 165, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp table.passlr_sel td.num.change.del {
  border: 1.5px solid red;
  /* 枠線 */
  background-color: #ffa5a5;
}

/* line 169, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp table.passlr_sel td.num.db_chk {
  background-color: #a2ffff;
}

/* line 172, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp table.passlr_sel td.num.ki {
  font-size: 0.7em;
}

/* line 175, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp table.passlr_sel td.chked {
  background-color: #a2ffff;
}

/* line 178, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp table.passlr_sel td.kyoin.title {
  border: 0.5px solid #000000;
  /* 枠線 */
  background-color: #ececec;
  color: #000000;
}

/* line 183, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp table.passlr_sel td.kyoin.num {
  background-color: #e6e6e6;
  color: #000000;
  font-weight: bold;
  text-decoration: none;
  /*下線を引く*/
}

/* line 189, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp table.passlr_sel td.kyoin.num.ki {
  font-size: 0.7em;
}

/* line 192, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp table.passlr_sel td.kyoin.chked {
  background-color: #2196f3;
  color: #ffffff;
}

/* line 199, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp div.menu {
  margin: 2px 0px 0px 3.5px;
  font-size: 14px;
}

/* line 203, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp div.student {
  margin: 2px 0px 0px 3.5px;
  font-size: 14px;
}

/* line 207, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp div.indi_etc {
  margin: 2px 0px 0px 10px;
  font-size: 0.8em;
}

/* line 212, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp div#add_val {
  word-wrap: break-word;
  width: 330px;
  color: #0000ff;
  font-size: 14px;
  margin: 2px 0px 0px 10px;
}

/* line 219, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp div#del_val {
  word-wrap: break-word;
  width: 330px;
  color: #ff5555;
  font-size: 14px;
  margin: 2px 0px 0px 10px;
}

/* line 226, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp span.juni {
  font-size: 1.1em;
  color: #ff0000;
  font-weight: bold;
}

/* line 231, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp .indent_1 {
  margin: 0px 0px 5px 10px;
}

/* line 234, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp .indent_2 {
  margin: 10px 0px 0px 10px;
}

/* line 239, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp input#reg_sub[type="submit"] {
  margin: 10px 0px 0px 3.5px;
  width: 200px;
  height: 30px;
  transition: .3s;
  border-radius: 3px;
  border: 1px solid black;
}

/* line 247, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp input#reg_sub[type="submit"]:hover {
  width: 200px;
  height: 30px;
  background: black;
  color: white;
}

/* line 253, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp input#mendan[type="submit"] {
  background: #87cefa;
  margin: 10px 0px 0px 3.5px;
  width: 200px;
  height: 50px;
  transition: .3s;
  border-radius: 3px;
  border: 1px solid black;
}

/* line 262, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp input#mendan[type="submit"]:hover {
  background: blue;
  color: white;
}

/* line 266, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp a.menu {
  display: inline-block;
  padding: 0.6em 1em;
  font-size: 12px;
  text-decoration: none;
  color: #2196f3;
  border: solid 1px #2196f3;
  border-radius: 3px;
  transition: .3s;
}

/* line 276, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp a.menu:hover, body#cbtp a.menu.active {
  background: #2196f3;
  color: white;
}

/* line 280, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp a.menu.top {
  margin: 0px 0px 10px 0px;
  padding: 12px 0px 0px 12px;
  height: 30px;
  width: 300px;
  vertical-align: middle;
}

/* line 287, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp a.menu.back {
  margin: 0.6em 1em;
}

/* line 291, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp a.studentnum {
  display: inline-block;
  padding: 0.6em 1em;
  font-size: 12px;
  font-weight: bold;
  text-decoration: none;
  color: #2196f3;
  border: solid 1px #2196f3;
  border-radius: 3px;
  transition: .3s;
}

/* line 302, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp a.studentnum:hover, body#cbtp a.studentnum.active {
  background: #2196f3;
  color: white;
}

/* line 307, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp a.mendan {
  display: inline-block;
  padding: 0.6em 1em;
  font-size: 11px;
  font-weight: bold;
  text-decoration: none;
  color: #191970;
  background: #e0ffff;
  border: solid 1px #191970;
  border-radius: 3px;
  transition: .3s;
}

/* line 319, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp a.mendan:hover, body#cbtp a.mendan.active {
  background: #191970;
  color: white;
}

/* line 323, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp a.del {
  display: inline-block;
  padding: 0.6em 1em;
  font-size: 12px;
  text-decoration: none;
  color: #ff5555;
  border: solid 1px #ff5555;
  border-radius: 3px;
  transition: .3s;
}

/* line 333, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp a.del:hover {
  background: #ff5555;
  color: white;
}

/* line 338, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp button.cbt_show {
  width: 95px;
  height: 30px;
  margin: 10px 0px 0px 3.5px;
  padding: 0px 0px 0px 0px;
  font-size: 14px;
  text-align: center;
  background-color: #f0ffff;
  color: #0a0;
  border: 1px solid #0a0;
  border-radius: 3px;
  transition: .3s;
}

/* line 351, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp button.cbt_show:hover {
  color: white;
  background-color: #0a0;
}

/* line 355, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp button.cbt_show.sel {
  color: white;
  background-color: #0a0;
}

/* line 360, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp button.big_cbt_show {
  width: 120px;
  height: 30px;
  margin: 3px 0px 0px 3.5px;
  padding: 0px 0px 0px 0px;
  font-size: 14px;
  text-align: center;
  background-color: #fff8f8;
  color: #ff5555;
  border: 1px solid #ff5555;
  border-radius: 3px;
  transition: .3s;
}

/* line 373, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp button.big_cbt_show:hover {
  color: white;
  background-color: #ff5555;
}

/* line 377, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp button.big_cbt_show.sel {
  color: white;
  background-color: #ff5555;
}

/* line 382, app/assets/stylesheets/cbtp_lr.scss */
body#cbtp ul.studentmenu {
  list-style: none;
  margin: 10px 0px 5px 3.5px;
  padding: 0px 0px 0px 0px;
}
/**
 * dental-notation.css — Palmer 歯式・丸数字・分数の表示スタイル（単体版）
 *
 * 出典: TKG プロジェクト render.css の歯式関連ルールを抽出し、
 *       スコープを .preview → .dental に変更。
 * 使い方: レンダラ出力を <span class="dental">…</span> の中に入れる。
 *   罫線色は #111 固定。色を変えたい場合は背景(#111)指定を currentColor 等へ。
 */
/* ── 分数 ── */
.dental .frac {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  vertical-align: middle;
  font-size: 0.85em;
  line-height: 1.1;
  text-align: center;
  margin: 0 0.1em;
}
.dental .frac-num {
  border-bottom: 1px solid currentColor;
  padding: 0 0.2em 0.05em;
}
.dental .frac-den {
  padding: 0.05em 0.2em 0;
}

.dental .choice-row { display: grid; grid-template-columns: max-content 1fr; gap: 1em; margin: 6px 0; align-items: start; }
.dental .choice-row:has(.cross),
.dental .choice-row:has(.cross-separate) { align-items: center; }
.dental .choice-row:has(.cross) .choice-text,
.dental .choice-row:has(.cross-separate) .choice-text { display: flex; align-items: center; }
.dental .choice-row:has(.cross) .choice-label,
.dental .choice-row:has(.cross-separate) .choice-label { align-self: center; }
.dental .choice-label { font-weight: 400; line-height: 1.6em; }
.dental .choice-text > *:first-child { margin-top: 0; }
.dental .choice-text > *:last-child { margin-bottom: 0; }
.dental .choice-text { white-space: pre-wrap; }

/* ── Palmer 歯式 ── */
.dental {
  --p-line: .06em;
  --p-pad: .08em;
  --p-cell: 1.25em;
  --p-cell-gap: 0px;
}

.dental .palmer,
.dental .palmerlink,
.dental .cross,
.dental .cross-separate,
.dental .palmer-run {
  font-family: "MS Mincho", "Yu Gothic", "Segoe UI Symbol", "Noto Sans Symbols 2", "Hiragino Mincho ProN", serif;
  font-size: calc(1em - 0.5pt);
  line-height: 1;
  vertical-align: middle;
}

.dental .palmer {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  flex: 0 0 var(--p-cell);
  width: var(--p-cell);
  height: var(--p-cell);
  min-width: var(--p-cell);
  max-width: var(--p-cell);
  font-size: calc(1em - 0.5pt);
  white-space: pre;
  box-sizing: border-box;
}

.dental .palmer-digit { display: inline-block; }
.dental .palmer-space { background: transparent; }
.dental .palmer.plain::before, .dental .palmer.plain::after { content: none; }

.dental .palmer-run {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: var(--p-cell-gap);
  height: var(--p-cell);
  box-sizing: border-box;
}
.dental .palmer-run::before, .dental .palmer-run::after { content: ""; position: absolute; background: #111; pointer-events: none; }
.dental .palmer-run.q-ur::before { right: 0; top: 0; width: var(--p-line); height: 100%; }
.dental .palmer-run.q-ur::after { left: 0; bottom: 0; width: 100%; height: var(--p-line); }
.dental .palmer-run.q-ul::before { left: 0; top: 0; width: var(--p-line); height: 100%; }
.dental .palmer-run.q-ul::after { left: 0; bottom: 0; width: 100%; height: var(--p-line); }
.dental .palmer-run.q-lr::before { right: 0; top: 0; width: var(--p-line); height: 100%; }
.dental .palmer-run.q-lr::after { left: 0; top: 0; width: 100%; height: var(--p-line); }
.dental .palmer-run.q-ll::before { left: 0; top: 0; width: var(--p-line); height: 100%; }
.dental .palmer-run.q-ll::after { left: 0; top: 0; width: 100%; height: var(--p-line); }
.dental .palmer-run.no-top::after { content: none; }

.dental .palmerlink { display: inline-flex; align-items: center; height: var(--p-cell); white-space: pre; box-sizing: border-box; }
.dental .palmerlink-inner { position: relative; display: inline-flex; align-items: center; padding: 0 var(--p-pad); height: var(--p-cell); }
.dental .palmerlink.u .palmerlink-inner::after,
.dental .palmerlink.l .palmerlink-inner::after { content: ""; position: absolute; left: 0; right: 0; height: var(--p-line); background: #111; }
.dental .palmerlink.u .palmerlink-inner::after { bottom: 0; }
.dental .palmerlink.l .palmerlink-inner::after { top: 0; }
.dental .palmerlink-seg { display: inline-flex; align-items: center; white-space: pre; }
.dental .palmerlink-sep { display: inline-block; width: var(--p-line); height: var(--p-cell); position: relative; }
.dental .palmerlink-sep::before { content: ""; position: absolute; left: 0; top: 0; width: var(--p-line); height: 100%; background: #111; }
.dental .palmerlink-sep.link-tilde { width: 1em; }
.dental .palmerlink-sep.link-tilde::before { left: 50%; transform: translateX(-50%); }
.dental .palmerlink-sep.link-tilde::after,
.dental .cross-vert.link::after {
  content: "\301C"; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); font-size: .7em; line-height: 1; color: #111; pointer-events: none;
}

.dental .cross {
  display: inline-grid;
  grid-template-columns: minmax(var(--p-cell), auto) 1ch minmax(var(--p-cell), auto);
  grid-template-rows: auto var(--p-line) auto;
  width: max-content;
  align-items: center;
  justify-items: center;
}
.dental .cross-left { grid-column: 1; justify-self: end; }
.dental .cross-right { grid-column: 3; justify-self: start; }
.dental .cross-upper { grid-row: 1; }
.dental .cross-lower { grid-row: 3; }
.dental .cross-sep { grid-column: 2; }
.dental .cross-hline { grid-column: 1 / 4; grid-row: 2; height: var(--p-line); background: #111; width: 100%; }
.dental .cross-vert { width: var(--p-line); height: 100%; background: #111; position: relative; }
.dental .cross-separate { display: inline-flex; flex-direction: column; align-items: stretch; width: max-content; }
.dental .cross-separate-row { display: flex; }


/* 文中にインライン配置するときの基本 */
.dental { line-height: 1.7; }
/* line 5, app/assets/stylesheets/el_menus.scss */
table.fixed.el_index {
  font-size: 14px;
}

/* line 7, app/assets/stylesheets/el_menus.scss */
table.fixed.el_index th {
  padding: 5px 10px 5px 10px;
}

/* line 10, app/assets/stylesheets/el_menus.scss */
table.fixed.el_index td {
  padding: 3px 2px 3px 2px;
}
@charset "UTF-8";
/* line 7, app/assets/stylesheets/evaluate_share.scss */
body#evs header {
  background-color: #660000;
  padding: 4px 8px;
}

/* line 11, app/assets/stylesheets/evaluate_share.scss */
body#evs header ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 12px;
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 11px;
}

/* line 20, app/assets/stylesheets/evaluate_share.scss */
body#evs header ul li {
  white-space: nowrap;
}

/* line 21, app/assets/stylesheets/evaluate_share.scss */
body#evs header ul a {
  color: #fff;
  text-decoration: none;
}

/* line 22, app/assets/stylesheets/evaluate_share.scss */
body#evs header ul a:hover {
  color: #ccc;
}

/* line 24, app/assets/stylesheets/evaluate_share.scss */
body#evs h1 {
  background-color: #e38e00;
}

/* line 27, app/assets/stylesheets/evaluate_share.scss */
body#evs h2 {
  background: #ffe0ac;
  border-top: 1px solid #e38e00;
  border-right: 1px solid #e38e00;
  border-left: 7px solid #e38e00;
  border-bottom: 1px solid #e38e00;
  color: #660000;
  margin: 3px 0px 3px 0px;
  padding: 3px 0px 3px 5px;
  font-size: 16px;
}

/* line 38, app/assets/stylesheets/evaluate_share.scss */
body#evs h3 {
  background: #660000;
  color: #ffffff;
  margin: 5px 0px 5px 0px;
  padding: 5px 0px 5px 10px;
  font-size: 14px;
}

/* line 45, app/assets/stylesheets/evaluate_share.scss */
body#evs h4 {
  border-bottom: 1px solid #660000;
  color: #660000;
  margin: 5px 0px 5px 0px;
  padding: 5px 0px 1px 5px;
  font-size: 14px;
}

/* line 52, app/assets/stylesheets/evaluate_share.scss */
body#evs dl#login {
  margin: 5px 0px 5px 0px;
  padding: 0px 0px 0px 0px;
  font-size: 14px;
}

/* line 57, app/assets/stylesheets/evaluate_share.scss */
body#evs dl#login dt {
  float: left;
  width: 100px;
  margin: 0px 0px 0px 0px;
  padding: 1px 0px 1px 10px;
}

/* line 63, app/assets/stylesheets/evaluate_share.scss */
body#evs dl#login dd {
  width: 300px;
  margin: 0px 0px 1px 105px;
  padding: 1px 5px 1px 5px;
}

/* line 70, app/assets/stylesheets/evaluate_share.scss */
body#evs input#reg_sub[type="submit"] {
  margin: 10px 0px 0px 3.5px;
  width: 200px;
  height: 30px;
  transition: .3s;
  border-radius: 3px;
  border: 1px solid #660000;
  background: #ffcf7f;
  color: #660000;
}

/* line 80, app/assets/stylesheets/evaluate_share.scss */
body#evs input#reg_sub[type="submit"]:hover {
  width: 200px;
  height: 30px;
  background: #660000;
  color: white;
}

/* line 86, app/assets/stylesheets/evaluate_share.scss */
body#evs button.score_set {
  width: 290px;
  height: 30px;
  margin: 10px 0px 10px 5px;
  padding: 0px 0px 0px 0px;
  font-size: 12px;
  text-align: center;
  background-color: #ffffdc;
  color: #600;
  border: 1px solid #600;
  border-radius: 3px;
  transition: .3s;
}

/* line 99, app/assets/stylesheets/evaluate_share.scss */
body#evs button.score_set:hover {
  color: #600;
  background-color: #ffff00;
}

/* line 103, app/assets/stylesheets/evaluate_share.scss */
body#evs ul.menu {
  list-style: none;
  margin: 10px 0px 5px 3.5px;
  padding: 0px 0px 0px 0px;
}

/* line 108, app/assets/stylesheets/evaluate_share.scss */
body#evs a.menu {
  display: inline-block;
  padding: 0.6em 1em;
  margin-bottom: 0.6em;
  margin-left: 0.2em;
  font-size: 11px;
  font-weight: bold;
  text-decoration: none;
  color: #660000;
  background: #ffe1c1;
  border: solid 1px #660000;
  border-radius: 3px;
  transition: .3s;
}

/* line 122, app/assets/stylesheets/evaluate_share.scss */
body#evs a.menu:hover, body#evs a.menu.active {
  background: #660000;
  color: white;
}

/* line 126, app/assets/stylesheets/evaluate_share.scss */
body#evs a.menu.del {
  color: #ff3636;
  background: #ffe2e2;
  border: solid 1px #ff3636;
}

/* line 131, app/assets/stylesheets/evaluate_share.scss */
body#evs a.menu.del:hover, body#evs a.menu.active.del {
  background: #ff3636;
  color: white;
}

/* line 135, app/assets/stylesheets/evaluate_share.scss */
body#evs a.menu.back {
  margin: 10px 0px 5px 5px;
  color: #660000;
  background: #ffe0ac;
  border: solid 1px #e38e00;
}

/* line 141, app/assets/stylesheets/evaluate_share.scss */
body#evs a.menu.back:hover, body#evs a.menu.active.del {
  background: #e38e00;
  color: white;
}

/* line 145, app/assets/stylesheets/evaluate_share.scss */
body#evs a.menu.format {
  display: inline-block;
  margin: 5px 0px 5px 10px;
  padding: 0.3em 0.4em;
  font-size: 11px;
  font-weight: bold;
  text-decoration: none;
  color: #228b22;
  background: #ccffcc;
  border: solid 1px #228b22;
  border-radius: 3px;
  transition: .3s;
}

/* line 158, app/assets/stylesheets/evaluate_share.scss */
body#evs a.menu.format:hover, body#evs a.menu.active {
  background: #228b22;
  color: white;
}

/* line 163, app/assets/stylesheets/evaluate_share.scss */
body#evs table.menu {
  word-break: break-all;
  table-layout: fixed;
  margin: 10px 0px 0px 3.5px;
  border-collapse: collapse;
}

/* line 169, app/assets/stylesheets/evaluate_share.scss */
body#evs table.menu th, body#evs table.menu td {
  padding: 10px 3px;
}

/* line 172, app/assets/stylesheets/evaluate_share.scss */
body#evs table.menu th {
  border: 0.5px solid #660000;
  /* 枠線 */
  background-color: #ffe1c1;
  color: #660000;
  font-size: 0.9em;
}

/* line 178, app/assets/stylesheets/evaluate_share.scss */
body#evs table.menu td {
  border: 0.5px solid #660000;
  /* 枠線 */
  background-color: #ffffff;
  color: #660000;
  font-size: 0.85em;
}

/* line 184, app/assets/stylesheets/evaluate_share.scss */
body#evs table.menu td.active {
  background-color: #fffe8a;
}

/* line 192, app/assets/stylesheets/evaluate_share.scss */
body#evs .hosoku {
  font-size: 12px;
  font-weight: bold;
  color: #660000;
}

/* line 197, app/assets/stylesheets/evaluate_share.scss */
body#evs .hosoku.green {
  color: #228b22;
}

/* line 201, app/assets/stylesheets/evaluate_share.scss */
body#evs .notice {
  padding: 3px 0px 3px 11px;
  color: #660000;
  background-color: #fffe8a;
  border: 1px solid #fffe8a;
  font-size: 16px;
  font-weight: bold;
  width: 1000px;
}
/* line 15, app/assets/stylesheets/mihiraki.scss */
body#mihiraki {
  margin: 0;
  padding: 0;
  background: #f0f2f5;
  font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", "Segoe UI", sans-serif;
  -webkit-text-size-adjust: 100%;
  color: #333;
  line-height: 1.6;
}

/* line 25, app/assets/stylesheets/mihiraki.scss */
body#mihiraki .page-header {
  background: linear-gradient(135deg, #0f0f3d 0%, #191970 50%, #2d2d7a 100%);
  padding: 0;
  position: sticky;
  top: 0;
  z-index: 100;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
}

/* line 34, app/assets/stylesheets/mihiraki.scss */
body#mihiraki h1 {
  margin: 0;
  padding: 16px 28px;
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.12em;
}

/* line 42, app/assets/stylesheets/mihiraki.scss */
body#mihiraki .h1-sub {
  font-weight: 400;
  font-size: 13px;
  opacity: 0.7;
  margin-left: 6px;
  letter-spacing: 0.05em;
}

/* line 51, app/assets/stylesheets/mihiraki.scss */
body#mihiraki .main-content {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 20px 60px;
}

/* line 58, app/assets/stylesheets/mihiraki.scss */
body#mihiraki .filter-area {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
  padding: 24px 28px 20px;
  margin: 24px 0;
}

/* line 66, app/assets/stylesheets/mihiraki.scss */
body#mihiraki .filter-label {
  font-size: 12px;
  font-weight: 700;
  color: #999;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  margin-bottom: 16px;
}

/* line 75, app/assets/stylesheets/mihiraki.scss */
body#mihiraki .filter-group {
  margin-bottom: 14px;
}

/* line 79, app/assets/stylesheets/mihiraki.scss */
body#mihiraki .filter-group-label {
  font-size: 11px;
  font-weight: 600;
  color: #aaa;
  margin-bottom: 8px;
  padding-left: 2px;
}

/* line 87, app/assets/stylesheets/mihiraki.scss */
body#mihiraki .filter-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

/* line 93, app/assets/stylesheets/mihiraki.scss */
body#mihiraki .filter-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding-top: 14px;
  margin-top: 4px;
  border-top: 1px solid #eee;
}

/* line 104, app/assets/stylesheets/mihiraki.scss */
body#mihiraki button.kamoku {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 7px 16px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  line-height: 1.3;
  white-space: nowrap;
  outline: none;
  border: 1.5px solid transparent;
}

/* line 119, app/assets/stylesheets/mihiraki.scss */
body#mihiraki button.kamoku:active {
  transform: scale(0.95);
}

/* line 124, app/assets/stylesheets/mihiraki.scss */
body#mihiraki button.kamoku.kiso {
  border-color: #f8e7b0;
  background: #fdf8e8;
  color: #5c4a00;
}

/* line 129, app/assets/stylesheets/mihiraki.scss */
body#mihiraki button.kamoku.kiso:hover, body#mihiraki button.kamoku.kiso.active {
  background: #b8960a;
  border-color: #b8960a;
  color: #fff;
  box-shadow: 0 2px 8px rgba(184, 150, 10, 0.3);
}

/* line 137, app/assets/stylesheets/mihiraki.scss */
body#mihiraki button.kamoku.rinsyo {
  border-color: #e8cde1;
  background: #f8f0f6;
  color: #5c2d50;
}

/* line 142, app/assets/stylesheets/mihiraki.scss */
body#mihiraki button.kamoku.rinsyo:hover, body#mihiraki button.kamoku.rinsyo.active {
  background: #8c5a80;
  border-color: #8c5a80;
  color: #fff;
  box-shadow: 0 2px 8px rgba(140, 90, 128, 0.3);
}

/* line 150, app/assets/stylesheets/mihiraki.scss */
body#mihiraki button.kamoku.all {
  background: #191970;
  border-color: #191970;
  color: #fff;
}

/* line 155, app/assets/stylesheets/mihiraki.scss */
body#mihiraki button.kamoku.all:hover, body#mihiraki button.kamoku.all.active {
  background: #22229a;
  box-shadow: 0 2px 8px rgba(25, 25, 112, 0.3);
}

/* line 161, app/assets/stylesheets/mihiraki.scss */
body#mihiraki button.kamoku.teisei {
  background: #eef4fc;
  border-color: #c3d8f4;
  color: #2979d6;
}

/* line 166, app/assets/stylesheets/mihiraki.scss */
body#mihiraki button.kamoku.teisei:hover, body#mihiraki button.kamoku.teisei.active {
  background: #2979d6;
  border-color: #2979d6;
  color: #fff;
  box-shadow: 0 2px 8px rgba(41, 121, 214, 0.3);
}

/* line 175, app/assets/stylesheets/mihiraki.scss */
body#mihiraki .sections-grid {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* line 181, app/assets/stylesheets/mihiraki.scss */
body#mihiraki .section-card {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
  overflow: hidden;
  transition: box-shadow 0.2s;
}

/* line 188, app/assets/stylesheets/mihiraki.scss */
body#mihiraki .section-card:hover {
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

/* line 192, app/assets/stylesheets/mihiraki.scss */
body#mihiraki .section-card.kiso {
  border-left: 4px solid #b8960a;
}

/* line 195, app/assets/stylesheets/mihiraki.scss */
body#mihiraki .section-card.rinsyo {
  border-left: 4px solid #8c5a80;
}

/* line 198, app/assets/stylesheets/mihiraki.scss */
body#mihiraki .section-card.teisei-card {
  border-left: 4px solid #2979d6;
}

/* line 204, app/assets/stylesheets/mihiraki.scss */
body#mihiraki h3 {
  margin: 0;
  padding: 14px 24px;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.04em;
}

/* line 211, app/assets/stylesheets/mihiraki.scss */
body#mihiraki h3.kiso {
  background: linear-gradient(135deg, #b8960a, #a08209);
  color: #fff;
}

/* line 215, app/assets/stylesheets/mihiraki.scss */
body#mihiraki h3.rinsyo {
  background: linear-gradient(135deg, #8c5a80, #7c5072);
  color: #fff;
}

/* line 219, app/assets/stylesheets/mihiraki.scss */
body#mihiraki h3.teisei {
  background: linear-gradient(135deg, #2979d6, #2266b4);
  color: #fff;
}

/* line 225, app/assets/stylesheets/mihiraki.scss */
body#mihiraki ul.theme {
  list-style: none;
  margin: 0;
  padding: 4px 0;
}

/* line 231, app/assets/stylesheets/mihiraki.scss */
body#mihiraki ul.theme li.theme {
  margin: 0 12px;
  border-bottom: 1px solid #f3f3f3;
}

/* line 235, app/assets/stylesheets/mihiraki.scss */
body#mihiraki ul.theme li.theme:last-child {
  border-bottom: none;
}

/* line 240, app/assets/stylesheets/mihiraki.scss */
body#mihiraki ul.theme a {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  text-decoration: none;
  font-size: 14px;
  line-height: 1.5;
  border-radius: 8px;
  transition: all 0.15s ease;
}

/* line 252, app/assets/stylesheets/mihiraki.scss */
body#mihiraki ul.theme a::before {
  content: "";
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  border-radius: 4px;
  background: currentColor;
  opacity: 0.15;
  transition: opacity 0.15s;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 2C4.9 2 4 2.9 4 4v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V8l-6-6H6zm7 7V3.5L18.5 9H13zM8 12h8v2H8v-2zm0 4h5v2H8v-2z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 2C4.9 2 4 2.9 4 4v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V8l-6-6H6zm7 7V3.5L18.5 9H13zM8 12h8v2H8v-2zm0 4h5v2H8v-2z'/%3E%3C/svg%3E");
  mask-size: contain;
  -webkit-mask-size: contain;
}

/* line 268, app/assets/stylesheets/mihiraki.scss */
body#mihiraki ul.theme a:hover::before {
  opacity: 0.5;
}

/* line 274, app/assets/stylesheets/mihiraki.scss */
body#mihiraki ul.theme a.kiso {
  color: #5c4a00;
}

/* line 276, app/assets/stylesheets/mihiraki.scss */
body#mihiraki ul.theme a.kiso:hover {
  background: #fdf8e8;
}

/* line 281, app/assets/stylesheets/mihiraki.scss */
body#mihiraki ul.theme a.rinsyo {
  color: #5c2d50;
}

/* line 283, app/assets/stylesheets/mihiraki.scss */
body#mihiraki ul.theme a.rinsyo:hover {
  background: #f8f0f6;
}

/* line 289, app/assets/stylesheets/mihiraki.scss */
body#mihiraki .teisei-body {
  padding: 8px 24px 20px;
}

/* line 293, app/assets/stylesheets/mihiraki.scss */
body#mihiraki h4 {
  margin: 18px 0 6px;
  font-size: 14px;
  color: #333;
  font-weight: 700;
  padding-bottom: 4px;
  border-bottom: 1px dashed #ddd;
}

/* line 302, app/assets/stylesheets/mihiraki.scss */
body#mihiraki h5 {
  position: relative;
  padding-left: 16px;
  margin: 12px 0 4px;
  font-size: 13px;
  font-weight: 600;
  color: #191970;
  line-height: 1.5;
}

/* line 311, app/assets/stylesheets/mihiraki.scss */
body#mihiraki h5::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.4em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #2979d6;
}

/* line 323, app/assets/stylesheets/mihiraki.scss */
body#mihiraki .teiseinaiyou {
  margin: 2px 0 8px 16px;
  padding: 8px 12px;
  font-size: 12px;
  font-weight: 500;
  color: #555;
  line-height: 1.7;
  background: #fafafa;
  border-radius: 6px;
  border-left: 3px solid #ddd;
}

/* line 336, app/assets/stylesheets/mihiraki.scss */
body#mihiraki .arrow {
  position: relative;
  display: inline-block;
  padding: 0 0 0 16px;
  vertical-align: middle;
  text-decoration: none;
  font-size: 14px;
}

/* line 345, app/assets/stylesheets/mihiraki.scss */
body#mihiraki h2 {
  background: #fff;
}

@media (max-width: 768px) {
  /* line 351, app/assets/stylesheets/mihiraki.scss */
  body#mihiraki h1 {
    font-size: 16px;
    padding: 14px 20px;
  }
  /* line 355, app/assets/stylesheets/mihiraki.scss */
  body#mihiraki .main-content {
    padding: 0 12px 48px;
  }
  /* line 358, app/assets/stylesheets/mihiraki.scss */
  body#mihiraki .filter-area {
    padding: 20px 20px 16px;
    margin: 16px 0;
    border-radius: 10px;
  }
  /* line 363, app/assets/stylesheets/mihiraki.scss */
  body#mihiraki .filter-buttons {
    gap: 6px;
  }
  /* line 366, app/assets/stylesheets/mihiraki.scss */
  body#mihiraki button.kamoku {
    padding: 6px 12px;
    font-size: 12px;
  }
  /* line 370, app/assets/stylesheets/mihiraki.scss */
  body#mihiraki h3 {
    padding: 12px 20px;
    font-size: 14px;
  }
  /* line 374, app/assets/stylesheets/mihiraki.scss */
  body#mihiraki ul.theme li.theme {
    margin: 0 8px;
  }
  /* line 377, app/assets/stylesheets/mihiraki.scss */
  body#mihiraki ul.theme a {
    padding: 11px 12px;
    font-size: 13px;
    gap: 10px;
  }
  /* line 382, app/assets/stylesheets/mihiraki.scss */
  body#mihiraki .teisei-body {
    padding: 8px 20px 16px;
  }
}

@media (max-width: 480px) {
  /* line 389, app/assets/stylesheets/mihiraki.scss */
  body#mihiraki .page-header {
    position: static;
  }
  /* line 392, app/assets/stylesheets/mihiraki.scss */
  body#mihiraki h1 {
    font-size: 15px;
    padding: 12px 16px;
    letter-spacing: 0.08em;
  }
  /* line 397, app/assets/stylesheets/mihiraki.scss */
  body#mihiraki .h1-sub {
    display: block;
    margin-left: 0;
    margin-top: 2px;
    font-size: 11px;
  }
  /* line 403, app/assets/stylesheets/mihiraki.scss */
  body#mihiraki .main-content {
    padding: 0 8px 40px;
  }
  /* line 406, app/assets/stylesheets/mihiraki.scss */
  body#mihiraki .filter-area {
    padding: 16px 14px 12px;
    margin: 12px 0;
    border-radius: 8px;
  }
  /* line 411, app/assets/stylesheets/mihiraki.scss */
  body#mihiraki .filter-label {
    font-size: 11px;
    margin-bottom: 12px;
  }
  /* line 415, app/assets/stylesheets/mihiraki.scss */
  body#mihiraki .filter-group-label {
    font-size: 10px;
  }
  /* line 418, app/assets/stylesheets/mihiraki.scss */
  body#mihiraki .filter-buttons {
    gap: 5px;
  }
  /* line 421, app/assets/stylesheets/mihiraki.scss */
  body#mihiraki button.kamoku {
    padding: 5px 10px;
    font-size: 11px;
    border-radius: 16px;
  }
  /* line 426, app/assets/stylesheets/mihiraki.scss */
  body#mihiraki .section-card {
    border-radius: 8px;
  }
  /* line 429, app/assets/stylesheets/mihiraki.scss */
  body#mihiraki h3 {
    padding: 10px 14px;
    font-size: 13px;
  }
  /* line 433, app/assets/stylesheets/mihiraki.scss */
  body#mihiraki ul.theme {
    padding: 2px 0;
  }
  /* line 436, app/assets/stylesheets/mihiraki.scss */
  body#mihiraki ul.theme li.theme {
    margin: 0 6px;
  }
  /* line 439, app/assets/stylesheets/mihiraki.scss */
  body#mihiraki ul.theme a {
    padding: 10px 10px;
    font-size: 12px;
    gap: 8px;
  }
  /* line 444, app/assets/stylesheets/mihiraki.scss */
  body#mihiraki ul.theme a::before {
    width: 16px;
    height: 16px;
  }
  /* line 449, app/assets/stylesheets/mihiraki.scss */
  body#mihiraki .teisei-body {
    padding: 6px 14px 14px;
  }
  /* line 452, app/assets/stylesheets/mihiraki.scss */
  body#mihiraki h4 {
    font-size: 13px;
    margin: 14px 0 4px;
  }
  /* line 456, app/assets/stylesheets/mihiraki.scss */
  body#mihiraki h5 {
    font-size: 12px;
    padding-left: 14px;
  }
  /* line 460, app/assets/stylesheets/mihiraki.scss */
  body#mihiraki h5::before {
    width: 6px;
    height: 6px;
    top: 0.45em;
  }
  /* line 466, app/assets/stylesheets/mihiraki.scss */
  body#mihiraki .teiseinaiyou {
    font-size: 11px;
    padding: 6px 10px;
    margin-left: 14px;
  }
  /* line 471, app/assets/stylesheets/mihiraki.scss */
  body#mihiraki .sections-grid {
    gap: 12px;
  }
}
@charset "UTF-8";
/* line 6, app/assets/stylesheets/rshk.scss.erb */
body#rshk {
  /* 横並び用 */
  /* 横並び用終わり */
  /* 成功時通知メッセージ関連 */
  /* 失敗系通知メッセージ関連 */
  /* 失敗系通知メッセージ関連 */
  /* メニュー画面のリンクボタン用 */
}

/* line 8, app/assets/stylesheets/rshk.scss.erb */
body#rshk header {
  height: 20px;
  background-color: #999;
  padding: 1px 0px 0px 3.5px;
}

/* line 13, app/assets/stylesheets/rshk.scss.erb */
body#rshk header ul {
  padding: 0px 0px 0px 15px;
  width: 400px;
}

/* line 17, app/assets/stylesheets/rshk.scss.erb */
body#rshk h1 {
  background-color: #009999;
}

/* line 21, app/assets/stylesheets/rshk.scss.erb */
body#rshk h2 {
  background: #F8F8FF;
  border-top: none;
  border-right: 1px solid #999999;
  border-left: 7px solid #999999;
  border-bottom: none;
  color: #262626;
  margin: 3px 0px 3px 0px;
  padding: 3px 0px 3px 5px;
  font-size: 16px;
}

/* line 33, app/assets/stylesheets/rshk.scss.erb */
body#rshk h3 {
  background: #FFFFFF;
  border-bottom: 1px solid #009999;
  border-top: 1px solid #009999;
  border-left: 7px solid #009999;
  border-right: none;
  color: #262626;
  margin: 3px 0px 3px 0px;
  padding: 3px 0px 3px 5px;
  font-size: 14px;
}

/* line 45, app/assets/stylesheets/rshk.scss.erb */
body#rshk ul {
  list-style: none;
  padding-inline-start: 0px;
}

/* line 50, app/assets/stylesheets/rshk.scss.erb */
body#rshk .s_moji {
  font-size: 14px;
}

/* line 55, app/assets/stylesheets/rshk.scss.erb */
body#rshk .border_01 {
  border-width: 3px 0 0 0;
  border-style: solid;
  border-color: #009999;
}

/* line 61, app/assets/stylesheets/rshk.scss.erb */
body#rshk .border_02 {
  border-width: 1px 0 0 0;
  border-style: solid;
  border-color: #009999;
}

/* line 69, app/assets/stylesheets/rshk.scss.erb */
body#rshk .hihyouji {
  display: none;
}

/* line 74, app/assets/stylesheets/rshk.scss.erb */
body#rshk .boxes {
  display: flex;
  max-width: 1000px;
  font-size: 14px;
}

/* line 79, app/assets/stylesheets/rshk.scss.erb */
body#rshk .box {
  margin: 1em 0;
  padding: 0.5em;
}

/* line 83, app/assets/stylesheets/rshk.scss.erb */
body#rshk .title {
  background-color: #B2E0E0;
  width: 100px;
}

/* line 87, app/assets/stylesheets/rshk.scss.erb */
body#rshk .content {
  background-color: #F8F8FF;
  width: 200px;
}

/* line 92, app/assets/stylesheets/rshk.scss.erb */
body#rshk 　　
.boxes_s {
  display: flex;
  max-width: 700px;
  height: 30px;
  font-size: 14px;
}

/* line 99, app/assets/stylesheets/rshk.scss.erb */
body#rshk .box_s {
  margin: 1em 0;
  padding: 0.5em;
}

/* line 103, app/assets/stylesheets/rshk.scss.erb */
body#rshk .serch_title {
  width: 100px;
}

/* line 107, app/assets/stylesheets/rshk.scss.erb */
body#rshk .serch_content {
  width: 300px;
}

/* line 112, app/assets/stylesheets/rshk.scss.erb */
body#rshk .table_title {
  background-color: #B2E0E0;
}

/* line 116, app/assets/stylesheets/rshk.scss.erb */
body#rshk .table_row_1 {
  background-color: #F7F7F7;
}

/* line 120, app/assets/stylesheets/rshk.scss.erb */
body#rshk .table_row_2 {
  background-color: #EAEAEA;
}

/* line 124, app/assets/stylesheets/rshk.scss.erb */
body#rshk .table_col_1 {
  background-color: #B2E0E0;
}

/* line 128, app/assets/stylesheets/rshk.scss.erb */
body#rshk .center {
  text-align: center;
}

/* line 131, app/assets/stylesheets/rshk.scss.erb */
body#rshk .center * {
  margin-right: auto;
  margin-left: auto;
}

/* line 137, app/assets/stylesheets/rshk.scss.erb */
body#rshk .left {
  text-align: left;
}

/* line 141, app/assets/stylesheets/rshk.scss.erb */
body#rshk .right {
  text-align: right;
}

/* line 145, app/assets/stylesheets/rshk.scss.erb */
body#rshk .invisible {
  display: none;
}

/* line 149, app/assets/stylesheets/rshk.scss.erb */
body#rshk .b_font {
  font-weight: bold;
}

/* line 153, app/assets/stylesheets/rshk.scss.erb */
body#rshk .buttun_gray {
  appearance: none;
  border-radius: 3px;
  border-width: 1px;
  border-color: #767676;
  border-style: outset;
  text-align: center;
  background: #EFEFEF;
  padding: 1px 6px;
  font-size: 14px;
  font-color: #000000;
}

/* line 165, app/assets/stylesheets/rshk.scss.erb */
body#rshk .buttun_gray a {
  text-decoration: none;
}

/* line 169, app/assets/stylesheets/rshk.scss.erb */
body#rshk .buttun_gray:hover {
  background: #E5E5E5;
  color: white;
}

/* line 181, app/assets/stylesheets/rshk.scss.erb */
body#rshk .notice {
  padding: 3px 0px 3px 11px;
  color: #009999;
  background-color: #FFFFFF;
  border: 1px solid #B2E0E0;
  font-size: 12px;
  font-weight: bold;
  width: 100%;
}

/* line 192, app/assets/stylesheets/rshk.scss.erb */
body#rshk .danger {
  padding: 3px 0px 3px 11px;
  color: red;
  background-color: #ffcccc;
  border: 1px solid #ffcccc;
  font-size: 16px;
  font-weight: bold;
  width: 100%;
}

/* line 203, app/assets/stylesheets/rshk.scss.erb */
body#rshk .mitatu {
  color: red;
  font-weight: bold;
}

/* line 210, app/assets/stylesheets/rshk.scss.erb */
body#rshk .btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 300px;
  height: 60px;
  color: #262626;
  font-size: 18px;
  font-weight: 700;
  text-decoration: none;
  transition: 0.3s;
}

/* line 224, app/assets/stylesheets/rshk.scss.erb */
body#rshk .btn a:hover {
  color: #009999;
}

/* line 228, app/assets/stylesheets/rshk.scss.erb */
body#rshk .btn06 a {
  background-color: #B2E0E0;
  border: 1px solid transparent;
  color: #262626;
}

/* line 234, app/assets/stylesheets/rshk.scss.erb */
body#rshk .btn06 a::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 20px;
  transform: rotate(45deg) translateY(-50%);
  width: 6px;
  height: 6px;
  border-width: 2px 2px 0 0;
  border-style: solid;
  border-color: #262626;
}

/* line 247, app/assets/stylesheets/rshk.scss.erb */
body#rshk .btn06 a:hover {
  background-color: #B2E0E0;
  border: 1px solid #009999;
}

/* line 252, app/assets/stylesheets/rshk.scss.erb */
body#rshk .btn06 a:hover::after {
  border-color: #009999 #009999 transparent transparent;
}

/* line 256, app/assets/stylesheets/rshk.scss.erb */
body#rshk .full-img {
  background-image: url(/assets/main-f55312d1ac5e3857204ef604bbb94932f8b76676641c340a9bae4503f70bd631.jpg);
  /* 画像のURLを指定       */
  /* 画像を常に天地左右の中央に配置 */
  background-position: center center;
  /* 画像をタイル状に繰り返し表示しない */
  background-repeat: no-repeat;
  /* コンテンツの高さが画像の高さより大きい時、動かないように固定 */
  background-attachment: fixed;
  /* 表示するコンテナの大きさに基づいて、背景画像を調整 */
  background-size: cover;
  /* 背景画像が読み込まれる前に表示される背景のカラー */
  background-color: #2F64AB;
}

/* line 271, app/assets/stylesheets/rshk.scss.erb */
body#rshk .hosoku_rshk {
  font-size: 12px;
  color: #FFFFFF;
}

/* line 276, app/assets/stylesheets/rshk.scss.erb */
body#rshk .login {
  font-size: 16px;
  font-weight: bold;
  color: #FFFFFF;
}

/* line 281, app/assets/stylesheets/rshk.scss.erb */
body#rshk .login_title {
  font-size: 30px;
  font-weight: bold;
  color: #FFFFFF;
}
@charset "UTF-8";
/* 本ファイルは、検証・本番でファイルを変更する予定のため、git管理対象から外す。 */
/* 変数の定義 */
/* 色関係 */
/* 
本番用
$maincolor: #191970;

検証用
$maincolor: #006400;

*/
/* フォント関係 */
/* ヘッダー関連　*/
/* line 28, app/assets/stylesheets/syl_dtl.scss */
header {
  height: 30px;
  margin: 0px;
  background-color: #191970;
  color: #ffffff;
  font-family: "Hiragino Kaku Gothic ProN", "メイリオ", sans-serif;
  border-bottom: solid 1px #ececec;
}

/* line 35, app/assets/stylesheets/syl_dtl.scss */
header ul {
  width: 1000px;
  margin: 0px;
  padding: 5px 0px 0px 30px;
  font-size: 12px;
}

/* line 40, app/assets/stylesheets/syl_dtl.scss */
header ul li {
  list-style: none;
  display: inline-block;
  padding: 0px 10px 0px 0px;
}

/* line 44, app/assets/stylesheets/syl_dtl.scss */
header ul li a {
  text-decoration: none;
  color: #ffffff;
}

/* line 48, app/assets/stylesheets/syl_dtl.scss */
header ul li a:hover {
  color: red;
}
@charset "UTF-8";
/* 変数の定義 */
/* 色関係 */
/* 
本番用
$maincolor: #191970;

検証用
$maincolor: #006400;

*/
/* 複写科目選択画面用の色 */
/* リンク関係 */
/* 達成P／ブループリントリンク */
/* excelリンク */
/* 履歴作成リンク */
/* 複写リンク */
/* 削除リンク */
/* フォーカス関係 */
/* 通知メッセージ関係 */
/* エラー関係 */
/* ボタン関係 */
/* 枠線関係 */
/* フォント関係 */
/* 文字色の細かい指定 */
/* line 77, app/assets/stylesheets/syllabus.scss */
.font_red {
  color: red;
}

/* 失敗系通知メッセージ関連 */
/* line 83, app/assets/stylesheets/syllabus.scss */
.danger {
  padding: 3px 0px 3px 11px;
  color: red;
  background-color: #ffcccc;
  border: 1px solid #ffcccc;
  font-size: 16px;
  font-weight: bold;
  width: 1000px;
}

/* 成功時通知メッセージ関連 */
/* line 94, app/assets/stylesheets/syllabus.scss */
.notice {
  padding: 3px 0px 3px 11px;
  color: #0000ff;
  background-color: #87cefa;
  border: 1px solid #87cefa;
  font-size: 16px;
  font-weight: bold;
  width: 1000px;
}

/* システム的なメッセージを通知するためのクラス */
/* line 106, app/assets/stylesheets/syllabus.scss */
.sys_info {
  padding: 3px 0px 3px 11px;
  color: red;
  background-color: #ffcccc;
  border: 1px solid #ffcccc;
  font-size: 14px;
  font-weight: bold;
}

/* エラー表示部分関連 */
/* line 116, app/assets/stylesheets/syllabus.scss */
#error_explanation {
  border-top: 1px solid red;
  border-right: 1px solid red;
  border-left: 1px solid red;
  border-bottom: 1px solid red;
  color: red;
}

/* line 123, app/assets/stylesheets/syllabus.scss */
#error_explanation h2 {
  padding: 3px 0px 3px 11px;
  margin: 0px 0px 0px 0px;
  border-style: none;
  background: #ffcccc;
  color: red;
  font-size: 16px;
  /*
    border-top:1px solid $maincolor;  
    border-right:1px solid $maincolor;  
    border-left:7px solid $maincolor;  
    border-bottom:1px solid $maincolor;  
*/
}

/* コンテンツ部分をレイアウトでかこっている。container */
/* ボディー関連 */
/* line 145, app/assets/stylesheets/syllabus.scss */
body {
  margin: 0px;
  font-family: "Hiragino Kaku Gothic ProN", "メイリオ", sans-serif;
}

/* line 150, app/assets/stylesheets/syllabus.scss */
header {
  background-color: #191970;
  padding: 4px 8px;
}

/* line 154, app/assets/stylesheets/syllabus.scss */
header ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 12px;
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 11px;
}

/* line 163, app/assets/stylesheets/syllabus.scss */
header ul li {
  white-space: nowrap;
}

/* line 164, app/assets/stylesheets/syllabus.scss */
header ul a {
  color: #fff;
  text-decoration: none;
}

/* line 165, app/assets/stylesheets/syllabus.scss */
header ul a:hover {
  color: #ccc;
}

/* フッター関連　*/
/* うまくいかないので、footerを一旦削除 */
/* 
footer {
  height: 50px;
  margin: 0px;
  background-color: $sub2_color;
  color: $sub2_font;
  font-family: $font_fam_go;

  ul {
    margin: 0px;      
    padding: 5px 0px 0px 30px;
    li {
      list-style:none;
      display: inline-block;
      padding: 0px 10px 0px 0px;
    }    
  }  
}
*/
/* 見出し関連 */
/* line 191, app/assets/stylesheets/syllabus.scss */
h1 {
  background-color: #000000;
  color: #ffffff;
  margin: 0px;
  padding: 5px 0px 5px 30px;
  font-size: 16px;
  letter-spacing: 0.2em;
}

/* line 199, app/assets/stylesheets/syllabus.scss */
h1.sub {
  padding: 0px 0px 5px 30px;
  font-size: 12px;
  letter-spacing: 0.2em;
}

/* line 205, app/assets/stylesheets/syllabus.scss */
h2 {
  background: #ececec;
  border-top: 1px solid #191970;
  border-right: 1px solid #191970;
  border-left: 7px solid #191970;
  border-bottom: 1px solid #191970;
  color: #000000;
  margin: 3px 0px 3px 0px;
  padding: 3px 0px 3px 5px;
  font-size: 16px;
}

/* line 216, app/assets/stylesheets/syllabus.scss */
h2.upyohaku {
  margin: 50px 0px 3px 0px;
}

/* line 220, app/assets/stylesheets/syllabus.scss */
h3 {
  background: #191970;
  color: #ffffff;
  margin: 5px 0px 5px 0px;
  padding: 5px 0px 5px 10px;
  font-size: 14px;
}

/* line 227, app/assets/stylesheets/syllabus.scss */
#cp_sel h3 {
  background: green;
}

/* line 232, app/assets/stylesheets/syllabus.scss */
h4 {
  border-bottom: 1px solid #191970;
  color: #191970;
  margin: 5px 0px 5px 0px;
  padding: 5px 0px 1px 5px;
  font-size: 14px;
}

/* レイアウト調整 */
/* line 241, app/assets/stylesheets/syllabus.scss */
.height_30 {
  height: 30px;
}

/* dl,dd,dt関連 */
/* 左フレームの検索関連のdl */
/* line 248, app/assets/stylesheets/syllabus.scss */
dl#search {
  border: 1px solid #191970;
  margin: 3px 0px 3px 0px;
  padding: 3px 5px 3px 5px;
}

/* line 252, app/assets/stylesheets/syllabus.scss */
dl#search dt {
  border-bottom: 3px solid #000000;
  color: #000000;
  font-size: 12px;
  margin: 0px 0px 0px 0px;
  padding: 0px 0px 0px 0px;
}

/* line 260, app/assets/stylesheets/syllabus.scss */
dl#search dd {
  margin: 0px 0px 10px 5px;
}

/* シラバス情報表示画面のdl */
/* line 266, app/assets/stylesheets/syllabus.scss */
dl#syl_basic {
  margin: 5px 0px 5px 0px;
  padding: 0px 0px 0px 0px;
  font-size: 14px;
}

/* line 271, app/assets/stylesheets/syllabus.scss */
dl#syl_basic dt {
  float: left;
  width: 175px;
  background-color: #191970;
  color: #ffffff;
  margin: 0px 0px 0px 0px;
  padding: 1px 0px 1px 10px;
  border: 1px solid #000000;
}

/* line 280, app/assets/stylesheets/syllabus.scss */
dl#syl_basic dd {
  width: 800px;
  margin: 0px 0px 1px 190px;
  padding: 1px 5px 1px 5px;
  border: 1px solid #000000;
}

/* line 288, app/assets/stylesheets/syllabus.scss */
dl#syl_basic.login dd {
  width: 400px;
}

/* line 293, app/assets/stylesheets/syllabus.scss */
dl#syl_basic.kai dt {
  width: 400px;
}

/* line 296, app/assets/stylesheets/syllabus.scss */
dl#syl_basic.kai dd {
  width: 150px;
  margin: 0px 0px 1px 415px;
}

/* line 302, app/assets/stylesheets/syllabus.scss */
dl#syl_basic.houhou dt {
  background-color: #e0ffff;
  color: #191970;
  width: 350px;
  height: 25px;
  display: flex;
  align-items: center;
}

/* line 310, app/assets/stylesheets/syllabus.scss */
dl#syl_basic.houhou dd {
  color: #191970;
  width: 350px;
  height: 25px;
  display: flex;
  align-items: center;
  margin: 0px 0px 1px 362px;
  font-size: 12px;
  border-left-width: 0px;
}

/* line 322, app/assets/stylesheets/syllabus.scss */
label.houhou {
  margin: 0px 20px 0px 10px;
}

/* line 327, app/assets/stylesheets/syllabus.scss */
.colhaba_01 {
  width: 30px;
}

/* line 330, app/assets/stylesheets/syllabus.scss */
.colhaba_02 {
  width: 50px;
}

/* line 333, app/assets/stylesheets/syllabus.scss */
.colhaba_03 {
  width: 75px;
}

/* line 336, app/assets/stylesheets/syllabus.scss */
.colhaba_04 {
  width: 100px;
}

/* line 339, app/assets/stylesheets/syllabus.scss */
.colhaba_05 {
  width: 125px;
}

/* line 342, app/assets/stylesheets/syllabus.scss */
.colhaba_06 {
  width: 150px;
}

/* line 345, app/assets/stylesheets/syllabus.scss */
.colhaba_07 {
  width: 175px;
}

/* line 348, app/assets/stylesheets/syllabus.scss */
.colhaba_08 {
  width: 200px;
}

/* line 351, app/assets/stylesheets/syllabus.scss */
.colhaba_10 {
  width: 250px;
}

/* line 354, app/assets/stylesheets/syllabus.scss */
.colhaba_11 {
  width: 275px;
}

/* line 357, app/assets/stylesheets/syllabus.scss */
.colhaba_12 {
  width: 300px;
}

/* line 360, app/assets/stylesheets/syllabus.scss */
.colhaba_14 {
  width: 350px;
}

/* line 363, app/assets/stylesheets/syllabus.scss */
.colhaba_15 {
  width: 375px;
}

/* line 366, app/assets/stylesheets/syllabus.scss */
.colhaba_16 {
  width: 400px;
}

/* line 369, app/assets/stylesheets/syllabus.scss */
.colhaba_18 {
  width: 450px;
}

/* line 372, app/assets/stylesheets/syllabus.scss */
.colhaba_24 {
  width: 600px;
}

/* line 375, app/assets/stylesheets/syllabus.scss */
.colhaba_28 {
  width: 700px;
}

/* line 378, app/assets/stylesheets/syllabus.scss */
.colhaba_32 {
  width: 800px;
}

/* 余白関連 */
/* line 383, app/assets/stylesheets/syllabus.scss */
.yohaku_left {
  margin: 0px 0px 0px 10px;
}

/* table関連 */
/* 授業科目一覧画面のテーブル */
/* line 389, app/assets/stylesheets/syllabus.scss */
table.fixed {
  word-break: break-all;
  table-layout: fixed;
  font-size: 12px;
}

/* line 394, app/assets/stylesheets/syllabus.scss */
table.fixed th {
  background-color: #191970;
  color: #ffffff;
}

/* line 400, app/assets/stylesheets/syllabus.scss */
table.fixed td {
  background-color: #d3d3d3;
  color: #000000;
}

/* line 404, app/assets/stylesheets/syllabus.scss */
table.fixed .center {
  text-align: center;
}

/* line 407, app/assets/stylesheets/syllabus.scss */
table.fixed a {
  text-decoration: none;
}

/* line 410, app/assets/stylesheets/syllabus.scss */
table.fixed a:hover {
  color: red;
}

/* line 415, app/assets/stylesheets/syllabus.scss */
table.shelf {
  width: 910px;
}

/* line 419, app/assets/stylesheets/syllabus.scss */
table.shelfupd {
  width: 888px;
}

/* line 424, app/assets/stylesheets/syllabus.scss */
table.fixed.itiran {
  width: 732px;
}

/* line 427, app/assets/stylesheets/syllabus.scss */
table.fixed.cp_sel {
  width: 500px;
}

/* line 430, app/assets/stylesheets/syllabus.scss */
table.fixed.show {
  width: 1301px;
  border-bottom: 1px solid #191970;
  border-collapse: collapse;
}

/* line 434, app/assets/stylesheets/syllabus.scss */
table.fixed.show th {
  border-top: 1px solid #191970;
  border-right: 1px solid #ffffff;
  border-bottom: 1px solid #ffffff;
  border-left: 1px solid #ffffff;
}

/* line 440, app/assets/stylesheets/syllabus.scss */
table.fixed.show th.sumi_left {
  border-left: 1px solid #191970;
}

/* line 443, app/assets/stylesheets/syllabus.scss */
table.fixed.show th.sumi_right {
  border-right: 1px solid #191970;
}

/* line 446, app/assets/stylesheets/syllabus.scss */
table.fixed.show td {
  background-color: #ffffff;
  border-top: 1px dashed #191970;
  border-left: 1px solid #191970;
  border-right: 1px solid #191970;
}

/* line 452, app/assets/stylesheets/syllabus.scss */
table.fixed.show td.show_line {
  border-top: 1px solid #191970;
}

/* line 456, app/assets/stylesheets/syllabus.scss */
table.fixed.show_dtl {
  width: 1225px;
  border-bottom: 1px solid #191970;
  border-collapse: collapse;
}

/* line 460, app/assets/stylesheets/syllabus.scss */
table.fixed.show_dtl th {
  border-top: 1px solid #191970;
  border-right: 1px solid #ffffff;
  border-bottom: 1px solid #ffffff;
  border-left: 1px solid #ffffff;
}

/* line 466, app/assets/stylesheets/syllabus.scss */
table.fixed.show_dtl th.sumi_left {
  border-left: 1px solid #191970;
}

/* line 469, app/assets/stylesheets/syllabus.scss */
table.fixed.show_dtl th.sumi_right {
  border-right: 1px solid #191970;
}

/* line 472, app/assets/stylesheets/syllabus.scss */
table.fixed.show_dtl td {
  background-color: #ffffff;
  border-top: 1px dashed #191970;
  border-left: 1px solid #191970;
  border-right: 1px solid #191970;
}

/* line 478, app/assets/stylesheets/syllabus.scss */
table.fixed.show_dtl td.show_line {
  border-top: 1px solid #191970;
}

/* line 484, app/assets/stylesheets/syllabus.scss */
table.fixed.jugyo {
  width: 1277px;
  border-collapse: collapse;
}

/* line 487, app/assets/stylesheets/syllabus.scss */
table.fixed.jugyo th {
  border: 1px solid #ffffff;
}

/* line 490, app/assets/stylesheets/syllabus.scss */
table.fixed.jugyo td.jugyo_line {
  border-top: 15px solid #ececec;
}

/* line 495, app/assets/stylesheets/syllabus.scss */
table.fixed.jugyo.new {
  width: 1092px;
}

/* line 500, app/assets/stylesheets/syllabus.scss */
table.fixed.kai {
  width: 1072px;
}

/* line 504, app/assets/stylesheets/syllabus.scss */
table.fixed.unit {
  width: 875px;
}

/* line 508, app/assets/stylesheets/syllabus.scss */
table.fixed.gio {
  width: 1225px;
}

/* line 512, app/assets/stylesheets/syllabus.scss */
table.fixed.sbo {
  width: 1731px;
}

/* line 514, app/assets/stylesheets/syllabus.scss */
table.fixed.sbo tr:nth-child(2n+1) {
  background: #F0FFFF;
}

/* line 523, app/assets/stylesheets/syllabus.scss */
table.fixed.sbo.space {
  border-spacing: 2px 5px;
}

/* line 529, app/assets/stylesheets/syllabus.scss */
#cp_sel table.fixed th {
  background-color: green;
  color: #ffffff;
}

/* line 535, app/assets/stylesheets/syllabus.scss */
table.fixed.bdown_comce {
  width: 339px;
}

/* line 539, app/assets/stylesheets/syllabus.scss */
table.fixed.bdown_comcy {
  width: 693px;
}

/* line 544, app/assets/stylesheets/syllabus.scss */
table.fixed.comcy_new {
  width: 843px;
}

/* line 547, app/assets/stylesheets/syllabus.scss */
table.fixed.comcy_upd {
  width: 920px;
}

/* line 550, app/assets/stylesheets/syllabus.scss */
table.fixed.status {
  width: 270px;
}

/* line 555, app/assets/stylesheets/syllabus.scss */
table.fixed.hst_sel th, table.fixed.hst_sel td {
  padding: 5px 10px 5px 10px;
}

/* line 560, app/assets/stylesheets/syllabus.scss */
table.cbt_unit {
  word-break: break-all;
  table-layout: fixed;
  margin: 0px 0px 0px 10px;
  font-size: 16px;
}

/* line 568, app/assets/stylesheets/syllabus.scss */
table.cbt_unit th {
  background-color: #800000;
  color: #ffffff;
}

/* line 574, app/assets/stylesheets/syllabus.scss */
table.cbt_unit td {
  padding: 1px 7px 1px 7px;
  background-color: #fff8f8;
  color: #800000;
  font-weight: bold;
  text-decoration: underline;
  /*下線を引く*/
}

/* line 581, app/assets/stylesheets/syllabus.scss */
table.cbt_unit .center {
  text-align: center;
}

/* line 584, app/assets/stylesheets/syllabus.scss */
table.cbt_unit a {
  text-decoration: none;
}

/* line 587, app/assets/stylesheets/syllabus.scss */
table.cbt_unit a:hover {
  color: red;
}

/* line 590, app/assets/stylesheets/syllabus.scss */
table.cbt_unit_sel {
  word-break: break-all;
  table-layout: fixed;
  margin: 0px 0px 0px 10px;
  font-size: 16px;
}

/* line 596, app/assets/stylesheets/syllabus.scss */
table.cbt_unit_sel th {
  border: 0.5px solid red;
  /* 枠線 */
  background-color: #ffcccc;
  color: #800000;
}

/* line 601, app/assets/stylesheets/syllabus.scss */
table.cbt_unit_sel td.core {
  border: 0.5px solid red;
  /* 枠線 */
  background-color: #fff8f8;
  color: #800000;
  font-weight: bold;
}

/* line 608, app/assets/stylesheets/syllabus.scss */
table.cbt_unit_sel td.num {
  padding: 1px 7px 1px 7px;
  background-color: #fff8f8;
  color: #800000;
  font-weight: bold;
  text-decoration: underline;
  /*下線を引く*/
}

/* line 615, app/assets/stylesheets/syllabus.scss */
table.cbt_unit_sel td.num.tdtop {
  border-top: 0.5px solid red;
  /* 枠線 */
}

/* line 618, app/assets/stylesheets/syllabus.scss */
table.cbt_unit_sel td.num.tdbottom {
  border-bottom: 0.5px solid red;
  /* 枠線 */
}

/* line 625, app/assets/stylesheets/syllabus.scss */
table.cbt_unit_show {
  word-break: break-all;
  border-collapse: collapse;
  table-layout: fixed;
  margin: 0px 0px 0px 10px;
  font-size: 12px;
}

/* line 632, app/assets/stylesheets/syllabus.scss */
table.cbt_unit_show th {
  border: 0.5px solid red;
  /* 枠線 */
  background-color: #ffcccc;
  color: #800000;
}

/* line 637, app/assets/stylesheets/syllabus.scss */
table.cbt_unit_show td {
  padding: 2px 7px 2px 7px;
  border: 0.5px solid red;
  /* 枠線 */
  background-color: #fff8f8;
  color: #800000;
  font-weight: bold;
}

/* ul関連 */
/* h1直下のリンクタブのCSS定義 */
/* line 650, app/assets/stylesheets/syllabus.scss */
ul.head_tab_2 {
  margin: 7px 0px 7px 0px;
  padding: 0px 0px 0px 0px;
  font-size: 12px;
}

/* line 655, app/assets/stylesheets/syllabus.scss */
ul.head_tab_2 li {
  margin: 0px 3px 0px 0px;
  padding: 0px 0px 0px 0px;
  list-style: none;
  display: inline-block;
}

/* line 663, app/assets/stylesheets/syllabus.scss */
ul.head_tab_2 li.hst a {
  margin: 0px 0px 0px 0px;
  padding: 5px 6px 3px 6px;
  border-radius: 5px;
  /* 角丸定義　CSS3草案 */
  -webkit-border-radius: 5px;
  /* Safari,Google Chrome用 */
  -moz-border-radius: 5px;
  /* Firefox用 */
  border-top: 1px solid #800000;
  border-right: 1px solid #800000;
  border-left: 1px solid #800000;
  border-bottom: 1px solid #800000;
  background-color: #f5deb3;
  color: #800000;
  text-decoration: none;
}

/* line 677, app/assets/stylesheets/syllabus.scss */
ul.head_tab_2 li.hst a:hover {
  color: white;
  background-color: #800000;
}

/* line 681, app/assets/stylesheets/syllabus.scss */
ul.head_tab_2 li.hst a.disabled {
  background-color: gray;
  color: black;
  border: 1px solid black;
}

/* line 688, app/assets/stylesheets/syllabus.scss */
ul.head_tab_2 li.cp a {
  margin: 0px 0px 0px 10px;
  padding: 5px 6px 3px 6px;
  border-radius: 5px;
  /* 角丸定義　CSS3草案 */
  -webkit-border-radius: 5px;
  /* Safari,Google Chrome用 */
  -moz-border-radius: 5px;
  /* Firefox用 */
  border-top: 1px solid #0000ff;
  border-right: 1px solid #0000ff;
  border-left: 1px solid #0000ff;
  border-bottom: 1px solid #0000ff;
  background-color: #87cefa;
  color: #0000ff;
  text-decoration: none;
}

/* line 702, app/assets/stylesheets/syllabus.scss */
ul.head_tab_2 li.cp a:hover {
  color: white;
  background-color: #0000ff;
}

/* line 706, app/assets/stylesheets/syllabus.scss */
ul.head_tab_2 li.cp a.disabled {
  background-color: gray;
  color: black;
  border: 1px solid black;
}

/* line 713, app/assets/stylesheets/syllabus.scss */
ul.head_tab_2 li.delete a {
  margin: 0px 0px 0px 278px;
  padding: 5px 6px 3px 6px;
  border-radius: 5px;
  /* 角丸定義　CSS3草案 */
  -webkit-border-radius: 5px;
  /* Safari,Google Chrome用 */
  -moz-border-radius: 5px;
  /* Firefox用 */
  border-top: 1px solid #ff0000;
  border-right: 1px solid #ff0000;
  border-left: 1px solid #ff0000;
  border-bottom: 1px solid #ff0000;
  background-color: #ffcccc;
  color: #ff0000;
  text-decoration: none;
}

/* line 727, app/assets/stylesheets/syllabus.scss */
ul.head_tab_2 li.delete a:hover {
  color: white;
  background-color: #ff0000;
}

/* line 731, app/assets/stylesheets/syllabus.scss */
ul.head_tab_2 li.delete a.disabled {
  background-color: gray;
  color: black;
  border: 1px solid black;
}

/* line 742, app/assets/stylesheets/syllabus.scss */
ul.head_tab {
  margin: 15px 0px 7px 0px;
  padding: 0px 0px 0px 0px;
  font-size: 12px;
  width: 1200px;
}

/* line 747, app/assets/stylesheets/syllabus.scss */
ul.head_tab li {
  margin: 0px 3px 0px 0px;
  padding: 0px 0px 0px 0px;
  list-style: none;
  display: inline-block;
}

/* line 753, app/assets/stylesheets/syllabus.scss */
ul.head_tab li a {
  margin: 0px 0px 0px 0px;
  padding: 7px 6px 7px 6px;
  border-top: 2px solid #191970;
  border-right: 2px solid #191970;
  border-left: 2px solid #191970;
  border-bottom: 2px solid #191970;
  background-color: #ececec;
  color: #191970;
  text-decoration: none;
}

/* line 764, app/assets/stylesheets/syllabus.scss */
ul.head_tab li a.active {
  background-color: #191970;
  padding: 12px 15px 7px 15px;
  color: #ffffff;
}

/* line 769, app/assets/stylesheets/syllabus.scss */
ul.head_tab li a:hover {
  color: red;
  background-color: #191970;
  padding: 12px 15px 7px 15px;
}

/* line 776, app/assets/stylesheets/syllabus.scss */
ul.head_tab li.bdown a {
  margin: 0px 0px 0px 10px;
  padding: 5px 6px 3px 6px;
  border-radius: 5px;
  /* 角丸定義　CSS3草案 */
  -webkit-border-radius: 5px;
  /* Safari,Google Chrome用 */
  -moz-border-radius: 5px;
  /* Firefox用 */
  border-top: 1px solid #000000;
  border-right: 1px solid #000000;
  border-left: 1px solid #000000;
  border-bottom: 1px solid #000000;
  background-color: #dcdcdc;
  color: #000000;
  text-decoration: none;
}

/* line 790, app/assets/stylesheets/syllabus.scss */
ul.head_tab li.bdown a:hover {
  color: white;
  background-color: #000000;
}

/* line 797, app/assets/stylesheets/syllabus.scss */
ul.head_tab li.excel a {
  margin: 0px 0px 0px 10px;
  padding: 5px 6px 3px 6px;
  border-radius: 5px;
  /* 角丸定義　CSS3草案 */
  -webkit-border-radius: 5px;
  /* Safari,Google Chrome用 */
  -moz-border-radius: 5px;
  /* Firefox用 */
  border-top: 1px solid #228b22;
  border-right: 1px solid #228b22;
  border-left: 1px solid #228b22;
  border-bottom: 1px solid #228b22;
  background-color: #ccffcc;
  color: #228b22;
  text-decoration: none;
}

/* line 811, app/assets/stylesheets/syllabus.scss */
ul.head_tab li.excel a:hover {
  color: white;
  background-color: #228b22;
}

/* input関係 */
/* 授業科目一覧の検索ボタン */
/* line 822, app/assets/stylesheets/syllabus.scss */
input#submit_btn {
  width: 160px;
  margin: 0px 20px 0px 20px;
  padding: 5px 0px 5px 0px;
  font-size: 16px;
  text-align: center;
  background-color: #87cefa;
  color: #0000ff;
}

/* シラバス基本情報登録の登録ボタン */
/* line 833, app/assets/stylesheets/syllabus.scss */
input#submit_btn_reg {
  width: 250px;
  margin: 0px 0px 0px 0px;
  padding: 5px 0px 5px 0px;
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0.2em;
  text-align: center;
  background-color: #87cefa;
  color: #0000ff;
  border: 1px solid #0000ff;
}

/* line 845, app/assets/stylesheets/syllabus.scss */
input#submit_btn_reg:hover {
  color: white;
  background-color: #0000ff;
}

/* line 849, app/assets/stylesheets/syllabus.scss */
input#submit_btn_reg.disabled {
  background-color: gray;
  color: black;
  border: 1px solid black;
}

/* 登録ボタンパート2 */
/* line 856, app/assets/stylesheets/syllabus.scss */
input#submit_btn_reg_2 {
  width: 55px;
  margin: 0px 0px 0px 0px;
  padding: 2px 3px 2px 3px;
  font-size: 12px;
  letter-spacing: 0.2em;
  text-align: center;
  background-color: #87cefa;
  color: #0000ff;
  border: 1px solid #0000ff;
}

/* line 867, app/assets/stylesheets/syllabus.scss */
input#submit_btn_reg_2:hover {
  color: white;
  background-color: #0000ff;
}

/* line 871, app/assets/stylesheets/syllabus.scss */
input#submit_btn_reg_2.long {
  width: 75px;
}

/* line 874, app/assets/stylesheets/syllabus.scss */
input#submit_btn_reg_2.disabled {
  background-color: gray;
  color: black;
  border: 1px solid black;
}

/* 情報コピーボタン */
/* line 882, app/assets/stylesheets/syllabus.scss */
input.btn_cp {
  width: 250px;
  margin: 0px 0px 0px 0px;
  padding: 5px 0px 5px 0px;
  font-size: 12px;
  font-weight: bold;
  letter-spacing: 0.2em;
  text-align: center;
  background-color: #ccffcc;
  color: #228b22;
  border: 1px solid #228b22;
}

/* line 894, app/assets/stylesheets/syllabus.scss */
input.btn_cp:hover {
  color: white;
  background-color: #228b22;
}

/* line 898, app/assets/stylesheets/syllabus.scss */
input.btn_cp.disabled {
  background-color: gray;
  color: black;
  border: 1px solid black;
}

/* フィードバックシート出力ボタン用個別設定 */
/* line 904, app/assets/stylesheets/syllabus.scss */
input.btn_cp.print_out {
  margin: 10px 0px 10px 10px;
}

/* 削除ボタン */
/* line 910, app/assets/stylesheets/syllabus.scss */
a.btn_del {
  margin: 0px 5px 0px 5px;
  padding: 0px 13px 0px 13px;
  font-size: 12px;
  text-align: center;
  background-color: #ffcccc;
  color: #ff0000;
  border: 1px solid #ff0000;
}

/* 選択ボタン */
/* line 921, app/assets/stylesheets/syllabus.scss */
a.btn_sel {
  margin: 0px 5px 0px 5px;
  padding: 0px 20px 0px 20px;
  font-size: 12px;
  text-align: center;
  background-color: #87cefa;
  color: #0000ff;
  border: 1px solid #0000ff;
}

/* フィードバックシート画面へ遷移リンク */
/* line 932, app/assets/stylesheets/syllabus.scss */
a.btn_feed {
  text-decoration: none;
  margin: 0px 5px 0px 5px;
  padding: 0px 20px 0px 20px;
  font-size: 12px;
  text-align: center;
  background-color: #ccffcc;
  color: #228b22;
  border: 1px solid #228b22;
}

/* line 942, app/assets/stylesheets/syllabus.scss */
a.btn_feed:hover {
  color: white;
  background-color: #228b22;
}

/* フィードバック画面の学生入力用のリンク */
/* line 948, app/assets/stylesheets/syllabus.scss */
a.btn_feed_2 {
  text-decoration: none;
  margin: 5px;
  padding: 2px 20px 2px 20px;
  font-size: 12px;
  text-align: center;
  background-color: #ececec;
  color: #000000;
  border: 1px solid #000000;
}

/* line 958, app/assets/stylesheets/syllabus.scss */
a.btn_feed_2:hover {
  color: white;
  background-color: #000000;
}

/* CBT PASS番号登録画面の登録ボタン */
/* line 964, app/assets/stylesheets/syllabus.scss */
button.cbt_unit {
  margin: 0px 5px 0px 5px;
  padding: 5px 13px 5px 13px;
  font-size: 16px;
  text-align: center;
  background-color: #87cefa;
  color: #0000ff;
  border: 1px solid #0000ff;
}

/* line 973, app/assets/stylesheets/syllabus.scss */
button.cbt_unit:hover {
  color: white;
  background-color: #0000ff;
}

/* line 977, app/assets/stylesheets/syllabus.scss */
button.cbt_show {
  margin: 0px 5px 10px 5px;
  padding: 5px 13px 5px 13px;
  font-size: 14px;
  text-align: center;
  background-color: #f0ffff;
  color: #0a0;
  border: 1px solid #0a0;
}

/* line 986, app/assets/stylesheets/syllabus.scss */
button.cbt_show:hover {
  color: white;
  background-color: #0a0;
}

/* line 990, app/assets/stylesheets/syllabus.scss */
button.cbt_show.sel {
  color: white;
  background-color: #0a0;
}

/* line 996, app/assets/stylesheets/syllabus.scss */
table.fixed a.btn_del:hover {
  color: white;
  background-color: #ff0000;
}

/* line 1000, app/assets/stylesheets/syllabus.scss */
table.fixed a.btn_del.disabled {
  background-color: gray;
  color: black;
  border: 1px solid black;
}

/* コアカリ入力 */
/* line 1007, app/assets/stylesheets/syllabus.scss */
table.fixed a.core_sel {
  display: inline-block;
  text-decoration: none;
  font-size: 10px;
  padding: 1px 3px 1px 3px;
  margin: 1px 3px 1px 3px;
  border: 1px solid;
  border-color: #191970;
  background: #cdecff;
  color: #191970;
}

/* line 1018, app/assets/stylesheets/syllabus.scss */
table.fixed a.core_sel:hover {
  color: #ffffff;
  background: #191970;
}

/* line 1022, app/assets/stylesheets/syllabus.scss */
table.fixed a.core_sel.disabled {
  background-color: gray;
  color: black;
  border: 1px solid black;
}

/* コアカリコピー */
/* line 1029, app/assets/stylesheets/syllabus.scss */
table.fixed .core_cp {
  width: 25px;
  margin: 0px 0px 0px 0px;
  padding: 3px 0px 3px 0px;
  font-size: 10px;
  text-align: center;
  background: #ccffcc;
  color: #228b22;
  border: 1px solid;
  border-color: #228b22;
}

/* line 1040, app/assets/stylesheets/syllabus.scss */
table.fixed .core_cp:hover {
  color: white;
  background: #228b22;
}

/* line 1044, app/assets/stylesheets/syllabus.scss */
table.fixed .core_cp.disabled {
  background-color: gray;
  color: black;
  border: 1px solid black;
}

/* コアカリクリアボタン */
/* line 1052, app/assets/stylesheets/syllabus.scss */
table.fixed .core_del {
  width: 25px;
  margin: 0px 0px 0px 0px;
  padding: 3px 0px 3px 0px;
  font-size: 10px;
  text-align: center;
  background: #ffcccc;
  color: #ff0000;
  border: 1px solid;
  border-color: #ff0000;
}

/* line 1063, app/assets/stylesheets/syllabus.scss */
table.fixed .core_del:hover {
  color: white;
  background: #ff0000;
}

/* line 1067, app/assets/stylesheets/syllabus.scss */
table.fixed .core_del.disabled {
  background-color: gray;
  color: black;
  border: 1px solid black;
}

/* フィードバックシート印刷用画面CSS */
/* line 1074, app/assets/stylesheets/syllabus.scss */
table.print.title {
  width: 1000px;
  border: 1px solid black;
}

/* line 1077, app/assets/stylesheets/syllabus.scss */
table.print.title th {
  border: 1px solid black;
}

/* line 1080, app/assets/stylesheets/syllabus.scss */
table.print.title th.name_title {
  background-color: #ccffcc;
  width: 150px;
}

/* line 1084, app/assets/stylesheets/syllabus.scss */
table.print.title td {
  border: 1px solid black;
}

/* line 1087, app/assets/stylesheets/syllabus.scss */
table.print.title td.name {
  width: 300px;
}

/* line 1092, app/assets/stylesheets/syllabus.scss */
table.print.value {
  margin: 5px 0px 0px 0px;
  font-size: small;
  width: 1050px;
  border: 1px solid black;
  border-collapse: collapse;
}

/* line 1098, app/assets/stylesheets/syllabus.scss */
table.print.value th {
  border: 1px solid black;
  background-color: #ccffcc;
}

/* line 1102, app/assets/stylesheets/syllabus.scss */
table.print.value th.chk_title {
  width: 50px;
}

/* line 1105, app/assets/stylesheets/syllabus.scss */
table.print.value th.val_unit_title {
  width: 400px;
}

/* line 1108, app/assets/stylesheets/syllabus.scss */
table.print.value td {
  padding: 0px 0px 0px 5px;
  border: 1px solid black;
}

/* line 1112, app/assets/stylesheets/syllabus.scss */
table.print.value td.chk {
  padding: 0px 0px 0px 0px;
  text-align: center;
}

/* line 1118, app/assets/stylesheets/syllabus.scss */
.cell_yohaku {
  padding: 1px 0px 1px 10px;
}

/* line 1122, app/assets/stylesheets/syllabus.scss */
.height_yohaku {
  height: 50px;
}

/* line 1126, app/assets/stylesheets/syllabus.scss */
.feedback_textarea {
  border: 2px solid #0a0;
  /* 枠線 */
  padding: 0.5em;
  /* 内側の余白量 */
  background-color: snow;
  /* 背景色 */
  width: 20em;
  /* 横幅 */
  height: 300px;
  /* 高さ */
  font-size: 1em;
  /* 文字サイズ */
  line-height: 1.2;
  /* 行の高さ */
}

/* line 1136, app/assets/stylesheets/syllabus.scss */
textarea#cbt_set {
  border: 1.5px solid red;
  /* 枠線 */
  margin: 10px 0px 0px 10px;
  padding: 0.5em;
  /* 内側の余白量 */
  background-color: snow;
  /* 背景色 */
  width: 600px;
  /* 横幅 */
  height: 100px;
  /* 高さ */
  font-size: 18px;
  /* 文字サイズ */
  line-height: 1.2;
  /* 行の高さ */
  font-family: "HG丸ｺﾞｼｯｸM-PRO", 　 "MS UI Gothic";
}

/* line 1149, app/assets/stylesheets/syllabus.scss */
.page-break-before {
  page-break-before: always;
}

/* line 1153, app/assets/stylesheets/syllabus.scss */
.page-break-after {
  page-break-after: always;
}

@media print {
  /* line 1158, app/assets/stylesheets/syllabus.scss */
  .noprint_area {
    display: none;
  }
}

/* 再表示ボタン */
/* line 1164, app/assets/stylesheets/syllabus.scss */
.btn_reload {
  display: block;
  float: left;
  margin: 0px 0px 0px 0px;
  padding: 2px 7px 2px 7px;
  width: 150px;
  text-decoration: none;
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0.2em;
  text-align: center;
  background-color: #87cefa;
  color: #0000ff;
  border: 1px solid #0000ff;
}

/* line 1179, app/assets/stylesheets/syllabus.scss */
.btn_reload:hover {
  color: white;
  background-color: #0000ff;
}

/* line 1184, app/assets/stylesheets/syllabus.scss */
.btn_reload.disabled {
  background-color: gray;
  color: black;
  border: 1px solid black;
}

/* 再表示ボタン */
/* line 1191, app/assets/stylesheets/syllabus.scss */
.btn_reload.kai {
  width: 300px;
  margin: 10px 0px 10px 0px;
}

/* line 1198, app/assets/stylesheets/syllabus.scss */
.upd_chk_label {
  display: block;
  width: 50px;
}

/* line 1204, app/assets/stylesheets/syllabus.scss */
.selecthaba_01 {
  width: 240px;
}

/* line 1208, app/assets/stylesheets/syllabus.scss */
.selecthaba_02 {
  width: 780px;
}

/* line 1212, app/assets/stylesheets/syllabus.scss */
.selecthaba_03 {
  width: 190px;
}

/* line 1216, app/assets/stylesheets/syllabus.scss */
.selecthaba_04 {
  width: 140px;
}

/* line 1220, app/assets/stylesheets/syllabus.scss */
.selecthaba_05 {
  width: 65px;
}

/* line 1224, app/assets/stylesheets/syllabus.scss */
.selecthaba_06 {
  width: 500px;
}

/* line 1228, app/assets/stylesheets/syllabus.scss */
.selecthaba_07 {
  width: 110px;
}

/* line 1232, app/assets/stylesheets/syllabus.scss */
.selecthaba_08 {
  width: 50px;
}

/* line 1236, app/assets/stylesheets/syllabus.scss */
.selecthaba_09 {
  width: 95px;
}

/* line 1239, app/assets/stylesheets/syllabus.scss */
.selecthaba_10 {
  width: 590px;
}

/* line 1242, app/assets/stylesheets/syllabus.scss */
.selecthaba_11 {
  width: 395px;
}

/* line 1245, app/assets/stylesheets/syllabus.scss */
.selecthaba_12 {
  width: 120px;
}

/* line 1252, app/assets/stylesheets/syllabus.scss */
.focus {
  background-color: #e0ffff;
}

/* line 1257, app/assets/stylesheets/syllabus.scss */
input:focus, select:focus, textarea:focus {
  background-color: #e0ffff;
}

/* h1配下のコンテンツ範囲指定 */
/* line 1263, app/assets/stylesheets/syllabus.scss */
#contents {
  margin: 3px 0px 0px 0px;
  padding: 0px 10px 0px 10px;
  position: absolute;
}

/* line 1269, app/assets/stylesheets/syllabus.scss */
#head_tab_son {
  margin: 0px 0px 0px 0px;
  padding: 5px 10px 10px 10px;
  border-top: 2px solid #191970;
  border-right: 2px solid #191970;
  border-left: 2px solid #191970;
  border-bottom: 2px solid #191970;
}

/* line 1279, app/assets/stylesheets/syllabus.scss */
#loading {
  border: 1px dashed #999;
  padding: 100px;
  position: fixed;
  top: 30%;
  left: 30%;
  background-color: #FFF;
  filter: alpha(opacity=85);
  -moz-opacity: 0.85;
  opacity: 0.85;
}

/* line 1291, app/assets/stylesheets/syllabus.scss */
#loading .loadingMsg {
  text-align: center;
  padding-top: 50px;
  width: 100px;
  background-image: url(/assets/loading-36-399e85e296703ddad14a67456a8bd68ddd73b52ccf13c2513fa2a803950d5aa6.gif);
  background-position: center top;
  background-repeat: no-repeat;
}

/* マルチカラムレイアウト用のCSS */
/* line 1303, app/assets/stylesheets/syllabus.scss */
#leftframe {
  position: absolute;
  width: 200px;
}

/* line 1307, app/assets/stylesheets/syllabus.scss */
#mainframe {
  position: absolute;
  left: 220px;
}

/* 補足 */
/* line 1313, app/assets/stylesheets/syllabus.scss */
.hosoku {
  font-size: 12px;
  font-weight: bold;
  color: #191970;
}

/* line 1318, app/assets/stylesheets/syllabus.scss */
.hosoku.red {
  color: red;
  background-color: #ffcccc;
}

/* line 1322, app/assets/stylesheets/syllabus.scss */
.hosoku.cbt_unit {
  font-size: 16px;
  font-weight: bold;
  color: red;
  margin: 0px 0px 10px 10px;
  padding: 0px 0px 0px 0px;
}

/* 再表示の補足 */
/* line 1332, app/assets/stylesheets/syllabus.scss */
.hosoku_reload {
  display: block;
  margin: 10px 0px 0px 170px;
  padding: 0px 0px 0px 0px;
  text-decoration: none;
  font-size: 12px;
  font-weight: bold;
  color: #191970;
}

/* line 1341, app/assets/stylesheets/syllabus.scss */
.hosoku_reload.dtl_edit {
  margin: 10px 0px 0px 0px;
}

/* ログイン画面のお知らせ */
/* line 1346, app/assets/stylesheets/syllabus.scss */
.attention {
  background-color: #f8f8ff;
  border: solid #193F6A 1px;
  margin: 20px 0px 20px 25px;
  height: 400px;
  width: 600px;
}

/* line 1354, app/assets/stylesheets/syllabus.scss */
.attention h2 {
  padding: 0px 0px 0px 10px;
  background: none;
  border: none;
  color: red;
  margin: 3px 0px 3px 0px;
  padding: 3px 0px 3px 5px;
  font-size: 16px;
}

/* line 1366, app/assets/stylesheets/syllabus.scss */
.attention ul {
  padding-right: 25px;
  font-size: 12px;
}

/* line 1375, app/assets/stylesheets/syllabus.scss */
#sbo_upd_left {
  float: left;
  width: 792px;
}

/* line 1379, app/assets/stylesheets/syllabus.scss */
#sbo_upd_center {
  float: left;
  width: 54px;
}

/* line 1384, app/assets/stylesheets/syllabus.scss */
.clear {
  clear: both;
}

/* line 1389, app/assets/stylesheets/syllabus.scss */
.font_12 {
  font-size: 12px;
}
@charset "UTF-8";
/* ulrn（問題入力機能）専用スタイル。すべて .ulrn- 接頭辞でスコープする */
/* line 3, app/assets/stylesheets/ulrn.scss */
.ulrn-page {
  max-width: 1100px;
  margin: 0 auto;
  padding: 10px 16px 60px;
}

/* line 8, app/assets/stylesheets/ulrn.scss */
.ulrn-page h1 {
  font-size: 22px;
  border-bottom: 2px solid #2c6e9e;
  padding-bottom: 6px;
}

/* line 9, app/assets/stylesheets/ulrn.scss */
.ulrn-page h2 {
  font-size: 16px;
  margin: 24px 0 8px;
  border-left: 5px solid #2c6e9e;
  padding-left: 8px;
}

/* line 10, app/assets/stylesheets/ulrn.scss */
.ulrn-page .ulrn-h-note {
  font-size: 12px;
  color: #666;
  font-weight: normal;
  margin-left: 8px;
}

/* line 13, app/assets/stylesheets/ulrn.scss */
.ulrn-flash-notice {
  background: #e3f4e3;
  border: 1px solid #7bbf7b;
  padding: 8px 12px;
  border-radius: 4px;
}

/* line 14, app/assets/stylesheets/ulrn.scss */
.ulrn-flash-alert {
  background: #fdecea;
  border: 1px solid #e08a80;
  padding: 8px 12px;
  border-radius: 4px;
}

/* line 16, app/assets/stylesheets/ulrn.scss */
.ulrn-actions {
  margin: 10px 0;
}

/* line 17, app/assets/stylesheets/ulrn.scss */
.ulrn-note {
  color: #666;
  font-size: 13px;
}

/* line 18, app/assets/stylesheets/ulrn.scss */
.ulrn-hit {
  color: #333;
  font-size: 13px;
}

/* line 20, app/assets/stylesheets/ulrn.scss */
.ulrn-btn {
  display: inline-block;
  padding: 4px 12px;
  border: 1px solid #999;
  border-radius: 4px;
  background: #f5f5f5;
  color: #333;
  font-size: 13px;
  cursor: pointer;
  text-decoration: none;
}

/* line 30, app/assets/stylesheets/ulrn.scss */
.ulrn-btn:hover {
  background: #e8e8e8;
}

/* line 32, app/assets/stylesheets/ulrn.scss */
.ulrn-btn-primary {
  background: #2c6e9e;
  border-color: #245a82;
  color: #fff;
}

/* line 32, app/assets/stylesheets/ulrn.scss */
.ulrn-btn-primary:hover {
  background: #245a82;
}

/* line 33, app/assets/stylesheets/ulrn.scss */
.ulrn-btn-danger {
  background: #fff;
  border-color: #c0392b;
  color: #c0392b;
}

/* line 33, app/assets/stylesheets/ulrn.scss */
.ulrn-btn-danger:hover {
  background: #fdecea;
}

/* line 35, app/assets/stylesheets/ulrn.scss */
.ulrn-btn-create {
  background: #2e8b57;
  border-color: #26734a;
  color: #fff;
  font-weight: bold;
}

/* line 35, app/assets/stylesheets/ulrn.scss */
.ulrn-btn-create:hover {
  background: #26734a;
}

/* line 37, app/assets/stylesheets/ulrn.scss */
.ulrn-btn-quiet {
  background: #fff;
  border-color: #cfcfcf;
  color: #777;
  font-weight: normal;
}

/* line 37, app/assets/stylesheets/ulrn.scss */
.ulrn-btn-quiet:hover {
  background: #f3f3f3;
  color: #555;
}

/* line 38, app/assets/stylesheets/ulrn.scss */
.ulrn-btn-sm {
  padding: 2px 8px;
  font-size: 12px;
}

/* line 39, app/assets/stylesheets/ulrn.scss */
.ulrn-btn-lg {
  padding: 8px 28px;
  font-size: 15px;
}

/* line 41, app/assets/stylesheets/ulrn.scss */
.ulrn-search {
  margin: 12px 0;
  padding: 8px;
  background: #f3f7fa;
  border: 1px solid #cfdfe9;
  border-radius: 4px;
}

/* line 47, app/assets/stylesheets/ulrn.scss */
.ulrn-search input[type=text], .ulrn-search select {
  padding: 3px 6px;
  margin-right: 6px;
}

/* line 50, app/assets/stylesheets/ulrn.scss */
.ulrn-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

/* line 54, app/assets/stylesheets/ulrn.scss */
.ulrn-table th, .ulrn-table td {
  border: 1px solid #ccc;
  padding: 6px 8px;
  text-align: left;
  vertical-align: top;
}

/* line 55, app/assets/stylesheets/ulrn.scss */
.ulrn-table th {
  background: #eef4f8;
  white-space: nowrap;
}

/* line 56, app/assets/stylesheets/ulrn.scss */
.ulrn-table .ulrn-qbun {
  max-width: 480px;
}

/* line 58, app/assets/stylesheets/ulrn.scss */
.ulrn-badge {
  display: inline-block;
  background: #fff3cd;
  border: 1px solid #d9b94e;
  border-radius: 10px;
  font-size: 11px;
  padding: 1px 8px;
  margin-right: 4px;
}

/* line 67, app/assets/stylesheets/ulrn.scss */
.ulrn-badge-x {
  display: inline;
  border: none;
  background: none;
  color: #c0392b;
  cursor: pointer;
  font-size: 11px;
  padding: 0 0 0 2px;
}

/* line 77, app/assets/stylesheets/ulrn.scss */
.ulrn-kokushi-detail {
  margin-top: 6px;
  padding: 8px;
  background: #fafafa;
  border: 1px solid #ddd;
  border-radius: 4px;
}

/* line 83, app/assets/stylesheets/ulrn.scss */
.ulrn-kokushi-detail .ulrn-detail-choices li {
  margin: 2px 0;
}

/* line 84, app/assets/stylesheets/ulrn.scss */
.ulrn-kokushi-detail .ulrn-correct {
  font-weight: bold;
}

/* line 84, app/assets/stylesheets/ulrn.scss */
.ulrn-kokushi-detail .ulrn-correct::after {
  content: " ◀ 正答";
  color: #2c6e9e;
  font-size: 11px;
}

/* line 87, app/assets/stylesheets/ulrn.scss */
.ulrn-src-box {
  background: #eef7ee;
  border: 1px solid #9ec79e;
  border-radius: 4px;
  padding: 8px 12px;
  margin: 10px 0;
}

/* line 96, app/assets/stylesheets/ulrn.scss */
.ulrn-src-qid {
  font-weight: 700;
  font-size: 1.08em;
  letter-spacing: 0.02em;
}

/* line 103, app/assets/stylesheets/ulrn.scss */
.ulrn-policy-note {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  background: linear-gradient(135deg, #fffaf0 0%, #fff3df 100%);
  border: 1px solid #ecc879;
  border-left: 5px solid #e0a93a;
  border-radius: 8px;
  padding: 12px 16px;
  margin: 12px 0;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

/* line 115, app/assets/stylesheets/ulrn.scss */
.ulrn-policy-note .ulrn-policy-icon {
  font-size: 22px;
  line-height: 1.3;
  flex: 0 0 auto;
}

/* line 116, app/assets/stylesheets/ulrn.scss */
.ulrn-policy-note .ulrn-policy-body {
  flex: 1 1 auto;
}

/* line 117, app/assets/stylesheets/ulrn.scss */
.ulrn-policy-note .ulrn-policy-title {
  font-weight: 700;
  color: #8a5a00;
  font-size: 15px;
  margin-bottom: 4px;
}

/* line 123, app/assets/stylesheets/ulrn.scss */
.ulrn-policy-note .ulrn-policy-list {
  margin: 0;
  padding-left: 18px;
  line-height: 1.75;
  color: #5b4a2a;
}

/* line 128, app/assets/stylesheets/ulrn.scss */
.ulrn-policy-note .ulrn-policy-list strong {
  color: #b5651d;
}

/* line 133, app/assets/stylesheets/ulrn.scss */
.ulrn-locked-note {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  background: #f4f5f7;
  border: 1px solid #b9bec7;
  border-left: 5px solid #6b7280;
  border-radius: 8px;
  padding: 12px 16px;
  margin: 12px 0;
  line-height: 1.75;
  color: #3f434b;
}

/* line 146, app/assets/stylesheets/ulrn.scss */
.ulrn-locked-note strong {
  color: #24272c;
}

/* line 147, app/assets/stylesheets/ulrn.scss */
.ulrn-locked-note .ulrn-locked-icon {
  font-size: 20px;
  line-height: 1.3;
  flex: 0 0 auto;
}

/* line 151, app/assets/stylesheets/ulrn.scss */
.ulrn-locked-tag {
  display: inline-block;
  margin-left: 6px;
  padding: 1px 6px;
  border-radius: 3px;
  background: #e5e7eb;
  border: 1px solid #b9bec7;
  color: #4b5058;
  font-size: 11px;
  white-space: nowrap;
}

/* line 164, app/assets/stylesheets/ulrn.scss */
.ulrn-form .ulrn-textarea {
  width: 100%;
  box-sizing: border-box;
  font-size: 14px;
  padding: 6px;
}

/* line 166, app/assets/stylesheets/ulrn.scss */
.ulrn-toolbar {
  margin-bottom: 4px;
}

/* line 168, app/assets/stylesheets/ulrn.scss */
.ulrn-toolbar .ulrn-btn {
  margin-right: 4px;
}

/* line 169, app/assets/stylesheets/ulrn.scss */
.ulrn-toolbar .ulrn-toolbar-help {
  font-size: 11px;
  color: #888;
  margin-left: 8px;
}

/* line 171, app/assets/stylesheets/ulrn.scss */
.ulrn-preview-label {
  font-size: 11px;
  color: #888;
  margin-top: 4px;
}

/* line 172, app/assets/stylesheets/ulrn.scss */
.ulrn-preview {
  min-height: 40px;
  border: 1px dashed #aac4d5;
  background: #fbfdff;
  border-radius: 4px;
  padding: 8px 10px;
  margin-bottom: 8px;
}

/* line 181, app/assets/stylesheets/ulrn.scss */
.ulrn-choice-table {
  width: 100%;
  border-collapse: collapse;
}

/* line 184, app/assets/stylesheets/ulrn.scss */
.ulrn-choice-table td {
  padding: 3px 4px;
  vertical-align: middle;
}

/* line 185, app/assets/stylesheets/ulrn.scss */
.ulrn-choice-table .ulrn-choice-label {
  width: 20px;
  text-align: center;
  font-weight: bold;
  color: #2c6e9e;
}

/* line 186, app/assets/stylesheets/ulrn.scss */
.ulrn-choice-table .ulrn-choice-bun input {
  width: 100%;
  box-sizing: border-box;
  padding: 4px 6px;
}

/* line 187, app/assets/stylesheets/ulrn.scss */
.ulrn-choice-table .ulrn-choice-ops {
  white-space: nowrap;
  width: 110px;
}

/* line 190, app/assets/stylesheets/ulrn.scss */
.ulrn-fig-table {
  border-collapse: collapse;
}

/* line 192, app/assets/stylesheets/ulrn.scss */
.ulrn-fig-table td {
  border: 1px solid #ddd;
  padding: 6px;
  vertical-align: middle;
}

/* line 195, app/assets/stylesheets/ulrn.scss */
.ulrn-fig-thumb {
  max-height: 260px;
  max-width: 420px;
  width: auto;
  height: auto;
  border: 1px solid #ddd;
  border-radius: 4px;
  background: #fff;
}

/* line 204, app/assets/stylesheets/ulrn.scss */
.ulrn-src-figs {
  margin: 6px 0;
}

/* line 207, app/assets/stylesheets/ulrn.scss */
.ulrn-src-fig-list {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 8px 0;
}

/* line 213, app/assets/stylesheets/ulrn.scss */
.ulrn-src-fig {
  margin: 0;
  padding: 6px;
  border: 1px solid #ddd;
  border-radius: 6px;
  background: #fff;
  max-width: 100%;
}

/* line 221, app/assets/stylesheets/ulrn.scss */
.ulrn-src-fig a {
  display: block;
}

/* line 223, app/assets/stylesheets/ulrn.scss */
.ulrn-src-fig figcaption {
  margin-top: 4px;
  font-size: 12px;
  color: #666;
  text-align: center;
}

/* line 230, app/assets/stylesheets/ulrn.scss */
.ulrn-src-fig-img {
  display: block;
  max-width: 100%;
  max-height: 420px;
  width: auto;
  height: auto;
}

/* line 238, app/assets/stylesheets/ulrn.scss */
.ulrn-submit {
  margin: 20px 0;
}

/* ── unit_edit からの入口バナー（ulrn-page 外でも使う） ── */
/* line 241, app/assets/stylesheets/ulrn.scss */
.ulrn-entry-banner {
  display: flex;
  align-items: center;
  gap: 12px;
  background: linear-gradient(90deg, #eef6fc, #f8fbfd);
  border: 1px solid #aac8de;
  border-left: 5px solid #2c6e9e;
  border-radius: 6px;
  padding: 10px 16px;
  margin: 10px 0 14px;
}

/* line 251, app/assets/stylesheets/ulrn.scss */
.ulrn-entry-banner .ulrn-entry-icon {
  font-size: 26px;
}

/* line 252, app/assets/stylesheets/ulrn.scss */
.ulrn-entry-banner .ulrn-entry-text {
  line-height: 1.4;
}

/* line 252, app/assets/stylesheets/ulrn.scss */
.ulrn-entry-banner .ulrn-entry-text strong {
  color: #245a82;
}

/* line 253, app/assets/stylesheets/ulrn.scss */
.ulrn-entry-banner .ulrn-entry-sub {
  font-size: 12px;
  color: #667;
}

/* line 255, app/assets/stylesheets/ulrn.scss */
.ulrn-entry-btn {
  display: inline-block;
  background: #2c6e9e;
  color: #fff !important;
  padding: 8px 18px;
  border-radius: 4px;
  text-decoration: none;
  font-size: 14px;
  white-space: nowrap;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

/* line 265, app/assets/stylesheets/ulrn.scss */
.ulrn-entry-btn:hover {
  background: #245a82;
}

/* ── ユニット紐づけ画面 ── */
/* line 269, app/assets/stylesheets/ulrn.scss */
.ulrn-unit-box {
  border: 1px solid #cfdfe9;
  border-radius: 4px;
  margin: 12px 0;
  padding: 8px 12px;
  background: #fff;
}

/* line 276, app/assets/stylesheets/ulrn.scss */
.ulrn-unit-head {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* line 280, app/assets/stylesheets/ulrn.scss */
.ulrn-unit-head .ulrn-unit-ops {
  margin-left: auto;
  white-space: nowrap;
}

/* line 282, app/assets/stylesheets/ulrn.scss */
.ulrn-bank-panel {
  margin-top: 8px;
  border-top: 2px solid #2c6e9e;
  padding-top: 8px;
}

/* line 286, app/assets/stylesheets/ulrn.scss */
.ulrn-bank-panel h3 {
  font-size: 14px;
  margin: 4px 0;
}

/* ── 歯式ビルダー ── */
/* line 290, app/assets/stylesheets/ulrn.scss */
.ulrn-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  z-index: 1000;
}

/* line 296, app/assets/stylesheets/ulrn.scss */
.ulrn-modal {
  background: #fff;
  border-radius: 6px;
  max-width: 640px;
  margin: 60px auto;
  padding: 16px 20px;
  box-shadow: 0 6px 30px rgba(0, 0, 0, 0.3);
}

/* line 303, app/assets/stylesheets/ulrn.scss */
.ulrn-modal h3 {
  margin-top: 0;
}

/* line 307, app/assets/stylesheets/ulrn.scss */
.ulrn-policy-modal {
  max-width: 480px;
}

/* line 309, app/assets/stylesheets/ulrn.scss */
.ulrn-policy-modal h3 {
  color: #8a5a00;
}

/* line 310, app/assets/stylesheets/ulrn.scss */
.ulrn-policy-modal .ulrn-policy-modal-q {
  margin: 14px 2px 4px;
  font-weight: 600;
}

/* line 312, app/assets/stylesheets/ulrn.scss */
.ulrn-policy-warns {
  list-style: none;
  margin: 14px 0 4px;
  padding: 0;
}

/* line 316, app/assets/stylesheets/ulrn.scss */
.ulrn-policy-warns li {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 10px;
  padding: 9px 12px;
  margin-bottom: 8px;
  background: #fffaf0;
  border: 1px solid #ecc879;
  border-left: 4px solid #e0a93a;
  border-radius: 6px;
}

/* line 328, app/assets/stylesheets/ulrn.scss */
.ulrn-policy-warns .ulrn-policy-warn-label {
  font-weight: 700;
  color: #8a5a00;
  min-width: 5em;
}

/* line 329, app/assets/stylesheets/ulrn.scss */
.ulrn-policy-warns .ulrn-policy-warn-val {
  color: #b5651d;
  font-weight: 700;
}

/* line 330, app/assets/stylesheets/ulrn.scss */
.ulrn-policy-warns .ulrn-policy-warn-want {
  color: #888;
  font-size: 12px;
  margin-left: auto;
}

/* line 332, app/assets/stylesheets/ulrn.scss */
.ulrn-policy-actions {
  margin-top: 16px;
}

/* line 333, app/assets/stylesheets/ulrn.scss */
.ulrn-btn-caution {
  background: #e0a93a;
  border-color: #c8902a;
  color: #fff;
}

/* line 337, app/assets/stylesheets/ulrn.scss */
.ulrn-btn-caution:hover {
  background: #c8902a;
}

/* line 339, app/assets/stylesheets/ulrn.scss */
.ulrn-shiki-grid {
  border-collapse: collapse;
  width: 100%;
  /* 正中線・咬合平面を太線で表現 */
}

/* line 342, app/assets/stylesheets/ulrn.scss */
.ulrn-shiki-grid td.ulrn-shiki-q {
  border: 1px solid #999;
  padding: 8px;
  width: 50%;
}

/* line 348, app/assets/stylesheets/ulrn.scss */
.ulrn-shiki-grid tr:first-child td {
  border-bottom: 2px solid #333;
}

/* line 349, app/assets/stylesheets/ulrn.scss */
.ulrn-shiki-grid td:first-child {
  border-right: 2px solid #333;
}

/* line 351, app/assets/stylesheets/ulrn.scss */
.ulrn-shiki-quad-label {
  font-size: 11px;
  color: #888;
  margin-bottom: 4px;
}

/* line 352, app/assets/stylesheets/ulrn.scss */
.ulrn-shiki-teeth {
  display: flex;
  gap: 2px;
  margin: 2px 0;
}

/* line 356, app/assets/stylesheets/ulrn.scss */
.ulrn-shiki-teeth button {
  flex: 1;
  padding: 4px 0;
  border: 1px solid #bbb;
  background: #f8f8f8;
  border-radius: 3px;
  cursor: pointer;
  font-size: 13px;
}

/* line 364, app/assets/stylesheets/ulrn.scss */
.ulrn-shiki-teeth button.on {
  background: #2c6e9e;
  border-color: #245a82;
  color: #fff;
  font-weight: bold;
}

/* line 367, app/assets/stylesheets/ulrn.scss */
.ulrn-shiki-nyushi button {
  font-size: 11px;
  padding: 2px 0;
  color: #777;
}

/* line 367, app/assets/stylesheets/ulrn.scss */
.ulrn-shiki-nyushi button.on {
  color: #fff;
}

/* line 368, app/assets/stylesheets/ulrn.scss */
.ulrn-shiki-opts {
  margin: 8px 0;
  font-size: 13px;
}

/* line 368, app/assets/stylesheets/ulrn.scss */
.ulrn-shiki-opts label {
  margin-right: 16px;
}

/* line 369, app/assets/stylesheets/ulrn.scss */
.ulrn-shiki-result {
  background: #f7f7f7;
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 8px;
  margin: 8px 0;
}

/* line 375, app/assets/stylesheets/ulrn.scss */
.ulrn-shiki-result code {
  background: #fff;
  border: 1px solid #ccc;
  padding: 2px 6px;
  border-radius: 3px;
}

/* line 376, app/assets/stylesheets/ulrn.scss */
.ulrn-shiki-result .ulrn-preview-label {
  display: inline;
  margin-left: 10px;
}

/* 国試検索: 登録済み / おすすめ セクションの区別 */
/* line 380, app/assets/stylesheets/ulrn.scss */
.ulrn-sec {
  margin: 22px 0;
}

/* line 381, app/assets/stylesheets/ulrn.scss */
.ulrn-sec-h {
  font-size: 16px;
  margin: 0 0 4px;
  padding-left: 8px;
  border-left: 5px solid #ccc;
  display: flex;
  align-items: center;
  gap: 8px;
}

/* line 385, app/assets/stylesheets/ulrn.scss */
.ulrn-sec-count {
  font-size: 12px;
  color: #666;
  font-weight: normal;
}

/* line 386, app/assets/stylesheets/ulrn.scss */
.ulrn-sec-note {
  font-size: 12px;
  color: #667;
  margin: 0 0 8px;
}

/* line 387, app/assets/stylesheets/ulrn.scss */
.ulrn-sec-tag {
  display: inline-block;
  font-size: 12px;
  font-weight: bold;
  color: #fff;
  padding: 2px 8px;
  border-radius: 10px;
}

/* line 391, app/assets/stylesheets/ulrn.scss */
.ulrn-tag-registered {
  background: #2c6e9e;
}

/* 登録済み = 青 */
/* line 392, app/assets/stylesheets/ulrn.scss */
.ulrn-tag-osusume {
  background: #d9822b;
}

/* おすすめ = 橙 */
/* line 393, app/assets/stylesheets/ulrn.scss */
.ulrn-sec-registered .ulrn-sec-h {
  border-left-color: #2c6e9e;
}

/* line 394, app/assets/stylesheets/ulrn.scss */
.ulrn-sec-osusume .ulrn-sec-h {
  border-left-color: #d9822b;
}

/* line 396, app/assets/stylesheets/ulrn.scss */
.ulrn-table-registered {
  border-top: 3px solid #2c6e9e;
}

/* line 396, app/assets/stylesheets/ulrn.scss */
.ulrn-table-registered th {
  background: #eef4f8;
}

/* line 397, app/assets/stylesheets/ulrn.scss */
.ulrn-table-osusume {
  border-top: 3px solid #d9822b;
}

/* line 397, app/assets/stylesheets/ulrn.scss */
.ulrn-table-osusume th {
  background: #fbf1e6;
}

/* line 399, app/assets/stylesheets/ulrn.scss */
.ulrn-regnum {
  font-family: monospace;
  font-weight: bold;
  color: #245a82;
  white-space: nowrap;
}

/* line 400, app/assets/stylesheets/ulrn.scss */
.ulrn-row-missing {
  background: #f7f7f7;
}

/* line 401, app/assets/stylesheets/ulrn.scss */
.ulrn-missing-note {
  color: #999;
  font-size: 12px;
}

/* line 403, app/assets/stylesheets/ulrn.scss */
.ulrn-empty-hint {
  color: #555;
  font-size: 13px;
  line-height: 1.6;
  background: #f7f9fb;
  border: 1px solid #dce6ee;
  border-radius: 4px;
  padding: 10px 12px;
  margin-top: 16px;
}

/* line 409, app/assets/stylesheets/ulrn.scss */
.ulrn-search-note {
  color: #555;
  font-size: 13px;
  margin: 8px 0 4px;
}

/* 紐づけ画面: 上部ヘッダ（問題バンクを右上に寄せる）と説明ボックス */
/* line 412, app/assets/stylesheets/ulrn.scss */
.ulrn-topbar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

/* line 413, app/assets/stylesheets/ulrn.scss */
.ulrn-topbar h1 {
  flex: 1;
  margin: 0;
}

/* line 414, app/assets/stylesheets/ulrn.scss */
.ulrn-topbar-right {
  flex: 0 0 auto;
  margin-top: 6px;
  white-space: nowrap;
}

/* line 416, app/assets/stylesheets/ulrn.scss */
.ulrn-help {
  background: #eef6fc;
  border: 1px solid #aac8de;
  border-left: 5px solid #2c6e9e;
  border-radius: 4px;
  padding: 10px 14px;
  margin: 10px 0 16px;
  font-size: 13px;
  line-height: 1.8;
  color: #333;
}

/* line 420, app/assets/stylesheets/ulrn.scss */
.ulrn-help strong {
  color: #245a82;
}

/* ← 科目選択へ（戻る）と 問題バンク（ナビ）の装飾 */
/* line 424, app/assets/stylesheets/ulrn.scss */
.ulrn-btn-back {
  background: #eef4f8;
  border-color: #aac8de;
  color: #245a82;
}

/* line 424, app/assets/stylesheets/ulrn.scss */
.ulrn-btn-back:hover {
  background: #dceaf4;
}

/* line 425, app/assets/stylesheets/ulrn.scss */
.ulrn-btn-bank {
  background: #5a4b8a;
  border-color: #4a3d73;
  color: #fff;
  font-weight: bold;
}

/* line 425, app/assets/stylesheets/ulrn.scss */
.ulrn-btn-bank:hover {
  background: #4a3d73;
}

/* 紐づけ画面: パンくず（科目選択 › ユニット情報 › 現在地） */
/* line 428, app/assets/stylesheets/ulrn.scss */
.ulrn-crumbs {
  font-size: 13px;
  margin: 2px 0 6px;
  color: #888;
}

/* line 430, app/assets/stylesheets/ulrn.scss */
.ulrn-crumbs .ulrn-crumb-link {
  color: #2c6e9e;
  text-decoration: none;
}

/* line 430, app/assets/stylesheets/ulrn.scss */
.ulrn-crumbs .ulrn-crumb-link:hover {
  text-decoration: underline;
}

/* line 431, app/assets/stylesheets/ulrn.scss */
.ulrn-crumbs .ulrn-crumb-sep {
  margin: 0 8px;
  color: #aaa;
}

/* line 432, app/assets/stylesheets/ulrn.scss */
.ulrn-crumbs .ulrn-crumb-current {
  color: #333;
  font-weight: bold;
}

/* 国試検索:「1つ選べ」に絞るチェックボックス */
/* line 436, app/assets/stylesheets/ulrn.scss */
.ulrn-single-filter {
  margin: 6px 0 12px;
  font-size: 13px;
}

/* line 438, app/assets/stylesheets/ulrn.scss */
.ulrn-single-filter label {
  cursor: pointer;
  font-weight: bold;
  color: #245a82;
}

/* line 439, app/assets/stylesheets/ulrn.scss */
.ulrn-single-filter input {
  vertical-align: middle;
  margin-right: 4px;
}

/* line 440, app/assets/stylesheets/ulrn.scss */
.ulrn-single-filter .ulrn-single-note {
  color: #888;
  font-weight: normal;
  font-size: 12px;
  margin-left: 6px;
}

/* line 442, app/assets/stylesheets/ulrn.scss */
.js-q-empty td {
  color: #999;
  font-style: italic;
}

/* ── unit_edit 画面: ユニットに紐づく学習用問題の概要 ── */
/* line 445, app/assets/stylesheets/ulrn.scss */
.ulrn-unit-summary {
  margin: 2px 0 14px;
  padding-left: 4px;
}

/* line 449, app/assets/stylesheets/ulrn.scss */
.ulrn-unit-summary .ulrn-unit-none {
  font-size: 12px;
  color: #888;
}

/* line 453, app/assets/stylesheets/ulrn.scss */
.ulrn-unit-details > summary {
  cursor: pointer;
  display: inline-block;
  font-size: 13px;
  color: #2563eb;
  padding: 3px 8px;
  background: #eef4ff;
  border: 1px solid #cfe0ff;
  border-radius: 4px;
  user-select: none;
}

/* line 464, app/assets/stylesheets/ulrn.scss */
.ulrn-unit-details[open] > summary {
  margin-bottom: 6px;
}

/* line 467, app/assets/stylesheets/ulrn.scss */
.ulrn-unit-details > summary strong {
  color: #1d4ed8;
}

/* line 468, app/assets/stylesheets/ulrn.scss */
.ulrn-summary-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
  margin: 4px 0;
}

/* line 474, app/assets/stylesheets/ulrn.scss */
.ulrn-summary-table th,
.ulrn-summary-table td {
  border: 1px solid #e2e2e2;
  padding: 4px 6px;
  vertical-align: middle;
}

/* line 480, app/assets/stylesheets/ulrn.scss */
.ulrn-summary-table thead th {
  background: #f5f7fa;
  font-weight: bold;
  white-space: nowrap;
}

/* line 485, app/assets/stylesheets/ulrn.scss */
.ulrn-summary-table td.center {
  text-align: center;
  white-space: nowrap;
}

/* line 486, app/assets/stylesheets/ulrn.scss */
.ulrn-summary-missing {
  color: #b91c1c;
  font-style: italic;
}

/* line 487, app/assets/stylesheets/ulrn.scss */
.ulrn-status {
  display: inline-block;
  padding: 1px 7px;
  border-radius: 10px;
  font-size: 11px;
}

/* line 493, app/assets/stylesheets/ulrn.scss */
.ulrn-status-published {
  background: #dcfce7;
  color: #166534;
}

/* line 494, app/assets/stylesheets/ulrn.scss */
.ulrn-status-draft {
  background: #fef3c7;
  color: #92400e;
}

/* line 495, app/assets/stylesheets/ulrn.scss */
.ulrn-summary-edit {
  color: #2563eb;
}

/* line 496, app/assets/stylesheets/ulrn.scss */
.ulrn-summary-manage {
  display: inline-block;
  margin-top: 4px;
  font-size: 12px;
  color: #2563eb;
}

/* 作問方針バナーの補足（下書きなら緩和される旨） */
/* line 504, app/assets/stylesheets/ulrn.scss */
.ulrn-policy-sub {
  margin-top: 6px;
  font-size: 12px;
  color: #555;
}
/*
 * This is a manifest file that'll be compiled into application.css, which will include all the files
 * listed below.
 *
 * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
 * or any plugin's vendor/assets/stylesheets directory can be referenced here using a relative path.
 *
 * You're free to add application-wide styles to this file and they'll appear at the bottom of the
 * compiled file so the styles you add here take precedence over styles defined in any styles
 * defined in the other CSS/SCSS files in this directory. It is generally better to create a new
 * file per style scope.
 *


 */


/*# sourceMappingURL=application.css-29e1d525c5266ebd14169257600d7b85e85936b125766cbb3a6f537eceb6b9b1.map */
