@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/


/* =========================
   Tutor LMS コンテンツ共通
   親クラス：tutor-container
========================= */

.single-lesson .tutor-container {
  color: #222;
  line-height: 1.9;
}

/* =========================
   見出し
========================= */

.single-lesson .tutor-container h2 {
  font-size: 24px;
  font-weight: 700;
  margin: 56px 0 20px;
  padding-left: 14px;
  border-left: 5px solid #2b6cb0;
  line-height: 1.5;
	text-align: left;
}



.single-lesson .tutor-container h3 {
    border-bottom: solid 3px #cce4ff;
    position: relative;
    margin: 30px 0;
    font-size: 20px;
}

.single-lesson .tutor-container h3:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #5472cd;
  bottom: -3px;
  width: 20%;
}


/* =========================
   本文テキスト
========================= */

.single-lesson .tutor-container p {
  margin: 0 0 18px;
  font-size: 16px;
}

.single-lesson .tutor-container span {
font-size: 16px;
    display: inline-block;
    margin-bottom: 10px;}

/* 強調（strong） */
.single-lesson .tutor-container strong {
  font-weight: 700;
  color: brown;
  padding: 0 2px;
}

/* =========================
   リスト
========================= */

.single-lesson .tutor-container ul,
.single-lesson .tutor-container ol {
  margin: 20px 0 28px 28px;
  background: #f1f8ff;
  box-shadow: 0px 0px 0px 10px #f1f8ff;/*線の外側*/
  border: dashed 2px #668ad8;/*破線*/
  border-radius: 9px;
  margin-left: 10px;/*はみ出ないように調整*/
  margin-right: 10px;/*はみ出ないように調整*/
  padding: 0.5em 0.5em 0.5em 2em;
margin-top: 40px
}

.single-lesson .tutor-container li span {
	display: initial;
}

.single-lesson .tutor-container li {
  margin-bottom: 12px;
  line-height: 1.5;
  font-size: 16px;
	list-style: initial;
}
}

.single-lesson .tutor-container ol li {
  padding-left: 4px;
}

/* =========================
   区切り・余白調整
========================= */

.single-lesson .tutor-container hr {
  margin: 48px 0;
  border: none;
  border-top: 1px solid #e2e8f0;
}

/* =========================
   スマホ対応（レスポンシブ）
========================= */

@media screen and (max-width: 768px) {
.single-lesson   .tutor-container {
    padding: 20px 16px 48px;
  }

 .single-lesson  .tutor-container h2 {
    font-size: 20px;
    margin: 40px 0 16px;
  }

 .single-lesson  .tutor-container h3 {
    font-size: 18px;
    margin: 28px 0 14px;
  }

  .single-lesson .tutor-container p,
 .single-lesson  .tutor-container span,
 .single-lesson  .tutor-container li {
    font-size: 15px;
  }

 .single-lesson .single-lesson  .tutor-container ul,
 .single-lesson  .tutor-container ol {
    margin-left: 22px;
  }
}

/* =========================
   さらに小さい画面
========================= */

@media screen and (max-width: 480px) {
 .single-lesson  .tutor-container h2 {
    font-size: 18px;
  }

.single-lesson   .tutor-container h3 {
    font-size: 16px;
  }

 .single-lesson  .tutor-container p,
 .single-lesson  .tutor-container span,
 .single-lesson  .tutor-container li {
    font-size: 14.5px;
    line-height: 1.85;
  }
}


/* =====================
   クイズ全体（上書き）
===================== */
#quiz {
  max-width: 800px;
  margin: 40px auto;
  padding: 0;
  line-height: 1.7;
}

/* =====================
   クイズカード（上書き）
===================== */
.quiz-card {
  background: #ffffff;
  padding: 32px;              /* ← 全体の余白を広めに */
  border-radius: 8px;
  box-shadow: 0 0 0 1px #e5e7eb;
  margin-bottom: 40px;        /* ← カード下の余白 */
}

/* =====================
   タイマー
===================== */
#timer {
  text-align: right;
  font-weight: bold;
  color: #b00020;
  margin-bottom: 16px;
}

/* =====================
   見出し
===================== */
.quiz-card h3 {
  margin-bottom: 16px;
  font-size: 20px;
}

/* =====================
   回答方法・問題文
===================== */
.howto {
  margin-bottom: 12px;
  color: #1d2327;
}

.question {
  margin-bottom: 24px;        /* ← 問題文と回答欄の間 */
  font-size: 16px;
}

/* =====================
   選択肢エリア（上書き）
===================== */
#choices {
  margin-bottom: 32px;        /* ← 回答とボタンを離す */
}

#choices label {
  display: block;
  padding: 12px 14px;
  margin-bottom: 12px;
  border: 1px solid #ddd;
  border-radius: 4px;
  background: #fff;
}

#choices input {
  margin-right: 8px;
}

/* =====================
   並び替え・マッチング
===================== */
.order-row,
.match-row {
  margin-bottom: 16px;
}

/* =====================
   記述式エリア（重要）
===================== */
.essay-area {
  margin-bottom: 40px;        /* ← 回答欄とボタンの距離 */
}

textarea {
  width: 100%;
  min-height: 240px;
  padding: 14px;
  font-size: 15px;
  border-radius: 4px;
  border: 1px solid #ccc;
  margin-bottom: 10px;        /* ← 文字数表示との余白 */
}

#count {
  text-align: right;
  font-size: 13px;
  color: #555;
}

/* =====================
   ナビゲーションボタン（上書き）
===================== */
.nav-buttons {
  display: flex;
  gap: 16px;
  margin-top: 24px;           /* ← 回答欄から離す */
}

.nav-buttons button {
  padding: 12px 24px;
  font-size: 14px;
  border-radius: 4px;
}

/* =====================
   終了画面
===================== */
.final-score {
  font-size: 18px;
  font-weight: bold;
  margin-top: 24px;
}

/* =====================
   スマホ対応
===================== */
@media (max-width: 600px) {
  .quiz-card {
    padding: 20px;
  }

  .nav-buttons {
    flex-direction: column;
  }

  .nav-buttons button {
    width: 100%;
  }
}



/* ===== 提出確認 回答一覧 ===== */

.summary-wrap {
    overflow-x: auto;
    margin-top: 20px;
}

.summary-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.summary-table th,
.summary-table td {
    border: 1px solid #ccc;
    padding: 8px;
    vertical-align: top;
	min-width: 10%;
}

.summary-table th {
    background: #f5f5f5;
    text-align: left;
    white-space: nowrap;
}

/* モバイル対応 */
@media (max-width: 600px) {
    .summary-table {
        font-size: 13px;
    }

    .summary-table th,
    .summary-table td {
        padding: 6px;
    }

    .summary-table td {
        word-break: break-word;
    }
}

/* ボタン周り */
.nav-buttons {
    margin-top: 20px;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}


.result-complete {
    max-width: 600px;
    margin: 0 auto;
    text-align: left;
}

.result-complete h2 {
    text-align: center;
}

.result-notice {
    padding-left: 1.2em;
    margin-top: 10px;
}

.result-notice li {
    margin-bottom: 6px;
}

.result-actions {
    text-align: center;
    margin-top: 25px;
}

.back-course-btn {
    display: inline-block;
    padding: 12px 20px;
    background: #0073aa;
    color: #fff;
    text-decoration: none;
    border-radius: 4px;
}

.back-course-btn:hover {
    background: #005f8d;
}


.question-title {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 8px;
}

.question-instruction {
    font-size: 14px;
    color: #555;
    background: #f7f7f7;
    padding: 8px 10px;
    border-left: 4px solid #0073aa;
    margin-bottom: 15px;
}


.courses-template-default .tutor-lms .l-sidebar {
	display: none;
}

.tutor-course-details-top {
	display: none;
}

#licfia2025 header.tutor-course-details-header {
	height: initial;
}

.tutor-alert.tutor-warning {
	display: none;
}

.tutor-course-details-instructors {
	display: none;
}

.tutor-meta.tutor-mt-auto {
	display: none;
}

.tutor-table tr th:nth-child(2),
.tutor-table tr th:nth-child(3),
.tutor-table tr th:nth-child(4),
.tutor-table tr th:nth-child(5) {
	display: none;
}


.tutor-table tr td:nth-child(2),
.tutor-table tr td:nth-child(3),
.tutor-table tr td:nth-child(4),
.tutor-table tr td:nth-child(5) {
	display: none;
}


.tutor-table.tutor-quiz-attempt-details tr th:nth-child(3),
.tutor-table.tutor-quiz-attempt-details tr th:nth-child(4),
.tutor-table.tutor-quiz-attempt-details tr th:nth-child(5) {
	display: block;
}

.tutor-table.tutor-quiz-attempt-details tr td:nth-child(3),
.tutor-table.tutor-quiz-attempt-details tr td:nth-child(4),
.tutor-table.tutor-quiz-attempt-details tr td:nth-child(5) {
	display: block;
}

.tutor-table.tutor-quiz-attempt-details.tutor-mb-32.tutor-table-data-td-target .questions span {
	font-weight: bold;
}



.tutor-quiz-result-summary .tutor-d-flex.tutor-gap-1:nth-child(3) {
	display: none !important;
} 

.tutor-quiz-info:nth-child(3) {
	display: none;
}

.skip-quiz-btn {
	display: none;
}

.tutor-ml-32.tutor-btn.tutor-btn-ghost.tutor-btn-md.tutor-next-btn.tutor-quiz-answer-next-btn.tutor-ml-auto {
	display: none;
}

.tutor-ml-32.tutor-btn.tutor-btn-ghost.tutor-btn-md.tutor-next-btn.tutor-quiz-submit-btn.tutor-ml-auto {
	display: none;
}

.tutor-table.tutor-quiz-attempt-details td[data-title="不正解"] {
	display: none;
  }

.tutor-table-responsive.tutor-table-mobile.tutor-mb-32  .tutor-table.tutor-quiz-attempt-details th:nth-child(6) {
	display: none;
  }

.tutor-table.tutor-quiz-attempt-details.tutor-mb-32.tutor-table-data-td-target th:nth-child(6) {
	display: none;
}
	
.quiz-total-attempt.tutor-d-flex.d-xs-none {
	display:none !important;
}

.tutor-quiz-answer-status-correct .result {
	border: none;
}

.tutor-table tr td.result:last-child {
	border: none;
}
