/******************
    User custom CSS
    ---------------

    In this file you can add your own custom CSS
    It will be loaded last, so you can override any other property.
    Also, it will never be updated. So if you inheritate a core template and just add here some CSS, you'll still benefit of all the updates
*/

/* 1. 自動アスタリスク(*)を非表示 */
.asterisk {
    display: none !important;
}

/* 2. 「回答を1つ選択」などの自動ヘルプ文言を非表示 */
.ls-question-message {
    display: none !important;
}

/* 3. 必須質問の質問文の後に「【必ず回答】」を赤字で表示 */
.question-container.mandatory .question-title-container::after {
    content: "【必ず回答】";
    color: #c00000;
    font-weight: bold;
    display: block;
    margin-top: 0.4em;
    font-size: 0.95em;
}
/* 質問文のフォントを選択肢と揃える(明朝→ゴシック)、サイズも本文に合わせる */
.question-title-container,
.question-title-container * {
    font-family: inherit !important;
    font-size: 1rem !important;
    font-weight: normal !important;
}

/* 【必ず回答】のフォントサイズを小さく */
.question-container.mandatory .question-title-container::after {
    font-size: 0.8em;
}

/* 選択肢の行間(縦の間隔)を詰める */
.answer-item,
.ls-answers .answer-item {
    margin-top: 0.15rem !important;
    margin-bottom: 0.15rem !important;
}
/* 選択肢の文字サイズを小さく */
.answer-item label,
.ls-answers .answer-item label,
.answer-item {
    font-size: 1rem !important;
}
/* 短文自由記述（その他の記述欄など）全般に適用 */

/* バリデーションコンテナの余白を除去（空のとき間隔を作らない） */
.question-container .question-valid-container {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* 入力欄の幅を調整 */
.text-short input[type="text"],
.text-short input.form-control {
    max-width: 400px !important;
}
/* ===== ようこそ画面 ===== */
.survey-welcome {
  line-height: 1.8;
}
.survey-welcome .sw-title {
  text-align: center;
  font-size: 1.4rem;
  font-weight: normal;
  margin: 0.5em 0 1.5em;
  letter-spacing: 0.1em;
}
.survey-welcome p {
  text-indent: 0;
  margin: 0 0 1em;
}
.survey-welcome .sw-deadline {
  color: #c00000;
  text-decoration: underline;
}
.survey-welcome .sw-box {
  background: #f5f7fa;
  border-left: 4px solid #6c7a89;
  padding: 1em 1.2em;
  margin: 1.5em 0;
}
.survey-welcome .sw-box-title {
  font-size: 1rem;
  font-weight: bold;
  margin: 0 0 0.6em;
}
.survey-welcome .sw-list {
  margin: 0;
  padding-left: 1.3em;
}
.survey-welcome .sw-list li {
  margin-bottom: 0.5em;
}
.survey-welcome .sw-list li:last-child {
  margin-bottom: 0;
}
.survey-welcome .sw-contact-body {
  margin: 0;
}
.survey-welcome .sw-consent {
  margin-top: 1.5em;
  font-weight: bold;
}

/* スマホ */
@media (max-width: 600px) {
  .survey-welcome { line-height: 1.7; }
  .survey-welcome .sw-title {
    font-size: 1.15rem;
    letter-spacing: 0.05em;
    margin-bottom: 1.2em;
  }
  .survey-welcome .sw-box { padding: 0.8em 1em; }
}